summaryrefslogtreecommitdiff
path: root/demonetarisiert/irc.py
diff options
context:
space:
mode:
Diffstat (limited to 'demonetarisiert/irc.py')
-rw-r--r--demonetarisiert/irc.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/demonetarisiert/irc.py b/demonetarisiert/irc.py
new file mode 100644
index 0000000..b1c24ad
--- /dev/null
+++ b/demonetarisiert/irc.py
@@ -0,0 +1,39 @@
+from threading import Event as TEvent
+
+from irc.client import SimpleIRCClient, ServerConnection, Event
+
+from .config import config
+
+SERVER = "irc.chat.twitch.tv"
+PORT = 6667
+CHANNEL = "#" + config.channel
+NICK = config.name
+
+
+class Client(SimpleIRCClient):
+ def __init__(self):
+ super().__init__()
+ self.ready = TEvent()
+
+ def setup(self):
+ self.connect(SERVER, PORT, NICK, password=config.password)
+ self.start()
+
+ def on_endofmotd(self, conn: ServerConnection, event: Event):
+ print('Well, we are done here.')
+ conn.join(CHANNEL)
+
+ def on_motd(self, conn: ServerConnection, event: Event):
+ print("Motd: " + event.arguments[0])
+
+ def on_pubmsg(self, conn: ServerConnection, event: Event):
+ if event.arguments[0] == 'test123':
+ conn.privmsg(CHANNEL, '#familyfriendly, bitte!')
+
+ def on_endofnames(self, conn: ServerConnection, event: Event):
+ self.ready.set()
+
+ def _dispatcher(self, conn: ServerConnection, event: Event):
+ if event.type != 'all_raw_messages':
+ print(event)
+ super(Client, self)._dispatcher(conn, event)