NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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