Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/purk/irc.py
diff options
context:
space:
mode:
Diffstat (limited to 'purk/irc.py')
-rw-r--r--purk/irc.py37
1 files changed, 29 insertions, 8 deletions
diff --git a/purk/irc.py b/purk/irc.py
index edd8a4b..f5bc6bd 100644
--- a/purk/irc.py
+++ b/purk/irc.py
@@ -295,18 +295,39 @@ class Network(object):
def msg(self, target, msg):
self.raw("PRIVMSG %s :%s" % (target, msg))
- self.events.trigger(
- 'OwnText', source=self.me, target=str(target), text=msg,
- network=self, window=windows.get_default(self, self.manager)
- )
+
+ if len(msg) > 8 and msg[0:7] == "\x01ACTION":
+ self.events.trigger(
+ 'OwnAction', source=self.me, target=str(target),
+ text=msg[8:-1],
+ network=self, window=windows.get_default(self, self.manager)
+ )
+ elif len(msg) > 1 and msg[0:1] == "\x01":
+ self.events.trigger(
+ 'OwnCtcp', source=self.me, target=str(target),
+ text=msg[1:-1],
+ network=self, window=windows.get_default(self, self.manager)
+ )
+ else:
+ self.events.trigger(
+ 'OwnText', source=self.me, target=str(target), text=msg,
+ network=self, window=windows.get_default(self, self.manager)
+ )
def notice(self, target, msg):
self.raw("NOTICE %s :%s" % (target, msg))
- self.events.trigger(
- 'OwnNotice', source=self.me, target=str(target), text=msg,
- network=self, window=windows.get_default(self)
- )
+ if len(msg) > 1 and msg[0:1] == "\x01":
+ self.events.trigger(
+ 'OwnCtcpReply', source=self.me, target=str(target),
+ text=msg[1:-1],
+ network=self, window=windows.get_default(self, self.manager)
+ )
+ else:
+ self.events.trigger(
+ 'OwnNotice', source=self.me, target=str(target), text=msg,
+ network=self, window=windows.get_default(self)
+ )
#a Network that is never connected
class DummyNetwork(Network):