Add ircv3.py - for IRCv3-related stats
This commit is contained in:
parent
e6d8e75086
commit
890c893ddf
2 changed files with 31 additions and 8 deletions
31
modules/ircv3.py
Normal file
31
modules/ircv3.py
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
from src import ModuleManager, utils
|
||||||
|
|
||||||
|
class Module(ModuleManager.BaseModule):
|
||||||
|
_name = "IRCv3"
|
||||||
|
|
||||||
|
@utils.hook("received.command.specsup", min_args=1)
|
||||||
|
@utils.kwarg("help", "List servers supporting a given IRCv3 capability")
|
||||||
|
@utils.kwarg("usage", "<capability>")
|
||||||
|
def specsup(self, event):
|
||||||
|
spec = event["args_split"][0].lower()
|
||||||
|
supporting_servers = []
|
||||||
|
|
||||||
|
for server in self.bot.servers.values():
|
||||||
|
if not server.connection_params.hostname == "localhost":
|
||||||
|
if spec in server.server_capabilities:
|
||||||
|
port = str(server.connection_params.port)
|
||||||
|
if server.connection_params.tls:
|
||||||
|
port = "+%s" % port
|
||||||
|
supporting_servers.append("%s:%s" % (
|
||||||
|
server.connection_params.hostname, port))
|
||||||
|
if supporting_servers:
|
||||||
|
event["stdout"].write("%s: %s" % (spec,
|
||||||
|
", ".join(supporting_servers)))
|
||||||
|
else:
|
||||||
|
event["stderr"].write("No supporting servers found for %s" % spec)
|
||||||
|
|
||||||
|
@utils.hook("received.command.caps")
|
||||||
|
@utils.kwarg("help", "List negotiated IRCv3 capabilities")
|
||||||
|
def capabilities(self, event):
|
||||||
|
event["stdout"].write("IRCv3 capabilities: %s" %
|
||||||
|
", ".join(event["server"].agreed_capabilities))
|
|
@ -123,11 +123,3 @@ class Module(ModuleManager.BaseModule):
|
||||||
@utils.hook("api.get.modules")
|
@utils.hook("api.get.modules")
|
||||||
def modules_api(self, event):
|
def modules_api(self, event):
|
||||||
return list(self.bot.modules.modules.keys())
|
return list(self.bot.modules.modules.keys())
|
||||||
|
|
||||||
@utils.hook("received.command.caps")
|
|
||||||
def capabilities(self, event):
|
|
||||||
"""
|
|
||||||
:help: List negotiated IRCv3 capabilities
|
|
||||||
"""
|
|
||||||
event["stdout"].write("IRCv3 capabilities: %s" %
|
|
||||||
", ".join(event["server"].agreed_capabilities))
|
|
||||||
|
|
Loading…
Reference in a new issue