fix sending updates from MessageHandler

This commit is contained in:
2019-03-12 17:32:38 +01:00
parent 75625ccbcd
commit 37fa3e9a3a
2 changed files with 10 additions and 5 deletions

View File

@@ -20,7 +20,7 @@ class CommandHandler():
if len(self.arguments) < num_args:
raise WrongNumberOfArgsError("!{} needs at least {} arguments".format(self._command, num_args))
def __init__(self, msg):
def __init__(self, msg, xmpp):
self._command = msg["body"].split(" ")[0][1:]
self._handler = getattr(self, self._command, self._unknown_command_handler)
self.type = "groupchat" if msg["type"] == "groupchat" else "chat"
@@ -29,14 +29,19 @@ class CommandHandler():
self.replyto = self.sender.full if self.type == "chat" else self.sender.bare
self.arguments = msg["body"].split(" ")[1:]
self.msg = msg
self.xmpp = xmpp
def _update(self, text):
xmpp.send_message(mto=self.replyto, mtype=self.type, mbody=text)
self.xmpp.send_message(mto=self.replyto, mtype=self.type, mbody=text)
def debug(self, *args, **kwargs):
"""nolist Show debug info"""
return pprint.pformat(self.__dict__)
def dupdate(self, *args, **kwargs):
"""nolist send message as update"""
self._update(str(args))
#TODO: handle non-existant commands
#TODO: add end text
def help(self, *args, **kwargs):

View File

@@ -290,7 +290,7 @@ class XMPPTelegram(ComponentXMPP):
if is_command:
command = msg["body"].split(" ")[0][1:]
handler = GateCommandHandler(msg)._handler
handler = GateCommandHandler(msg, self)._handler
try:
reply = str(handler(self))
except Exception as e:
@@ -317,7 +317,7 @@ class XMPPTelegram(ComponentXMPP):
if is_command:
command = msg["body"].split(" ")[0][1:]
handler = ChatCommandHandler(msg)._handler
handler = ChatCommandHandler(msg, self)._handler
try:
reply = str(handler(self))
except Exception as e:
@@ -344,7 +344,7 @@ class XMPPTelegram(ComponentXMPP):
if is_command:
command = msg["body"].split(" ")[0][1:]
handler = GroupchatCommandHandler(msg)._handler
handler = GroupchatCommandHandler(msg), self._handler
try:
reply = str(handler(self))
except Exception as e: