aboutsummaryrefslogtreecommitdiff
path: root/modules/line_handler/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'modules/line_handler/__init__.py')
-rw-r--r--modules/line_handler/__init__.py260
1 files changed, 0 insertions, 260 deletions
diff --git a/modules/line_handler/__init__.py b/modules/line_handler/__init__.py
deleted file mode 100644
index ddea6fdc..00000000
--- a/modules/line_handler/__init__.py
+++ /dev/null
@@ -1,260 +0,0 @@
-import enum
-from src import EventManager, IRCLine, ModuleManager, utils
-from . import channel, core, ircv3, message, user
-
-class Module(ModuleManager.BaseModule):
- def _handle(self, server, line):
- hooks = self.events.on("raw.received").on(line.command).get_hooks()
- default_events = []
- for hook in hooks:
- default_events.append(hook.get_kwarg("default_event", False))
-
- kwargs = {"server": server, "line": line,
- "direction": utils.Direction.Recv}
-
- self.events.on("raw.received").on(line.command).call_unsafe(**kwargs)
- if any(default_events) or not hooks:
- self.events.on("received").on(line.command).call(**kwargs)
-
- @utils.hook("raw.received")
- def handle_raw(self, event):
- if ("batch" in event["line"].tags and
- event["line"].tags["batch"] in event["server"].batches):
- event["server"].batches[event["line"].tags["batch"]].add_line(
- event["line"])
- else:
- self._handle(event["server"], event["line"])
-
- @utils.hook("raw.send")
- def handle_send(self, event):
- self.events.on("raw.send").on(event["line"].command).call_unsafe(
- server=event["server"], direction=utils.Direction.Send,
- line=event["line"])
-
- # ping from the server
- @utils.hook("raw.received.ping")
- def ping(self, event):
- core.ping(event)
-
- @utils.hook("raw.received.error")
- def error(self, event):
- self.log.error("ERROR received from %s: %s",
- [str(event["server"]), event["line"].args[0]])
- @utils.hook("raw.received.fail")
- def fail(self, event):
- command = event["line"].args[0]
- error_code = event["line"].args[1]
- context = event["line"].args[2:-1]
- description = event["line"].args[-1]
-
- self.log.warn("FAIL (%s %s) received on %s: %s",
- [command, error_code, str(event["server"]), description])
- self.events.on("received.fail").on(command).call(error_code=error_code,
- context=context, description=description, server=event["server"])
-
- # first numeric line the server sends
- @utils.hook("raw.received.001", default_event=True)
- def handle_001(self, event):
- core.handle_001(event)
-
- # server telling us what it supports
- @utils.hook("raw.received.005")
- def handle_005(self, event):
- core.handle_005(self.events, event)
-
- # RPL_MYINFO
- @utils.hook("raw.received.004")
- def handle_004(self, event):
- core.handle_004(event)
-
- # whois respose (nickname, username, realname, hostname)
- @utils.hook("raw.received.311", default_event=True)
- def handle_311(self, event):
- user.handle_311(event)
-
- # on-join channel topic line
- @utils.hook("raw.received.332")
- def handle_332(self, event):
- channel.handle_332(self.events, event)
-
- # channel topic changed
- @utils.hook("raw.received.topic")
- def topic(self, event):
- channel.topic(self.events, event)
-
- # on-join channel topic set by/at
- @utils.hook("raw.received.333")
- def handle_333(self, event):
- channel.handle_333(self.events, event)
-
- # /names response, also on-join user list
- @utils.hook("raw.received.353", default_event=True)
- def handle_353(self, event):
- channel.handle_353(event)
-
- # on-join user list has finished
- @utils.hook("raw.received.366", default_event=True)
- def handle_366(self, event):
- channel.handle_366(event)
-
- @utils.hook("raw.received.375", priority=EventManager.PRIORITY_HIGH)
- def motd_start(self, event):
- core.motd_start(event)
-
- @utils.hook("raw.received.372")
- @utils.hook("raw.received.375")
- def motd_line(self, event):
- core.motd_line(event)
-
- # on user joining channel
- @utils.hook("raw.received.join")
- def join(self, event):
- channel.join(self.events, event)
-
- # on user parting channel
- @utils.hook("raw.received.part")
- def part(self, event):
- channel.part(self.events, event)
-
- # unknown command sent by us, oops!
- @utils.hook("raw.received.421", default_event=True)
- def handle_421(self, event):
- self.bot.log.warn("We sent an unknown command to %s: %s",
- [str(event["server"]), event["line"].args[1]])
-
- # a user has disconnected!
- @utils.hook("raw.received.quit")
- @utils.hook("raw.send.quit")
- def quit(self, event):
- user.quit(self.events, event)
-
- # the server is telling us about its capabilities!
- @utils.hook("raw.received.cap")
- def cap(self, event):
- ircv3.cap(self.exports, self.events, event)
-
- # the server is asking for authentication
- @utils.hook("raw.received.authenticate")
- def authenticate(self, event):
- ircv3.authenticate(self.events, event)
-
- # someone has changed their nickname
- @utils.hook("raw.received.nick")
- def nick(self, event):
- user.nick(self.events, event)
-
- # something's mode has changed
- @utils.hook("raw.received.mode")
- def mode(self, event):
- core.mode(self.events, event)
- # server telling us our own modes
- @utils.hook("raw.received.221")
- def umodeis(self, event):
- core.handle_221(event)
-
- # someone (maybe me!) has been invited somewhere
- @utils.hook("raw.received.invite")
- def invite(self, event):
- core.invite(self.events, event)
-
- # we've received/sent a PRIVMSG, NOTICE or TAGMSG
- @utils.hook("raw.received.privmsg")
- @utils.hook("raw.received.notice")
- @utils.hook("raw.received.tagmsg")
- def message(self, event):
- message.message(self.events, event)
-
- # IRCv3 AWAY, used to notify us that a client we can see has changed /away
- @utils.hook("raw.received.away")
- def away(self, event):
- user.away(self.events, event)
-
- @utils.hook("raw.received.batch")
- def batch(self, event):
- identifier = event["line"].args[0]
- modifier, identifier = identifier[0], identifier[1:]
-
- if modifier == "+":
- batch_type = event["line"].args[1]
- args = event["line"].args[2:]
-
- batch = IRCLine.IRCBatch(identifier, batch_type, args,
- event["line"].tags, source=event["line"].source)
- event["server"].batches[identifier] = batch
-
- self.events.on("received.batch.start").call(batch=batch,
- server=event["server"])
- else:
- batch = event["server"].batches[identifier]
- del event["server"].batches[identifier]
-
- lines = batch.get_lines()
-
- results = self.events.on("received.batch.end").call(batch=batch,
- server=event["server"])
-
- for result in results:
- if not result == None:
- lines = result
- break
-
- for line in lines:
- self._handle(event["server"], line)
-
- # IRCv3 CHGHOST, a user's username and/or hostname has changed
- @utils.hook("raw.received.chghost")
- def chghost(self, event):
- user.chghost(self.events, event)
-
- # IRCv3 SETNAME, to change a user's realname
- @utils.hook("raw.received.setname")
- def setname(self, event):
- user.setname(event)
-
- @utils.hook("raw.received.account")
- def account(self, event):
- user.account(self.events, event)
-
- # response to a WHO command for user information
- @utils.hook("raw.received.352", default_event=True)
- def handle_352(self, event):
- core.handle_352(self.events, event)
-
- # response to a WHOX command for user information, including account name
- @utils.hook("raw.received.354", default_event=True)
- def handle_354(self, event):
- core.handle_354(self.events, event)
-
- # response to an empty mode command
- @utils.hook("raw.received.324")
- def handle_324(self, event):
- channel.handle_324(self.events, event)
-
- # channel creation unix timestamp
- @utils.hook("raw.received.329", default_event=True)
- def handle_329(self, event):
- channel.handle_329(event)
-
- # nickname already in use
- @utils.hook("raw.received.433", default_event=True)
- def handle_433(self, event):
- core.handle_433(event)
- # nickname/channel is temporarily unavailable
- @utils.hook("raw.received.437")
- def handle_437(self, event):
- core.handle_437(event)
-
- # we need a registered nickname for this channel
- @utils.hook("raw.received.477", default_event=True)
- def handle_477(self, event):
- channel.handle_477(self.timers, event)
-
- # someone's been kicked from a channel
- @utils.hook("raw.received.kick")
- def kick(self, event):
- channel.kick(self.events, event)
-
- # a channel has been renamed
- @utils.hook("raw.received.rename")
- def rename(self, event):
- channel.rename(self.events, event)