slash_command.py (1743B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\chat\client\slash_command.py 2 from carbon.common.script.util.commonutils import StripTags 3 from carbonui.uicore import uicore 4 from carbon.common.script.sys.serviceConst import ROLE_GML, ROLE_LEGIONEER 5 ROLE_SLASH = ROLE_GML | ROLE_LEGIONEER 6 7 def handle_slash_command(text, channel_controller): 8 command_lines = StripTags(text, ignoredTags=('br',)).split('<br>') 9 for command_line in command_lines: 10 try: 11 sm.GetService('slash').ReportSlashCommandUsage(command_line) 12 if text.startswith('/tutorial') and session and session.role & ROLE_GML: 13 sm.GetService('tutorial').SlashCmd(command_line) 14 elif text.startswith('/advantage') and session and session.role & ROLE_GML: 15 sm.GetService('fwAdvantageSvc').HandleSlashCmd(command_line) 16 elif sm.GetService('publicQaToolsClient').CommandAllowed(command_line): 17 sm.GetService('publicQaToolsClient').SlashCmd(command_line) 18 elif session and session.role & ROLE_SLASH: 19 if command_line.lower().startswith('/mark'): 20 sm.StartService('logger').LogError('SLASHMARKER: ', (session.userid, session.charid), ': ', command_line) 21 slashRes = sm.GetService('slash').SlashCmd(command_line) 22 if slashRes is not None: 23 sm.GetService('logger').AddText('slash result: %s' % slashRes, 'slash') 24 channel_controller.add_game_message(u'<color=green>slash: {}</color>'.format(command_line)) 25 except: 26 channel_controller.add_game_message(u'<color=red>slash failed: {}</color>'.format(command_line)) 27 raise