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:
2021-08-29 17:54:18 +02:00
parent 82d2be8de2
commit 9f1da9a00d
24 changed files with 163 additions and 169 deletions
@@ -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,40 +48,42 @@ 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")
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),
"ChannelID for the Darknet 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(self.module_name, "dc_darknet_log", 0, NumberSettingType(allow_empty=True),
"ChannelID for the Darknet Log")
def handle_public_relay(self, ctx):
if self.setting_service.get_value("dc_relay_public") != "0":
+17 -18
View File
@@ -43,35 +43,34 @@ 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"]),
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",
ColorSettingType(), "Color of the channel in websocket relay messages")
self.setting_service.register_new(self.module_name, "websocket_relay_message_color", "#FCA712",
ColorSettingType(),
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(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",
ColorSettingType(), "Color of the sender in websocket relay messages")
self.setting_service.register_new(self.module_name, "websocket_encryption_key", "",
HiddenSettingType(allow_empty=True),
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(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", "||",
TextSettingType(["!", "#", "*", "@", "$", "+", "-"]),
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",
TextSettingType(["with_symbol", "unless_symbol", "always"]),
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())
+2 -2
View File
@@ -36,10 +36,10 @@ 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),
TextSettingType([], allow_empty=True),
"relay for timers, tower info, ...")
@timerevent(budatime="1s", description="Relay messages from Data relay to the internal message hub",
+19 -18
View File
@@ -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")
+2 -2
View File
@@ -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")
+4 -4
View File
@@ -47,12 +47,12 @@ 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',
TextSettingType(['omni', 'clan', 'neutral', "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(
"CREATE TABLE IF NOT EXISTS track("