diff options
| author | 2018-10-07 08:01:54 +0100 | |
|---|---|---|
| committer | 2018-10-07 08:01:54 +0100 | |
| commit | a77a985d5d270b8c09fb3bc7a008d6262d29b5a2 (patch) | |
| tree | 14020b0b6b0692916fe6adb2c77a2675c8edf876 | |
| parent | Socket 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
| -rw-r--r-- | src/IRCBot.py | 9 |
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 |
