Fixed warnings caused by non-existing messagehub channels.
Changed the setting registration, removed the warnings. Loot roll messages are more obvious now. Superadmins are meant to stay mostily hidden, but are being exposed in !system again.
This commit is contained in:
+1
-1
@@ -42,7 +42,7 @@ class Tyrbot:
|
||||
self.last_timer_event = 0
|
||||
self.start_time = int(time.time())
|
||||
self.major_version = "IGNCore v2.6"
|
||||
self.minor_version = "2"
|
||||
self.minor_version = "3"
|
||||
self.incoming_queue = FifoQueue()
|
||||
self.mass_message_queue = None
|
||||
self.conns = DictObject()
|
||||
|
||||
@@ -36,9 +36,9 @@ class PublicChannelService(BaseModule):
|
||||
priority=30)
|
||||
self.event_service.register_event_type(self.ORG_CHANNEL_MESSAGE_EVENT)
|
||||
self.event_service.register_event_type(self.ORG_MSG_EVENT)
|
||||
self.setting_service.register_new('core.system', 'org_id', 0,
|
||||
self.setting_service.register('core.system', 'org_id', 0,
|
||||
NumberSettingType(), 'OrgID used for roster')
|
||||
self.setting_service.register_new('core.system', 'org_name', "",
|
||||
self.setting_service.register('core.system', 'org_name', "",
|
||||
TextSettingType(allow_empty=True), 'OrgName used for roster')
|
||||
|
||||
def start(self):
|
||||
|
||||
@@ -25,14 +25,9 @@ class SettingService:
|
||||
for name, method in get_attrs(inst).items():
|
||||
if hasattr(method, "setting"):
|
||||
setting_name, value, description, extended_description, obj = getattr(method, "setting")
|
||||
self.register(setting_name, value, description, obj, inst.module_name, extended_description)
|
||||
self.register(inst.module_name, setting_name, value, obj, description, extended_description)
|
||||
|
||||
def register(self, name, value, description, setting, module, extended_description=None):
|
||||
"""Deprecated. Use register_new()"""
|
||||
self.logger.warning(f"Using deprecated register method for setting '{name}' in module {module}")
|
||||
self.register_new(module, name, value, setting, description, extended_description)
|
||||
|
||||
def register_new(self, module, name, value, setting, description, extended_description=None):
|
||||
def register(self, module, name, value, setting, description, extended_description=None):
|
||||
"""Call during start"""
|
||||
name = name.lower()
|
||||
module = module.lower()
|
||||
@@ -44,10 +39,10 @@ class SettingService:
|
||||
setting.set_extended_description(extended_description)
|
||||
|
||||
if not description:
|
||||
self.logger.warning("No description specified for setting '%s'" % name)
|
||||
self.logger.warning(f"No description specified for setting '{name}'")
|
||||
|
||||
if " " in name:
|
||||
raise Exception("One or more spaces found in setting name '%s' for module '%s'" % (name, module))
|
||||
raise Exception(f"One or more spaces found in setting name '{name}' for module '{module}'")
|
||||
|
||||
row = self.db.query_single("SELECT name, value, description FROM setting WHERE name = ?", [name])
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ class TranslationService:
|
||||
self.event_service.register_event_type("reload_translation")
|
||||
|
||||
def start(self):
|
||||
self.setting_service.register_new("core.system", self.LANGUAGE_SETTING, "en_US",
|
||||
self.setting_service.register("core.system", self.LANGUAGE_SETTING, "en_US",
|
||||
TextSettingType(self.lang_codes), "Language of the Bot")
|
||||
|
||||
self.language = self.setting_service.get_value(self.LANGUAGE_SETTING)
|
||||
|
||||
@@ -118,18 +118,18 @@ class AccountService:
|
||||
self.event_service.register_event_type(self.MAIN_CHANGED_EVENT_TYPE)
|
||||
self.event_service.register_event_type(self.MEMBER_LOGON)
|
||||
self.event_service.register_event_type(self.MEMBER_LOGOFF)
|
||||
self.setting_service.register_new(self.module_name, "is_alliance_bot", False, BooleanSettingType(),
|
||||
self.setting_service.register(self.module_name, "is_alliance_bot", False, BooleanSettingType(),
|
||||
"Is this bot used as an alliancebot")
|
||||
self.setting_service.register_new(self.module_name, "alt_verification", False, BooleanSettingType(),
|
||||
self.setting_service.register(self.module_name, "alt_verification", False, BooleanSettingType(),
|
||||
"alts require admin verification")
|
||||
# Default preferences
|
||||
self.setting_service.register_new(self.module_name, "pref_autoinvite", False, BooleanSettingType(),
|
||||
self.setting_service.register(self.module_name, "pref_autoinvite", False, BooleanSettingType(),
|
||||
"Default Value for the auto invite preference")
|
||||
self.setting_service.register_new(self.module_name, "pref_raidinvite", True, BooleanSettingType(),
|
||||
self.setting_service.register(self.module_name, "pref_raidinvite", True, BooleanSettingType(),
|
||||
"Default Value for the raid invite (Massinvite) preference")
|
||||
self.setting_service.register_new(self.module_name, "pref_raidspam", True, BooleanSettingType(),
|
||||
self.setting_service.register(self.module_name, "pref_raidspam", True, BooleanSettingType(),
|
||||
"Default Value for the raid spam (Mass Message) preference")
|
||||
self.setting_service.register_new(self.module_name, "pref_newsspam", True, BooleanSettingType(),
|
||||
self.setting_service.register(self.module_name, "pref_newsspam", True, BooleanSettingType(),
|
||||
"Default Value for the news spam (News on logon) preference")
|
||||
v = self.setting_service.get_value("pref_raidspam")
|
||||
|
||||
|
||||
@@ -13,27 +13,27 @@ class ColorController(BaseModule):
|
||||
|
||||
# noinspection LongLine
|
||||
def start(self):
|
||||
self.setting_service.register_new(self.module_name, "header_color", "#FFFF00", ColorSettingType(),
|
||||
self.setting_service.register(self.module_name, "header_color", "#FFFF00", ColorSettingType(),
|
||||
"Color for headers")
|
||||
self.setting_service.register_new(self.module_name, "header2_color", "#FCA712", ColorSettingType(),
|
||||
self.setting_service.register(self.module_name, "header2_color", "#FCA712", ColorSettingType(),
|
||||
"Color for sub-headers")
|
||||
self.setting_service.register_new(self.module_name, "highlight_color", "#00FF00", ColorSettingType(),
|
||||
self.setting_service.register(self.module_name, "highlight_color", "#00FF00", ColorSettingType(),
|
||||
"Color for highlight")
|
||||
self.setting_service.register_new(self.module_name, "notice_color", "#FF8C00", ColorSettingType(),
|
||||
self.setting_service.register(self.module_name, "notice_color", "#FF8C00", ColorSettingType(),
|
||||
"Color for important notices")
|
||||
self.setting_service.register_new(self.module_name, "neutral_color", "#E6E1A6", ColorSettingType(),
|
||||
self.setting_service.register(self.module_name, "neutral_color", "#E6E1A6", ColorSettingType(),
|
||||
"Color for neutral faction")
|
||||
self.setting_service.register_new(self.module_name, "omni_color", "#FA8484", ColorSettingType(),
|
||||
self.setting_service.register(self.module_name, "omni_color", "#FA8484", ColorSettingType(),
|
||||
"Color for omni faction")
|
||||
self.setting_service.register_new(self.module_name, "clan_color", "#F79410", ColorSettingType(),
|
||||
self.setting_service.register(self.module_name, "clan_color", "#F79410", ColorSettingType(),
|
||||
"Color for clan faction")
|
||||
self.setting_service.register_new(self.module_name, "unknown_color", "#FF0000", ColorSettingType(),
|
||||
self.setting_service.register(self.module_name, "unknown_color", "#FF0000", ColorSettingType(),
|
||||
"Color for unknown faction")
|
||||
self.setting_service.register_new(self.module_name, "org_channel_color", "#89D2E8", ColorSettingType(),
|
||||
self.setting_service.register(self.module_name, "org_channel_color", "#89D2E8", ColorSettingType(),
|
||||
"Default org channel color")
|
||||
self.setting_service.register_new(self.module_name, "private_channel_color", "#89D2E8", ColorSettingType(),
|
||||
self.setting_service.register(self.module_name, "private_channel_color", "#89D2E8", ColorSettingType(),
|
||||
"Default private channel color")
|
||||
self.setting_service.register_new(self.module_name, "private_message_color", "#89D2E8", ColorSettingType(),
|
||||
self.setting_service.register(self.module_name, "private_message_color", "#89D2E8", ColorSettingType(),
|
||||
"Default private message color")
|
||||
self.setting_service.register_new(self.module_name, "blob_color", "#FFFFFF", ColorSettingType(),
|
||||
self.setting_service.register(self.module_name, "blob_color", "#FFFFFF", ColorSettingType(),
|
||||
"Default blob content color")
|
||||
|
||||
@@ -107,7 +107,7 @@ class DiscordController:
|
||||
self.setting_service: SettingService = registry.get_instance("setting_service")
|
||||
|
||||
def pre_start(self):
|
||||
self.setting_service.register_new(self.module_name, "discord_token", "", HiddenSettingType(allow_empty=True),
|
||||
self.setting_service.register(self.module_name, "discord_token", "", HiddenSettingType(allow_empty=True),
|
||||
"Enter your Discord token her")
|
||||
|
||||
def get_name(self, discord_id):
|
||||
|
||||
@@ -48,7 +48,7 @@ class RIAdminController:
|
||||
"raid_instance_id INT NOT NULL, "
|
||||
"char_id INT PRIMARY KEY, "
|
||||
"is_leader TINYINT NOT NULL) ENGINE MEMORY")
|
||||
self.setting_service.register_new(self.module_name, "riadmin_network",
|
||||
self.setting_service.register(self.module_name, "riadmin_network",
|
||||
"[905848882, 272234, 1923370, 313107, 1217210821, 1134420908]",
|
||||
TextSettingType(), "Allowed bots (charID's)",
|
||||
extended_description="This setting is *NOT* synchronized across the network;"
|
||||
|
||||
@@ -14,19 +14,16 @@ class MessageHubController:
|
||||
self.message_hub_service = registry.get_instance("message_hub_service")
|
||||
self.getresp = partial(registry.get_instance("translation_service").get_response, "module/system")
|
||||
|
||||
def start(self):
|
||||
pass
|
||||
|
||||
@command(command="messagehub", params=[], access_level="admin",
|
||||
description="Show the current message hub subscriptions")
|
||||
def messagehub_cmd(self, _):
|
||||
blob = self.getresp("messagehub_info") + "\n"
|
||||
subscriptions = self.message_hub_service.hub
|
||||
for destination, obj in subscriptions.items():
|
||||
edit_subs_link = self.text.make_tellcmd(destination, "messagehub edit %s" % destination)
|
||||
blob += "\n%s\n" % edit_subs_link
|
||||
edit_subs_link = self.text.make_tellcmd(destination, f"messagehub edit {destination}")
|
||||
blob += f"\n{edit_subs_link}\n"
|
||||
for source in obj.sources:
|
||||
blob += " └ %s\n" % source
|
||||
blob += f" └ {source}\n"
|
||||
|
||||
return ChatBlob(self.getresp("messagehub_title", {"count": len(subscriptions)}), blob)
|
||||
|
||||
@@ -43,13 +40,13 @@ class MessageHubController:
|
||||
if source in obj.invalid_sources:
|
||||
continue
|
||||
|
||||
sub_link = self.text.make_tellcmd("Subscribe", "messagehub subscribe %s %s" % (destination, source))
|
||||
unsub_link = self.text.make_tellcmd("Unsubscribe", "messagehub unsubscribe %s %s" % (destination, source))
|
||||
sub_link = self.text.make_tellcmd("Subscribe", f"messagehub subscribe {destination} {source}")
|
||||
unsub_link = self.text.make_tellcmd("Unsubscribe", f"messagehub unsubscribe {destination} {source}")
|
||||
status = ""
|
||||
if source in obj.sources:
|
||||
count += 1
|
||||
status = "<green>%s</green>" % self.getresp("subscribed")
|
||||
blob += "%s [%s] [%s] %s\n\n" % (source, sub_link, unsub_link, status)
|
||||
status = f"<green>{self.getresp('subscribed')}</green>"
|
||||
blob += f"{source} [{sub_link}] [{unsub_link}] {status}\n\n"
|
||||
|
||||
return ChatBlob(
|
||||
self.getresp("messagehub_edit_title", {"destination": destination.capitalize(), "count": count}), blob)
|
||||
|
||||
@@ -34,22 +34,22 @@ class SystemController:
|
||||
def start(self):
|
||||
self.ts.register_translation("module/system", self.load_system_msg)
|
||||
|
||||
self.setting_service.register_new(self.module_name, "expected_shutdown", True, BooleanSettingType(),
|
||||
self.setting_service.register(self.module_name, "expected_shutdown", True, BooleanSettingType(),
|
||||
"Helps bot to determine if last shutdown was expected or due to a problem")
|
||||
self.setting_service.register_new("core.system", "symbol", "!",
|
||||
self.setting_service.register(self.module_name, "symbol", "!",
|
||||
TextSettingType(["!", "#", "*", "@", "$", "+", "-"]),
|
||||
"Symbol for executing bot commands")
|
||||
self.setting_service.register_new("core.system", "org_channel_max_page_length", 7500,
|
||||
self.setting_service.register(self.module_name, "org_channel_max_page_length", 7500,
|
||||
NumberSettingType([4500, 6000, 7500, 9000, 10500, 12000]),
|
||||
"Maximum size of blobs in org channel")
|
||||
self.setting_service.register_new("core.system", "private_message_max_page_length", 7500,
|
||||
self.setting_service.register(self.module_name, "private_message_max_page_length", 7500,
|
||||
NumberSettingType([4500, 6000, 7500, 9000, 10500, 12000]),
|
||||
"Maximum size of blobs in private messages")
|
||||
self.setting_service.register_new("core.system", "private_channel_max_page_length", 7500,
|
||||
self.setting_service.register(self.module_name, "private_channel_max_page_length", 7500,
|
||||
NumberSettingType([4500, 6000, 7500, 9000, 10500, 12000]),
|
||||
"Maximum size of blobs in private channel")
|
||||
|
||||
self.setting_service.register_new("core.system", "accept_commands_from_slave_bots", True, BooleanSettingType(),
|
||||
self.setting_service.register(self.module_name, "accept_commands_from_slave_bots", True, BooleanSettingType(),
|
||||
"Accept and respond to commands sent to slave bots (only applies if you have "
|
||||
"added slave bots in the config)")
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ import psutil
|
||||
from core.chat_blob import ChatBlob
|
||||
from core.command_param_types import Any, Character
|
||||
from core.decorators import instance, command
|
||||
from core.lookup.character_service import CharacterService
|
||||
from core.util import Util
|
||||
|
||||
|
||||
@@ -23,6 +24,7 @@ class UtilController:
|
||||
self.access_service = registry.get_instance("access_service")
|
||||
self.event_service = registry.get_instance("event_service")
|
||||
self.public_channel_service = registry.get_instance("public_channel_service")
|
||||
self.character_service: CharacterService = registry.get_instance("character_service")
|
||||
self.getresp = registry.get_instance("translation_service").get_response
|
||||
|
||||
@command(command="checkaccess", params=[Character("character")], access_level="moderator",
|
||||
@@ -94,14 +96,13 @@ class UtilController:
|
||||
bots_connected += f"{_id} - {conn.char_name} ({conn.char_id})\n"
|
||||
|
||||
for channel_id, name in self.public_channel_service.get_all_public_channels().items():
|
||||
pub_channels += "%s - <highlight>%d</highlight>\n" % (name, channel_id)
|
||||
pub_channels += f"{name} - <highlight>{channel_id:d}</highlight>\n"
|
||||
|
||||
for event_type in self.event_service.get_event_types():
|
||||
event_types += "%s\n" % event_type
|
||||
event_types += f"{event_type}\n"
|
||||
|
||||
for access_level in self.access_service.get_access_levels():
|
||||
access_levels += "%s (%d)\n" % (access_level["label"], access_level["level"])
|
||||
|
||||
access_levels += f"{access_level['label']} ({access_level['level']:d})\n"
|
||||
blob = self.getresp("module/system", "status_blob", {
|
||||
"bot_ver": f"{self.bot.major_version}.{self.bot.minor_version}",
|
||||
"os_ver": platform.system() + " " + platform.release(),
|
||||
@@ -112,7 +113,7 @@ class UtilController:
|
||||
"db_type": self.db.type if not self.db.MARIADB else f"{self.db.MARIADB} with "
|
||||
f"{self.db.pool_size} active connections",
|
||||
"mem_usage": self.util.format_number(psutil.Process(os.getpid()).memory_info().rss / 1024),
|
||||
"superadmin": "Not Set",
|
||||
"superadmin": ", ".join([self.character_service.get_char_name(x) or str(x) for x in self.bot.superadmin]),
|
||||
"bl_used": self.buddy_service.get_buddy_list_size(),
|
||||
"bl_size": self.buddy_service.buddy_list_size,
|
||||
"uptime": self.util.time_to_readable(int(time.time()) - self.bot.start_time, max_levels=None),
|
||||
|
||||
@@ -36,21 +36,21 @@ class DarkController:
|
||||
self.message_hub_service.register_message_source(self.MESSAGE_SOURCE)
|
||||
|
||||
def start(self):
|
||||
self.setting_service.register_new(self.module_name, "dark_relay", "true", BooleanSettingType(),
|
||||
self.setting_service.register(self.module_name, "dark_relay", "true", BooleanSettingType(),
|
||||
"Is the Module Enabled?")
|
||||
self.setting_service.register_new(self.module_name, "dark_wts", "true", BooleanSettingType(),
|
||||
self.setting_service.register(self.module_name, "dark_wts", "true", BooleanSettingType(),
|
||||
"Is the WTS channel visible?")
|
||||
self.setting_service.register_new(self.module_name, "dark_wtb", "true", BooleanSettingType(),
|
||||
self.setting_service.register(self.module_name, "dark_wtb", "true", BooleanSettingType(),
|
||||
"Is the WTB channel visible?")
|
||||
self.setting_service.register_new(self.module_name, "dark_lr", "true", BooleanSettingType(),
|
||||
self.setting_service.register(self.module_name, "dark_lr", "true", BooleanSettingType(),
|
||||
"Is the Lootrights channel visible?")
|
||||
self.setting_service.register_new(self.module_name, "dark_gen", "true", BooleanSettingType(),
|
||||
self.setting_service.register(self.module_name, "dark_gen", "true", BooleanSettingType(),
|
||||
"Is the General channel visible?")
|
||||
self.setting_service.register_new(self.module_name, "dark_pvp", "true", BooleanSettingType(),
|
||||
self.setting_service.register(self.module_name, "dark_pvp", "true", BooleanSettingType(),
|
||||
"Is the PvP channel visible?")
|
||||
self.setting_service.register_new(self.module_name, "dark_pvm", "true", BooleanSettingType(),
|
||||
self.setting_service.register(self.module_name, "dark_pvm", "true", BooleanSettingType(),
|
||||
"Is the PVM channel visible?")
|
||||
self.setting_service.register_new(self.module_name, "dark_event", "true", BooleanSettingType(),
|
||||
self.setting_service.register(self.module_name, "dark_event", "true", BooleanSettingType(),
|
||||
"Is the Event channel visible?")
|
||||
|
||||
def handle_private_channel_invite(self, conn: Conn, packet: server_packets.PrivateChannelInvited):
|
||||
|
||||
@@ -30,13 +30,13 @@ class AllianceRelayController:
|
||||
self.message_hub_service.register_message_source(self.MESSAGE_SOURCE)
|
||||
|
||||
def start(self):
|
||||
self.setting_service.register_new(self.module_name, "arelaybot", "",
|
||||
self.setting_service.register(self.module_name, "arelaybot", "",
|
||||
TextSettingType(allow_empty=True), "Bot for alliance relay")
|
||||
|
||||
self.setting_service.register_new(self.module_name, "arelay_enabled", False,
|
||||
self.setting_service.register(self.module_name, "arelay_enabled", False,
|
||||
BooleanSettingType(), "Enable the alliance relay")
|
||||
|
||||
self.setting_service.register_new(self.module_name, "arelay_color", "#C3C3C3",
|
||||
self.setting_service.register(self.module_name, "arelay_color", "#C3C3C3",
|
||||
ColorSettingType(),
|
||||
"Color of messages from relay")
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ from core.aochat.client_packets import PrivateChannelLeave
|
||||
from core.chat_blob import ChatBlob
|
||||
from core.command_param_types import Const, Character, Options, Any
|
||||
from core.conn import Conn
|
||||
from core.decorators import instance, command
|
||||
from core.decorators import instance, command, setting
|
||||
from core.logger import Logger
|
||||
from core.lookup.character_service import CharacterService
|
||||
from core.setting_service import SettingService
|
||||
@@ -35,17 +35,6 @@ class AllianceRelay:
|
||||
self.message_hub_service.register_message_source(self.MESSAGE_SOURCE)
|
||||
|
||||
def start(self):
|
||||
|
||||
self.setting_service.register_new(self.module_name, "relay_symbols", {'default': "-"}, DictionarySettingType(), "Symbol for external relay")
|
||||
self.setting_service.register_new(self.module_name, "relay_symbol_methods", {'default': "always"}, DictionarySettingType(), "When to relay messages")
|
||||
self.setting_service.register_new(self.module_name, "relay_bots", {}, DictionarySettingType(), "Bot for alliance relay")
|
||||
self.setting_service.register_new(self.module_name, "relay_command", {"default": "!agcr"}, DictionarySettingType(), "Relay command for the relay")
|
||||
self.setting_service.register_new(self.module_name, "relay_enabled", {"default": True}, DictionarySettingType(), "Enable the alliance relay")
|
||||
self.setting_service.register_new(self.module_name, "relay_guild_abbreviations", {"default": self.public_channel_service.get_org_name()}, DictionarySettingType(), "Abbreviation to use for org name")
|
||||
self.setting_service.register_new(self.module_name, "relay_color_base", {"default": "#00FF00"}, DictionarySettingType(), "Base color for alliance relay")
|
||||
self.setting_service.register_new(self.module_name, "relay_color_org", {"default": "#FFFF00"}, DictionarySettingType(), "Org color for alliance relay")
|
||||
self.setting_service.register_new(self.module_name, "relay_color_sender", {"default": "#FF8C00"}, DictionarySettingType(), "Name color for alliance relay")
|
||||
self.setting_service.register_new(self.module_name, "relay_color_msg", {"default": "#FF8C00"}, DictionarySettingType(), "Message color for alliance relay")
|
||||
self.message_hub_service.register_message_destination(self.MESSAGE_SOURCE,
|
||||
self.handle_relay_hub_message,
|
||||
["org_channel"],
|
||||
@@ -381,35 +370,45 @@ class AllianceRelay:
|
||||
packet = client_packets.PrivateChannelMessage(int(alliance), self.text.format_message(msg, False), "\0")
|
||||
self.bot.conns["main"].send_packet(packet)
|
||||
|
||||
@setting(name="relay_symbols", value={"default": "-"}, description="Symbol for external relay")
|
||||
def relay_symbols(self) -> DictionarySettingType:
|
||||
return self.setting_service.get("relay_symbols")
|
||||
return DictionarySettingType()
|
||||
|
||||
@setting(name="relay_symbol_methods", value={'default': "always"}, description="Relay methods for the relays")
|
||||
def relay_symbol_methods(self) -> DictionarySettingType:
|
||||
return self.setting_service.get("relay_symbol_methods")
|
||||
return DictionarySettingType()
|
||||
|
||||
@setting(name="relay_bots", value={}, description="Bots used for relaying")
|
||||
def relay_bots(self) -> DictionarySettingType:
|
||||
return self.setting_service.get("relay_bots")
|
||||
return DictionarySettingType()
|
||||
|
||||
@setting(name="relay_enabled", value={"default": True}, description="Enabled status of the relays")
|
||||
def relay_enabled(self) -> DictionarySettingType:
|
||||
return self.setting_service.get("relay_enabled")
|
||||
return DictionarySettingType()
|
||||
|
||||
@setting(name="relay_guild_abbreviations", value={"default": "UNSET"}, description="Abbreviations used for the relays")
|
||||
def relay_guild_abbreviations(self) -> DictionarySettingType:
|
||||
return self.setting_service.get("relay_guild_abbreviations")
|
||||
return DictionarySettingType()
|
||||
|
||||
@setting(name="relay_color_base", value={"default": "#00FF00"}, description="Base color used for the relays")
|
||||
def relay_color_base(self) -> DictionarySettingType:
|
||||
return self.setting_service.get("relay_color_base")
|
||||
return DictionarySettingType()
|
||||
|
||||
@setting(name="relay_color_org", value={"default": "#FFFF00"}, description="Abbrv color used for the relays")
|
||||
def relay_color_org(self) -> DictionarySettingType:
|
||||
return self.setting_service.get("relay_color_org")
|
||||
return DictionarySettingType()
|
||||
|
||||
@setting(name="relay_color_sender", value={"default": "#FF8C00"}, description="Sender color used for the relays")
|
||||
def relay_color_sender(self) -> DictionarySettingType:
|
||||
return self.setting_service.get("relay_color_sender")
|
||||
return DictionarySettingType()
|
||||
|
||||
@setting(name="relay_color_msg", value={"default": "#FF8C00"}, description="Message color used for the relays")
|
||||
def relay_color_msg(self) -> DictionarySettingType:
|
||||
return self.setting_service.get("relay_color_msg")
|
||||
return DictionarySettingType()
|
||||
|
||||
@setting(name="relay_command", value={"default": "!agcr"}, description="Relay command used for the relays")
|
||||
def relay_command(self) -> DictionarySettingType:
|
||||
return self.setting_service.get("relay_command")
|
||||
return DictionarySettingType()
|
||||
|
||||
def check_color(self, msg: str):
|
||||
if not msg.startswith('#'):
|
||||
|
||||
@@ -41,11 +41,10 @@ class OrgChannelController:
|
||||
def start(self):
|
||||
self.message_hub_service.register_message_destination(
|
||||
self.MESSAGE_SOURCE, self.handle_incoming_relay_message,
|
||||
["private_channel", "discord", "websocket_relay", "tell_relay", "broadcast",
|
||||
"raffle", "cloak_reminder", "wave_counter", "shutdown_notice", "raid"],
|
||||
["private_channel", "websocket_relay", "cloak_reminder", "wave_counter", "shutdown_notice"],
|
||||
[self.MESSAGE_SOURCE])
|
||||
|
||||
self.setting_service.register_new(self.module_name, "prefix_org_priv", True, BooleanSettingType(),
|
||||
self.setting_service.register(self.module_name, "prefix_org_priv", True, BooleanSettingType(),
|
||||
"Should the prefix [org] be displayed in relayed messages")
|
||||
|
||||
def handle_incoming_relay_message(self, ctx):
|
||||
|
||||
@@ -84,7 +84,7 @@ class TowerController:
|
||||
victory.location.playfield = self.playfield_controller.get_playfield_by_name(playfield_name) or \
|
||||
DictObject()
|
||||
victory.location.playfield.long_name = playfield_name
|
||||
print(victory)
|
||||
# print(victory)
|
||||
self.event_service.fire_event(self.TOWER_VICTORY_EVENT, victory)
|
||||
elif packet.channel_id == self.ALL_TOWERS_ID:
|
||||
attack = self.get_attack_event(packet)
|
||||
|
||||
@@ -12,6 +12,7 @@ from core.logger import Logger
|
||||
from core.lookup.character_service import CharacterService
|
||||
from core.lookup.pork_service import PorkService
|
||||
from core.message_hub_service import MessageHubService
|
||||
from core.registry import Registry
|
||||
from core.setting_service import SettingService
|
||||
from core.setting_types import NumberSettingType
|
||||
from core.text import Text
|
||||
@@ -47,39 +48,41 @@ class MessageDistributor:
|
||||
self.relay_hub_service.register_message_source("access_denied_logger")
|
||||
self.relay_hub_service.register_message_source("member_logger")
|
||||
|
||||
def start(self):
|
||||
self.relay_hub_service.register_message_destination("tell_log", self.handle_logging_tell, ["tell_logger"],
|
||||
["tell_log"])
|
||||
self.setting_service.register_new(self.module_name, "dc_tell_log", 0, NumberSettingType(allow_empty=True),
|
||||
self.setting_service.register(self.module_name, "dc_tell_log", 0, NumberSettingType(allow_empty=True),
|
||||
"ChannelID for the Tell Log")
|
||||
|
||||
self.relay_hub_service.register_message_destination("access_denied_log", self.handle_logging_denied,
|
||||
["access_denied_logger"], ["access_denied_log"])
|
||||
self.setting_service.register_new(self.module_name, "dc_denied_log", 0, NumberSettingType(allow_empty=True),
|
||||
self.setting_service.register(self.module_name, "dc_denied_log", 0, NumberSettingType(allow_empty=True),
|
||||
"ChannelID for the Access Denied Log")
|
||||
|
||||
self.relay_hub_service.register_message_destination("relay_log", self.handle_logging_relay,
|
||||
["alliance", "public_relay"], ["relay_log"])
|
||||
self.setting_service.register_new(self.module_name, "dc_relay_log", 0, NumberSettingType(allow_empty=True),
|
||||
self.setting_service.register(self.module_name, "dc_relay_log", 0, NumberSettingType(allow_empty=True),
|
||||
"ChannelID for the Relay Log")
|
||||
|
||||
self.relay_hub_service.register_message_destination("public_relay", self.handle_public_relay, ["alliance"],
|
||||
["public_relay"])
|
||||
self.setting_service.register_new(self.module_name, "dc_relay_public", 0, NumberSettingType(allow_empty=True),
|
||||
self.setting_service.register(self.module_name, "dc_relay_public", 0, NumberSettingType(allow_empty=True),
|
||||
"ChannelID for the Public Relay Channel")
|
||||
|
||||
self.relay_hub_service.register_message_destination("system", self.handle_logging_system, ["system_logger"],
|
||||
["system"])
|
||||
self.setting_service.register_new(self.module_name, "dc_system_log", 0, NumberSettingType(allow_empty=True),
|
||||
self.setting_service.register(self.module_name, "dc_system_log", 0, NumberSettingType(allow_empty=True),
|
||||
"ChannelID for the System Channel")
|
||||
|
||||
self.relay_hub_service.register_message_destination("dc_member_log", self.handle_logging_members,
|
||||
["member_logger"], ["dc_member_log"])
|
||||
self.setting_service.register_new(self.module_name, "dc_member_log", 0, NumberSettingType(allow_empty=True),
|
||||
self.setting_service.register(self.module_name, "dc_member_log", 0, NumberSettingType(allow_empty=True),
|
||||
"ChannelID for the Member Log")
|
||||
|
||||
if Registry.get_instance("darknet", is_optional=True):
|
||||
self.relay_hub_service.register_message_destination("dc_darknet_log", self.handle_darknet_log, ["darknet"],
|
||||
[""])
|
||||
self.setting_service.register_new(self.module_name, "dc_darknet_log", 0, NumberSettingType(allow_empty=True),
|
||||
self.setting_service.register(self.module_name, "dc_darknet_log", 0, NumberSettingType(allow_empty=True),
|
||||
"ChannelID for the Darknet Log")
|
||||
|
||||
def handle_public_relay(self, ctx):
|
||||
|
||||
@@ -43,34 +43,33 @@ class RelayController:
|
||||
def start(self):
|
||||
self.message_hub_service.register_message_destination(self.MESSAGE_SOURCE,
|
||||
self.handle_message_from_hub,
|
||||
["private_channel", "org_channel",
|
||||
"discord", "tell_relay"],
|
||||
["private_channel", "org_channel"],
|
||||
[self.MESSAGE_SOURCE])
|
||||
|
||||
self.setting_service.register_new(self.module_name, "websocket_relay_enabled", False, BooleanSettingType(),
|
||||
self.setting_service.register(self.module_name, "websocket_relay_enabled", False, BooleanSettingType(),
|
||||
"Enable the websocket relay")
|
||||
self.setting_service.register_new(self.module_name, "websocket_relay_server_address",
|
||||
self.setting_service.register(self.module_name, "websocket_relay_server_address",
|
||||
"ws://localhost/subscribe/relay",
|
||||
TextSettingType(["ws://localhost/subscribe/relay"]),
|
||||
"The address of the websocket relay server",
|
||||
"All bots on the relay must connect to the same server and channel. "
|
||||
"If using the public relay server, use a unique channel name.")
|
||||
self.setting_service.register_new(self.module_name, "websocket_relay_channel_color", "#FFFF00",
|
||||
self.setting_service.register(self.module_name, "websocket_relay_channel_color", "#FFFF00",
|
||||
ColorSettingType(), "Color of the channel in websocket relay messages")
|
||||
self.setting_service.register_new(self.module_name, "websocket_relay_message_color", "#FCA712",
|
||||
self.setting_service.register(self.module_name, "websocket_relay_message_color", "#FCA712",
|
||||
ColorSettingType(),
|
||||
"Color of the message content in websocket relay messages")
|
||||
self.setting_service.register_new(self.module_name, "websocket_relay_sender_color", "#00DE42",
|
||||
self.setting_service.register(self.module_name, "websocket_relay_sender_color", "#00DE42",
|
||||
ColorSettingType(), "Color of the sender in websocket relay messages")
|
||||
self.setting_service.register_new(self.module_name, "websocket_encryption_key", "",
|
||||
self.setting_service.register(self.module_name, "websocket_encryption_key", "",
|
||||
HiddenSettingType(allow_empty=True),
|
||||
"An encryption key used to encrypt messages over a public websocket relay")
|
||||
self.setting_service.register_new(self.module_name, "ws_relay_prefix", "", TextSettingType(allow_empty=True),
|
||||
self.setting_service.register(self.module_name, "ws_relay_prefix", "", TextSettingType(allow_empty=True),
|
||||
"Name of this relay (if you don't want to use org or bot name)")
|
||||
self.setting_service.register_new(self.module_name, "ws_msg_relay_prefix", "||",
|
||||
self.setting_service.register(self.module_name, "ws_msg_relay_prefix", "||",
|
||||
TextSettingType(["!", "#", "*", "@", "$", "+", "-"]),
|
||||
"Prefix for Messages which should get relayed")
|
||||
self.setting_service.register_new(self.module_name, "ws_relay_type", "with_symbol",
|
||||
self.setting_service.register(self.module_name, "ws_relay_type", "with_symbol",
|
||||
TextSettingType(["with_symbol", "unless_symbol", "always"]),
|
||||
"Relay Messages", )
|
||||
self.initialize_encrypter(self.setting_service.get("websocket_encryption_key").get_value())
|
||||
|
||||
@@ -36,7 +36,7 @@ class WebsocketRelayController(BaseModule):
|
||||
|
||||
def pre_start(self):
|
||||
self.event_service.register_event_type(self.WS_RELAY)
|
||||
self.setting_service.register_new(self.module_name,
|
||||
self.setting_service.register(self.module_name,
|
||||
'relay_address',
|
||||
'ws://localhost:25500',
|
||||
TextSettingType([], allow_empty=True),
|
||||
|
||||
@@ -93,7 +93,7 @@ class LootController:
|
||||
if self.loot_list[item_index]:
|
||||
self.last_modify = int(time.time())
|
||||
self.bot.send_private_channel_message(
|
||||
"Removed %s from loot list." % self.loot_list.pop(item_index).get_item_str())
|
||||
f"Removed {self.loot_list.pop(item_index).get_item_str()} from loot list.")
|
||||
else:
|
||||
return "Item error."
|
||||
except KeyError:
|
||||
@@ -115,7 +115,7 @@ class LootController:
|
||||
loot_item.count += 1
|
||||
self.last_modify = int(time.time())
|
||||
self.bot.send_private_channel_message(
|
||||
"Increased item count for %s to %d." % (loot_item.get_item_str(), loot_item.count))
|
||||
f"Increased item count for {loot_item.get_item_str()} to {loot_item.count:d}.")
|
||||
else:
|
||||
return "Item error."
|
||||
except KeyError:
|
||||
@@ -137,7 +137,7 @@ class LootController:
|
||||
loot_item.count = loot_item.count - 1 if loot_item.count > 1 else 1
|
||||
self.last_modify = int(time.time())
|
||||
self.bot.send_private_channel_message(
|
||||
"Decreased item count for %s to %d." % (loot_item.get_item_str(), loot_item.count))
|
||||
f"Decreased item count for {loot_item.get_item_str()} to {loot_item.count:d}.")
|
||||
else:
|
||||
return "Item error."
|
||||
except KeyError:
|
||||
@@ -173,12 +173,12 @@ class LootController:
|
||||
self.last_modify = int(time.time())
|
||||
|
||||
if old_item is not None:
|
||||
text = "moved from %s to %s." % (old_item.get_item_str(), loot_item.get_item_str())
|
||||
self.bot.send_mass_message(request.sender.char_id, "You have %s" % text)
|
||||
text = f"moved from {old_item.get_item_str()} to {loot_item.get_item_str()}."
|
||||
self.bot.send_mass_message(request.sender.char_id, f"You have {text}")
|
||||
self.bot.send_private_channel_message(request.sender.name + " " + text)
|
||||
else:
|
||||
text = "added to %s." % loot_item.get_item_str()
|
||||
self.bot.send_mass_message(request.sender.char_id, "You have %s" % text)
|
||||
text = f"added to {loot_item.get_item_str()}."
|
||||
self.bot.send_mass_message(request.sender.char_id, f"You have {text}")
|
||||
self.bot.send_private_channel_message(request.sender.name + " " + text)
|
||||
|
||||
except KeyError:
|
||||
@@ -193,8 +193,8 @@ class LootController:
|
||||
loot_item.bidders.remove(request.sender.name)
|
||||
|
||||
self.last_modify = int(time.time())
|
||||
text = "removed from %s." % loot_item.get_item_str()
|
||||
self.bot.send_private_message(request.sender.char_id, "You were %s" % text)
|
||||
text = f"removed from {loot_item.get_item_str()}."
|
||||
self.bot.send_private_message(request.sender.char_id, f"You were {text}")
|
||||
self.bot.send_private_channel_message(request.sender.name + " was " + text)
|
||||
else:
|
||||
return "You are not added to any loot."
|
||||
@@ -230,15 +230,14 @@ class LootController:
|
||||
"loot",
|
||||
f"{loot_item.get_item_str()}",
|
||||
request.sender.char_id)
|
||||
blob += "%d. %s\n" % (i, loot_item.get_item_str())
|
||||
blob += " | Winners: <red>%s<end>\n\n" % '<end>, <red>'.join(winners)
|
||||
blob += f"{i:d}. {loot_item.get_item_str()}\n"
|
||||
blob += f" | Winners: <red>{'<end>, <red>'.join(winners)}<end>\n\n"
|
||||
if loot_item.count == 0:
|
||||
remove.append(i)
|
||||
for i in remove:
|
||||
self.loot_list.pop(i)
|
||||
|
||||
msg = ChatBlob("Roll results", blob)
|
||||
msg.page_prefix = "Time is up! "
|
||||
msg = ChatBlob("Roll results", blob, "\n________________\n\n<red>Time is UP!</red>\n", "\n________________")
|
||||
self.bot.send_private_channel_message(msg if len(blob) > 0 else "No one was added to any loot")
|
||||
if self.loot_list:
|
||||
count = 1
|
||||
@@ -250,6 +249,8 @@ class LootController:
|
||||
del self.loot_list[key]
|
||||
self.loot_list[count] = loot_item
|
||||
count += 1
|
||||
if len(self.loot_list) > 0:
|
||||
self.bot.send_private_channel_message(f"Theres still loot left to roll, the list has been rebuilt.")
|
||||
else:
|
||||
return "No loot to roll."
|
||||
|
||||
@@ -267,9 +268,9 @@ class LootController:
|
||||
if item:
|
||||
self.add_item_to_loot(item, item.comment, item_count)
|
||||
|
||||
self.bot.send_private_channel_message("Added %s to loot list." % item.name)
|
||||
self.bot.send_private_channel_message(f"Added {item.name} to loot list.")
|
||||
else:
|
||||
return "Failed to add item with ID %s." % raid_item_id
|
||||
return f"Failed to add item with ID {raid_item_id}."
|
||||
|
||||
@command(command="loot", params=[Const("addraid"), Any("raid"), Any("category")],
|
||||
description="Add all loot from pre-defined raid", access_level="leader", sub_command="modify")
|
||||
@@ -313,7 +314,7 @@ class LootController:
|
||||
|
||||
self.add_item_to_loot(item, item_count=item_count)
|
||||
|
||||
self.bot.send_private_channel_message("%s was added to loot list." % item.name)
|
||||
self.bot.send_private_channel_message(f"{item.name} was added to loot list.")
|
||||
|
||||
@command(command="loot",
|
||||
params=[Const("additem", is_optional=True), Any("item"), Int("item_count", is_optional=True)],
|
||||
@@ -397,8 +398,8 @@ class LootController:
|
||||
f"[ {self.text.make_tellcmd('REM', f'loot remitem {i}')} ]</yellow>\n\n"
|
||||
else:
|
||||
if len(bidders) > 0:
|
||||
blob += "<yellow>%s<end>\n\n" % ', '.join(bidders)
|
||||
blob += f"<yellow>{', '.join(bidders)}<end>\n\n"
|
||||
else:
|
||||
blob += "<yellow>None added<end>\n\n"
|
||||
|
||||
return ChatBlob("Loot (%d)" % len(self.loot_list), blob)
|
||||
return ChatBlob(f"Loot ({len(self.loot_list):d})", blob)
|
||||
|
||||
@@ -113,7 +113,7 @@ class LootListsController:
|
||||
self.command_alias_service.add_alias("alba", "albtraum")
|
||||
|
||||
self.command_alias_service.add_alias("lt", "loottables")
|
||||
self.command_alias_service.add_alias("raids", "loottables")
|
||||
# self.command_alias_service.add_alias("raids", "loottables")
|
||||
self.command_alias_service.add_alias("ltables", "loottables")
|
||||
self.command_alias_service.add_alias("loots", "loottables")
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ class WorldBossController:
|
||||
self.setting_service: SettingService = registry.get_instance("setting_service")
|
||||
|
||||
def pre_start(self):
|
||||
self.setting_service.register_new(self.module_name, 'timer_spam', True, BooleanSettingType(),
|
||||
self.setting_service.register(self.module_name, 'timer_spam', True, BooleanSettingType(),
|
||||
"should timers be spammed")
|
||||
|
||||
@event(WebsocketRelayController.WS_RELAY, "save most current timers")
|
||||
|
||||
@@ -34,9 +34,9 @@ class LeaderController:
|
||||
|
||||
def pre_start(self):
|
||||
self.command_alias_service.add_alias("repeat", "leader echo")
|
||||
self.setting_service.register_new(self.module_name, "leader_echo_color", "#00FF00", ColorSettingType(),
|
||||
self.setting_service.register(self.module_name, "leader_echo_color", "#00FF00", ColorSettingType(),
|
||||
"Color with which the leader's messages will be echoed with")
|
||||
self.setting_service.register_new(self.module_name, "leader_auto_echo", True, BooleanSettingType(),
|
||||
self.setting_service.register(self.module_name, "leader_auto_echo", True, BooleanSettingType(),
|
||||
"If turned on, when someone assume the leader role, "
|
||||
"leader echo will automatically be activated for said person")
|
||||
|
||||
|
||||
@@ -47,11 +47,11 @@ class TrackController(BaseModule):
|
||||
def pre_start(self):
|
||||
self.event_service.register_event_type("track_logon")
|
||||
self.event_service.register_event_type("track_logoff")
|
||||
self.setting_service.register_new(self.module_name, "track_on_color", "#FF0000", ColorSettingType(),
|
||||
self.setting_service.register(self.module_name, "track_on_color", "#FF0000", ColorSettingType(),
|
||||
"Color for Track logon")
|
||||
self.setting_service.register_new(self.module_name, "track_off_color", "#00FF00", ColorSettingType(),
|
||||
self.setting_service.register(self.module_name, "track_off_color", "#00FF00", ColorSettingType(),
|
||||
"Color for Track logoff")
|
||||
self.setting_service.register_new(self.module_name, "autotrack", 'none',
|
||||
self.setting_service.register(self.module_name, "autotrack", 'none',
|
||||
TextSettingType(['omni', 'clan', 'neutral', "none"]),
|
||||
"Autotrack all players initiating tower attacks towards this faction:")
|
||||
self.db.exec(
|
||||
|
||||
Reference in New Issue
Block a user