|
|
@@ -9,6 +9,16 @@ import events.on_welcome, events.on_join, events.on_kick, events.on_mode, events
|
|
|
from common import log
|
|
|
from common.networkservices import NickServ
|
|
|
|
|
|
+bold = "\x02"
|
|
|
+italic = "\x1D"
|
|
|
+underline = "\x1F"
|
|
|
+reverse = "\x16" # swap background and foreground colors ("reverse video")
|
|
|
+reset = "\x0F"
|
|
|
+blue = "\x0302"
|
|
|
+green = "\x0303"
|
|
|
+red = "\x0304"
|
|
|
+grey = "\x0314"
|
|
|
+
|
|
|
class PyRot(irc.bot.SingleServerIRCBot):
|
|
|
def __init__(self, network, db, homechannel, nickname, username, password, host, port=6667, usessl=False, cmdchar="!", helpchar="@"):
|
|
|
self.network = network
|
|
|
@@ -70,6 +80,8 @@ class PyRot(irc.bot.SingleServerIRCBot):
|
|
|
|
|
|
def on_invite(self, connection, event):
|
|
|
log.info(event)
|
|
|
+ if event.target == connection.get_nickname(): # Bot invited.
|
|
|
+ connection.privmsg(self.homechannel, "Received invite to " + red + event.arguments[0] + reset + " from " + red + event.source.nick + reset + ".")
|
|
|
|
|
|
def on_topic(self, connection, event):
|
|
|
log.info(event)
|
|
|
@@ -90,6 +102,10 @@ class PyRot(irc.bot.SingleServerIRCBot):
|
|
|
|
|
|
def on_pubnotice(self, connection, event):
|
|
|
log.info(event)
|
|
|
+ # Save statistic to database.
|
|
|
+ if not self.db.one("SELECT id FROM \"users\" WHERE name='" + event.source.nick + "' AND network='" + self.network + "'"): # Not on record.
|
|
|
+ self.db.run("INSERT INTO \"users\" (name, network) VALUES ('" + event.source.nick + "', '" + self.network + "')") # Create record.
|
|
|
+ self.db.run("UPDATE \"users\" SET messages=messages+1 WHERE name='" + event.source.nick + "' AND network='" + self.network + "'") # Increment record.
|
|
|
|
|
|
def on_privnotice(self, connection, event):
|
|
|
log.info(event)
|