本文整理汇总了Python中system.command_manager.CommandManager.process_input方法的典型用法代码示例。如果您正苦于以下问题:Python CommandManager.process_input方法的具体用法?Python CommandManager.process_input怎么用?Python CommandManager.process_input使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类system.command_manager.CommandManager
的用法示例。
在下文中一共展示了CommandManager.process_input方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Protocol
# 需要导入模块: from system.command_manager import CommandManager [as 别名]
# 或者: from system.command_manager.CommandManager import process_input [as 别名]
#.........这里部分代码省略.........
self.send(message)
if "from" in message:
origin = message["from"]
for case, default in Switch(origin):
if case("chat"):
source = message["source"]
msg = message["message"]
user = self.get_user(
message["user"], server=source, create=True
)
if not user.server:
user.server = source
if user == self.ourselves:
break # Since, well, this is us.
if source == self.nickname:
break # Since this is also us.
event = general_events.PreMessageReceived(
self, user, user, msg, "message" # No channels
)
self.event_manager.run_callback("PreMessageReceived",
event)
if event.printable:
for line in event.message.split("\n"):
self.log.info("<%s> %s" % (user, line))
if not event.cancelled:
result = self.command_manager.process_input(
event.message, user, user, self,
self.control_chars, self.nickname
)
for c, d in Switch(result[0]):
if c(CommandState.RateLimited):
self.log.debug("Command rate-limited")
user.respond("That command has been "
"rate-limited, please try "
"again later.")
return # It was a command
if c(CommandState.NotACommand):
self.log.debug("Not a command")
break
if c(CommandState.UnknownOverridden):
self.log.debug("Unknown command "
"overridden")
return # It was a command
if c(CommandState.Unknown):
self.log.debug("Unknown command")
break
if c(CommandState.Success):
self.log.debug("Command ran successfully")
return # It was a command
if c(CommandState.NoPermission):
self.log.debug("No permission to run "
"command")
return # It was a command
if c(CommandState.Error):
user.respond("Error running command: "
"%s" % result[1])
return # It was a command
示例2: Protocol
# 需要导入模块: from system.command_manager import CommandManager [as 别名]
# 或者: from system.command_manager.CommandManager import process_input [as 别名]
#.........这里部分代码省略.........
self.log.info(_("User stopped recording: %s") % user)
user.recording = message.recording
event = mumble_events.UserRecordingToggle(self, user,
user.recording)
self.event_manager.run_callback("Mumble/UserRecordingToggle",
event)
def handle_msg_textmessage(self, message):
if message.actor in self.users:
user_obj = self.users[message.actor]
# TODO: Replace this with proper formatting stuff when implemented
# Perhaps a new command-handler/event parameter for raw and parsed
msg = html_to_text(message.message, True)
if message.channel_id:
cid = message.channel_id[0]
channel_obj = self.channels[cid]
else:
# Private message - set the channel_obj (source) to user who
# sent the message, as is done with IRC (otherwise it would be
# None).
channel_obj = user_obj
event = general_events.PreMessageReceived(
self, user_obj, channel_obj, msg, "message"
)
self.event_manager.run_callback("PreMessageReceived", event)
if event.printable:
for line in event.message.split("\n"):
self.log.info("<%s> %s" % (user_obj, line))
if not event.cancelled:
result = self.command_manager.process_input(
event.message, user_obj, channel_obj, self,
self.control_chars, self.nickname
)
for case, default in Switch(result[0]):
if case(CommandState.RateLimited):
self.log.debug("Command rate-limited")
user_obj.respond("That command has been rate-limited, "
"please try again later.")
return # It was a command
if case(CommandState.NotACommand):
self.log.debug("Not a command")
break
if case(CommandState.UnknownOverridden):
self.log.debug("Unknown command overridden")
return # It was a command
if case(CommandState.Unknown):
self.log.debug("Unknown command")
break
if case(CommandState.Success):
self.log.debug("Command ran successfully")
return # It was a command
if case(CommandState.NoPermission):
self.log.debug("No permission to run command")
return # It was a command
if case(CommandState.Error):
user_obj.respond("Error running command: %s"
% result[1])
return # It was a command
if default:
self.log.debug("Unknown command state: %s" % result[0])
break