diff --git a/evennia/players/bots.py b/evennia/players/bots.py index 99dbbea3cb..11a690cd99 100644 --- a/evennia/players/bots.py +++ b/evennia/players/bots.py @@ -8,8 +8,6 @@ from __future__ import print_function from django.conf import settings from evennia.players.players import DefaultPlayer from evennia.scripts.scripts import DefaultScript -from evennia.commands.command import Command -from evennia.commands.cmdset import CmdSet from evennia.utils import search _IDLE_TIMEOUT = settings.IDLE_TIMEOUT @@ -218,7 +216,7 @@ class IRCBot(Bot): if not from_obj or from_obj != [self.id]: super(IRCBot, self).msg(text=text, options={"bot_data_out": True}) - def execute_cmd(self, text=None, session=None): + def execute_cmd(self, text=None, session=None, **kwargs): """ Take incoming data and send it to connected channel. This is triggered by the CmdListen command in the BotCmdSet. @@ -278,7 +276,7 @@ class RSSBot(Bot): "rate": self.db.rss_rate} _SESSIONS.start_bot_session("evennia.server.portal.rss.RSSBotFactory", configdict) - def execute_cmd(self, text=None, session=None): + def execute_cmd(self, text=None, session=None, **kwargs): """ Echo RSS input to connected channel diff --git a/evennia/server/inputfuncs.py b/evennia/server/inputfuncs.py index ba9547d492..722beab44d 100644 --- a/evennia/server/inputfuncs.py +++ b/evennia/server/inputfuncs.py @@ -105,7 +105,7 @@ def bot_data_in(session, *args, **kwargs): return kwargs.pop("options", None) # Trigger the execute_cmd method of the corresponding bot. - session.player.execute_cmd(text=txt, session=session) + session.player.execute_cmd(session=session, text=txt, **kwargs) session.update_session_counters() diff --git a/evennia/server/portal/irc.py b/evennia/server/portal/irc.py index 685e3d35ed..4d87f772f8 100644 --- a/evennia/server/portal/irc.py +++ b/evennia/server/portal/irc.py @@ -178,7 +178,7 @@ class IRCBot(irc.IRCClient, Session): if not msg.startswith('***'): user = user.split('!', 1)[0] user = ansi.raw(user) - self.data_in("%s@%s: %s" % (user, channel, msg)) + self.data_in(text=msg, type="msg", user=user, channel=channel) def action(self, user, channel, msg): """ @@ -192,7 +192,7 @@ class IRCBot(irc.IRCClient, Session): """ if not msg.startswith('**'): user = user.split('!', 1)[0] - self.data_in("%s@%s %s" % (user, channel, msg)) + self.data_in(text=msg, type="action", user=user, channel=channel) def data_in(self, text=None, **kwargs): """ @@ -204,7 +204,7 @@ class IRCBot(irc.IRCClient, Session): """ - self.sessionhandler.data_in(self, bot_data_in=text, **kwargs) + self.sessionhandler.data_in(self, bot_data_in=text) def send_text(self, *args, **kwargs): """