From 3ed2869a2f5474cb57fb9c13faadabe6363b89d8 Mon Sep 17 00:00:00 2001 From: AZ Huang Date: Mon, 23 Dec 2013 00:33:15 +0800 Subject: [PATCH] Add action support. --- tox-irc-sync.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/tox-irc-sync.py b/tox-irc-sync.py index c852cc3..0b17e79 100644 --- a/tox-irc-sync.py +++ b/tox-irc-sync.py @@ -91,10 +91,17 @@ class SyncBot(Tox): if rx: print('IRC> %s: %s' % rx.groups()) msg = '%s> %s' % rx.groups() + content = rx.group(2) - if rx.group(2) == '^syncbot': + if content == '^syncbot': self.irc.send('PRIVMSG %s :%s\r\n' % (CHANNEL, self.get_address())) + elif content[1:].startswith('ACTION '): + action = '%s> %s' % (rx.group(1), + rx.group(2)[8:-1]) + self.sent = action + self.ensure_exe(self.group_action_send, + (self.tox_group_id, action)) elif self.tox_group_id != None: self.sent = msg self.ensure_exe(self.group_message_send, @@ -127,6 +134,13 @@ class SyncBot(Tox): print('TOX> %s: %s' % (name, message)) self.irc.send('PRIVMSG %s :%s> %s\r\n' % (CHANNEL, name, message)) + def on_group_action(self, groupnumber, friendgroupnumber, action): + if action != self.sent: + name = self.group_peername(groupnumber, friendgroupnumber) + print('TOX> %s: %s' % (name, action)) + self.irc.send('PRIVMSG %s :\x01ACTION %s> %s\x01\r\n' % + (CHANNEL, name, action)) + def on_friend_request(self, pk, message): print('Friend request from %s: %s' % (pk, message)) self.add_friend_norequest(pk)