Implement query notifications and recognise ZNC's messages

This commit is contained in:
2018-05-07 19:58:19 +01:00
parent 2e2e35cad7
commit 66e7785f6f
8 changed files with 74 additions and 19 deletions

View File

@@ -13,6 +13,9 @@ class Add:
if length > 1:
name = spl[1]
if name.isdigit():
failure("Network name is all numbers. This will break things.")
return
else:
incUsage("add")
return
@@ -71,9 +74,7 @@ class Add:
failure("Protocol must be ssl or plain, not %s" % protocol)
return
try:
int(port)
except:
if not port.isdigit():
failure("Port must be an integer, not %s" % port)
return

View File

@@ -10,7 +10,7 @@ class Delete:
if not spl[1] in main.pool.keys():
failure("Name does not exist: %s" % spl[1])
return
del pool[spl[1]]
del main.pool[spl[1]]
if spl[1] in main.ReactorPool.keys():
if spl[1] in main.FactoryPool.keys():
main.FactoryPool[spl[1]].stopTrying()

View File

@@ -48,7 +48,7 @@ class Key:
return
else:
if not spl[2] in spl[3]:
failure("Keyword %s not in exception %s. This won't work" % (spl[2], spl[3]))
failure("Keyword %s not in exception %s. This won't work." % (spl[2], spl[3]))
return
main.keyconf["KeywordsExcept"][spl[2]] = []

25
commands/msg.py Normal file
View File

@@ -0,0 +1,25 @@
import main
class Msg:
def __init__(self, register):
register("msg", self.msg)
def msg(self, addr, authed, data, obj, spl, success, failure, info, incUsage, length):
if authed:
if length >= 4:
if not spl[1] in main.pool.keys():
failure("Name does not exist: %s" % spl[1])
return
if not spl[1] in main.IRCPool.keys():
failure("Name has no instance: %s" % spl[1])
return
if not spl[2] in main.IRCPool[spl[1]].channels:
info("Bot not on channel: %s" % spl[2])
main.IRCPool[spl[1]].msg(spl[2], " ".join(spl[3:]))
success("Sent %s to %s on %s" % (" ".join(spl[3:]), spl[2], spl[1]))
return
else:
incUsage("msg")
return
else:
incUsage(None)