diff options
| author | 2018-07-15 14:14:20 +0100 | |
|---|---|---|
| committer | 2018-07-15 14:14:20 +0100 | |
| commit | 01f9f51ef272c468df641729b0cdce2b197a370b (patch) | |
| tree | 584be2ac848980687b07f024d67da44503e21546 | |
| parent | Send events when BitBot sends a PRIVMSG (diff) | |
| signature | ||
print_messages->print_activity, print more things!
| -rw-r--r-- | modules/print_activity.py | 83 | ||||
| -rw-r--r-- | modules/print_messages.py | 36 |
2 files changed, 83 insertions, 36 deletions
diff --git a/modules/print_activity.py b/modules/print_activity.py new file mode 100644 index 00000000..747d732f --- /dev/null +++ b/modules/print_activity.py @@ -0,0 +1,83 @@ +import datetime +import EventManager + +class Module(object): + def __init__(self, bot): + self.bot = bot + + bot.events.on("received").on("message").on("channel").hook( + self.channel_message, + priority=EventManager.EventCallback.PRIORITY_HIGH) + bot.events.on("self").on("message").on("channel").hook( + self.self_channel_message) + + bot.events.on("received").on("join").hook(self.join) + bot.events.on("self").on("join").hook(self.self_join) + + bot.events.on("received").on("part").hook(self.part) + bot.events.on("self").on("part").hook(self.self_part) + + bot.events.on("received").on("nick").hook(self.on_nick) + bot.events.on("self").on("nick").hook(self.on_nick) + + bot.events.on("received").on("quit").hook(self.on_quit) + + bot.events.on("received").on("kick").hook(self.kick) + bot.events.on("self").on("kick").hook(self.self_kick) + + def print_line(self, event, line): + timestamp = datetime.datetime.now().isoformat() + target = str(event["server"]) + if "channel" in event: + target += event["channel"].name + print("[%s] %s | %s" % (timestamp, target, line)) + + def _on_message(self, event, nickname): + if not self.bot.args.verbose: + if event["action"]: + self.print_line(event, "* %s %s" % (nickname, event["message"])) + else: + self.print_line(event, "<%s> %s" % (nickname, event["message"])) + def channel_message(self, event): + self._on_message(event, event["user"].nickname) + def self_channel_message(self, event): + self._on_message(event, event["server"].nickname) + + def _on_join(self, event, nickname): + if not self.bot.args.verbose: + self.print_line(event, "%s joined %s" % (nickname, + event["channel"].name)) + def join(self, event): + self._on_join(event, event["user"].nickname) + def self_join(self, event): + self._on_join(event, event["server"].nickname) + + def _on_part(self, event, nickname): + if not self.bot.args.verbose: + self.print_line(event, "%s left %s%s" % (nickname, + event["channel"].name, "" if not event[ + "reason"] else ": %s" % event["reason"])) + def part(self, event): + self._on_part(event, event["user"].nickname) + def self_part(self, event): + self._on_part(event, event["server"].nickname) + + def on_nick(self, event): + if not self.bot.args.verbose: + self.print_line(event, "%s changed nickname to %s" % ( + event["old_nickname"], event["new_nickname"])) + + def on_quit(self, event): + if not self.bot.args.verbose: + self.print_line(event, "%s quit" % event["user"].nickname) + + def _on_kick(self, event, nickname): + if not self.bot.args.verbose: + self.print_line(event, "%s kicked %s from %s%s" % ( + event["user"].nickname, nickname, event["channel"].name, + " (%s)" % event["reason"] if event[ + "reason"] else "")) + def kick(self, event): + self._on_kick(event, event["target_user"].nickname) + def self_kick(self, event): + self._on_kick(event, event["server"].nickname) diff --git a/modules/print_messages.py b/modules/print_messages.py deleted file mode 100644 index bc40a8e5..00000000 --- a/modules/print_messages.py +++ /dev/null @@ -1,36 +0,0 @@ -import datetime - -class Module(object): - def __init__(self, bot): - self.bot = bot - bot.events.on("received").on("message").on("channel").hook( - self.on_message) - bot.events.on("received").on("join").hook(self.on_join) - bot.events.on("received").on("part").hook(self.on_part) - bot.events.on("received").on("quit").hook(self.on_quit) - bot.events.on("received").on("nick").hook(self.on_nick) - - def print_line(self, event, line): - timestamp = datetime.datetime.now().isoformat() - target = str(event["server"]) - if "channel" in event: - target += event["channel"].name - print("[%s] %s | %s" % (timestamp, target, line)) - def on_message(self, event): - if not self.bot.args.verbose: - if event["action"]: - self.print_line(event, "* %s %s" % (event["user"].nickname, event["message"])) - else: - self.print_line(event, "<%s> %s" % (event["user"].nickname, event["message"])) - def on_join(self, event): - if not self.bot.args.verbose: - self.print_line(event, "%s joined %s" % (event["user"].nickname, event["channel"].name)) - def on_part(self, event): - if not self.bot.args.verbose: - self.print_line(event, "%s left %s%s" % (event["user"].nickname, event["channel"].name, "" if not event["reason"] else ": %s" % event["reason"])) - def on_quit(self, event): - if not self.bot.args.verbose: - self.print_line(event, "%s quit" % event["user"].nickname) - def on_nick(self, event): - if not self.bot.args.verbose: - self.print_line(event, "%s changed nickname to %s" % (event["old_nickname"], event["new_nickname"])) |
