Initial Release of IGNCore version 2.5
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
from core.chat_blob import ChatBlob
|
||||
from core.command_param_types import Const, Any, Options
|
||||
from core.decorators import instance, command
|
||||
from core.translation_service import TranslationService
|
||||
|
||||
|
||||
@instance()
|
||||
class AliasController:
|
||||
def inject(self, registry):
|
||||
self.command_alias_service = registry.get_instance("command_alias_service")
|
||||
self.ts: TranslationService = registry.get_instance("translation_service")
|
||||
self.getresp = self.ts.get_response
|
||||
|
||||
@command(command="alias", params=[Const("list")], access_level="member",
|
||||
description="List command aliases")
|
||||
def alias_list_cmd(self, _, _1):
|
||||
blob = ""
|
||||
data = self.command_alias_service.get_enabled_aliases()
|
||||
count = len(data)
|
||||
for row in data:
|
||||
blob += row.alias + " - " + row.command + "\n"
|
||||
|
||||
return ChatBlob(self.getresp("module/config", "alias_blob_title", {"amount": count}), blob)
|
||||
|
||||
@command(command="alias", params=[Const("add"), Any("alias"), Any("command")], access_level="admin",
|
||||
description="Add a command alias", sub_command="modify")
|
||||
def alias_add_cmd(self, _, _1, alias, command_str):
|
||||
if self.command_alias_service.add_alias(alias, command_str, force_enable=True):
|
||||
return self.getresp("module/config", "alias_add_success", {"alias": alias, "cmd": command_str})
|
||||
else:
|
||||
return self.getresp("module/config", "alias_add_fail", {"alias": alias})
|
||||
|
||||
@command(command="alias", params=[Options(["rem", "remove"]), Any("alias")], access_level="admin",
|
||||
description="Remove a command alias", sub_command="modify")
|
||||
def alias_remove_cmd(self, _, _1, alias):
|
||||
if self.command_alias_service.remove_alias(alias):
|
||||
return self.getresp("module/config", "alias_rem_success", {"alias": alias})
|
||||
else:
|
||||
return self.getresp("module/config", "alias_rem_fail", {"alias": alias})
|
||||
Reference in New Issue
Block a user