aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar jesopo2018-10-07 08:01:54 +0100
committerGravatar jesopo2018-10-07 08:01:54 +0100
commita77a985d5d270b8c09fb3bc7a008d6262d29b5a2 (patch)
tree14020b0b6b0692916fe6adb2c77a2675c8edf876 /src
parentSocket on_read functions take 2 args (socket, string) (diff)
signature
Optionally take a function in IRCBot.trigger, a function to be called on the
main thread
Diffstat (limited to 'src')
-rw-r--r--src/IRCBot.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/IRCBot.py b/src/IRCBot.py
index 629f021c..b90825a7 100644
--- a/src/IRCBot.py
+++ b/src/IRCBot.py
@@ -26,7 +26,11 @@ class Bot(object):
self._trigger_server, self._trigger_client = socket.socketpair()
self.add_socket(Socket.Socket(self._trigger_server, lambda _, s: None))
- def trigger(self):
+ self._trigger_functions = []
+
+ def trigger(self, func=None):
+ if func:
+ self._trigger_functions.append(func)
self._trigger_client.send(b"TRIGGER")
def add_server(self, server_id, connect=True):
@@ -143,6 +147,9 @@ class Bot(object):
self.timers.call()
self.cache.expire()
+ for func in self._trigger_functions:
+ func()
+
for fd, event in events:
sock = None
irc = False