diff options
Diffstat (limited to 'plugins/ping.py')
-rw-r--r-- | plugins/ping.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/plugins/ping.py b/plugins/ping.py index 4868ccf9..7e0098aa 100644 --- a/plugins/ping.py +++ b/plugins/ping.py @@ -22,6 +22,7 @@ Command the current interlocutor. """ +from slixmpp import InvalidJID, JID from poezio.decorators import command_args_parser from poezio.plugin import BasePlugin from poezio.roster import roster @@ -57,7 +58,7 @@ class Plugin(BasePlugin): help='Send an XMPP ping to jid (see XEP-0199).', short='Send a ping.', completion=self.completion_ping) - for _class in (tabs.PrivateTab, tabs.ConversationTab): + for _class in (tabs.PrivateTab, tabs.DynamicConversationTab, tabs.StaticConversationTab): self.api.add_tab_command( _class, 'ping', @@ -116,7 +117,7 @@ class Plugin(BasePlugin): def command_private_ping(self, arg): if arg: return self.command_ping(arg) - self.command_ping(self.api.current_tab().name) + self.command_ping(self.api.current_tab().jid) @command_args_parser.raw def command_muc_ping(self, arg): @@ -124,10 +125,13 @@ class Plugin(BasePlugin): return user = self.api.current_tab().get_user_by_name(arg) if user: - jid = safeJID(self.api.current_tab().name) + jid = self.api.current_tab().jid jid.resource = user.nick else: - jid = safeJID(arg) + try: + jid = JID(arg) + except InvalidJID: + return self.api.information('Invalid JID: %s' % arg, 'Error') self.command_ping(jid.full) @command_args_parser.raw |