fix for double blob spam (temp)

This commit is contained in:
2022-04-16 15:41:40 +02:00
parent b230660c2f
commit 250887e2bb
8 changed files with 48 additions and 66 deletions
+1 -1
View File
@@ -152,7 +152,7 @@ class Text:
elif char_info.name: elif char_info.name:
msg = f"<highlight>{char_info.name}</highlight>" msg = f"<highlight>{char_info.name}</highlight>"
else: else:
msg = f"<highlight>CharId({char_info.char_id:d})</highlight>" msg = f"<highlight>CharId({char_info.char_id})</highlight>"
if check_ban and self.ban: if check_ban and self.ban:
banned = f" :: <red>Banned!</red>" if self.ban.get_ban(char_info.char_id) else "" banned = f" :: <red>Banned!</red>" if self.ban.get_ban(char_info.char_id) else ""
msg += banned msg += banned
+1 -1
View File
@@ -189,7 +189,7 @@ class AltsController:
f":: <{alt.faction.lower()}>{name}</{alt.faction.lower()}>" f":: <{alt.faction.lower()}>{name}</{alt.faction.lower()}>"
if alt.org_name != "": if alt.org_name != "":
blob += f" [<{alt.faction.lower()}>{alt.org_name}</{alt.faction.lower()}> - " \ blob += f" [<{alt.faction.lower()}>{alt.org_name}</{alt.faction.lower()}> - " \
f"<highlight>{alt.org_rank_id + 1}</highlight>]" f"<highlight>{alt.org_rank_id}</highlight>]"
if self.buddy_service.is_online(alt.char_id): if self.buddy_service.is_online(alt.char_id):
blob += " [<green>Online</green>]" blob += " [<green>Online</green>]"
blob += "\n" blob += "\n"
@@ -24,7 +24,7 @@ from modules.standard.online.online_display import OnlineDisplay
@instance() @instance()
class PrivateChannelController: class PrivateChannelController:
MESSAGE_SOURCE = "private_channel" MESSAGE_SOURCE = "private_channel"
PRIVATE_CHANNEL_PREFIX = "[<cyan>Priv</cyan>] " PRIVATE_CHANNEL_PREFIX = "[<cyan>Priv</cyan>]"
def inject(self, registry): def inject(self, registry):
self.bot: IgnCore = registry.get_instance("bot") self.bot: IgnCore = registry.get_instance("bot")
@@ -192,7 +192,7 @@ class PrivateChannelController:
char_name = self.character_service.resolve_char_to_name(event_data.char_id) char_name = self.character_service.resolve_char_to_name(event_data.char_id)
sender = DictObject({"char_id": event_data.char_id, "name": char_name}) sender = DictObject({"char_id": event_data.char_id, "name": char_name})
char = self.text.make_charlink(char_name) char = self.text.make_charlink(char_name)
formatted_message = f"{self.PRIVATE_CHANNEL_PREFIX}{char}: {event_data.message}" formatted_message = f"{self.PRIVATE_CHANNEL_PREFIX} {char}: {event_data.message}"
self.message_hub_service.send_message(self.MESSAGE_SOURCE, sender, event_data.message, formatted_message) self.message_hub_service.send_message(self.MESSAGE_SOURCE, sender, event_data.message, formatted_message)
@event(event_type=PrivateChannelService.JOINED_PRIVATE_CHANNEL_EVENT, @event(event_type=PrivateChannelService.JOINED_PRIVATE_CHANNEL_EVENT,
@@ -214,7 +214,7 @@ class PrivateChannelController:
msg = f"{self.text.format_char_info(self.pork.get_character_info(event_data.char_id))} joined us {info}" msg = f"{self.text.format_char_info(self.pork.get_character_info(event_data.char_id))} joined us {info}"
self.bot.send_private_channel_message(msg, fire_outgoing_event=False) self.bot.send_private_channel_message(msg, fire_outgoing_event=False)
self.message_hub_service.send_message(self.MESSAGE_SOURCE, None, msg, self.PRIVATE_CHANNEL_PREFIX + msg) self.message_hub_service.send_message(self.MESSAGE_SOURCE, None, msg, self.PRIVATE_CHANNEL_PREFIX + " " + msg)
afk_list = {} afk_list = {}
if self.online_controller: if self.online_controller:
afk_list = self.online_controller.afk_list afk_list = self.online_controller.afk_list
@@ -237,17 +237,17 @@ class PrivateChannelController:
def outgoing_private_channel_message_event(self, _, event_data): def outgoing_private_channel_message_event(self, _, event_data):
if isinstance(event_data.message, ChatBlob): if isinstance(event_data.message, ChatBlob):
pages = self.text.paginate(event_data.message, # pages = self.text.paginate(event_data.message,
self.setting_service.get("org_channel_max_page_length").get_value()) # self.setting_service.get("org_channel_max_page_length").get_value())
if len(pages) < 4: # if len(pages) < 4:
for page in pages: # for page in pages:
# message = "{org} {message}".format(org=self.ORG_CHANNEL_PREFIX, message=page) # # message = "{org} {message}".format(org=self.ORG_CHANNEL_PREFIX, message=page)
event_data.message.page_prefix = self.PRIVATE_CHANNEL_PREFIX + " " + event_data.message.page_prefix # event_data.message.page_prefix = self.PRIVATE_CHANNEL_PREFIX + " " + event_data.message.page_prefix
self.message_hub_service.send_message(self.MESSAGE_SOURCE, # self.message_hub_service.send_message(self.MESSAGE_SOURCE,
None, # None,
page, # page,
event_data.message) # event_data.message)
else: # else:
# message = "{org} {message}".format(org=self.ORG_CHANNEL_PREFIX, message=event_data.message.title) # message = "{org} {message}".format(org=self.ORG_CHANNEL_PREFIX, message=event_data.message.title)
event_data.message.page_prefix = self.PRIVATE_CHANNEL_PREFIX + " " + event_data.message.page_prefix event_data.message.page_prefix = self.PRIVATE_CHANNEL_PREFIX + " " + event_data.message.page_prefix
self.message_hub_service.send_message(self.MESSAGE_SOURCE, self.message_hub_service.send_message(self.MESSAGE_SOURCE,
@@ -255,7 +255,7 @@ class PrivateChannelController:
event_data.message.title, event_data.message.title,
event_data.message) event_data.message)
else: else:
message = "{priv}{message}".format(priv=self.PRIVATE_CHANNEL_PREFIX, message=event_data.message) message = "{priv} {message}".format(priv=self.PRIVATE_CHANNEL_PREFIX, message=event_data.message)
self.message_hub_service.send_message(self.MESSAGE_SOURCE, self.message_hub_service.send_message(self.MESSAGE_SOURCE,
None, None,
message, message,
@@ -13,6 +13,7 @@ class OrgOnlineController(OnlineController):
access_level="member") access_level="member")
def online_all_cmd(self, request, const_all, min_level, profession): def online_all_cmd(self, request, const_all, min_level, profession):
query = "" query = ""
const_all = True if request.channel == "discord" and const_all else False
params = [self.bot.name, self.bot.get_char_id()] params = [self.bot.name, self.bot.get_char_id()]
priv = self.priv.in_private_channel(request.sender.char_id) priv = self.priv.in_private_channel(request.sender.char_id)
if priv: if priv:
-21
View File
@@ -50,24 +50,3 @@ class OrgOnlineController(OnlineController):
if entry.logon: if entry.logon:
return f"Your current logoff message is: <grey>{entry.logon}</grey>" return f"Your current logoff message is: <grey>{entry.logon}</grey>"
return f"You do not have a logoff message set." return f"You do not have a logoff message set."
@command(command="online", params=[Const('all', is_optional=True),
Int("min_level", is_optional=True),
Any("profession", is_optional=True)],
description="shows online players",
access_level="member")
def online_all_cmd(self, request, const_all, min_level, profession):
query = ""
params = [self.bot.name, self.bot.get_char_id()]
if const_all:
query += "and channel_id IN (1, 2, 3) "
else:
query += "and channel_id IN (1, 2) "
if min_level:
query += "and p.level >= ? "
params.append(min_level)
if profession:
query += "and p.profession = ? "
params.append(self.util.get_profession(profession))
blob = self.online_display.format_by_channel_main(query, params)
request.reply(self.online_display.format_blob(blob))
+11 -11
View File
@@ -116,17 +116,17 @@ class OrgChannelController:
is_hidden=True) is_hidden=True)
def outgoing_org_message_event(self, _, event_data): def outgoing_org_message_event(self, _, event_data):
if isinstance(event_data.message, ChatBlob): if isinstance(event_data.message, ChatBlob):
pages = self.text.paginate(event_data.message, # pages = self.text.paginate(event_data.message,
self.setting_service.get("org_channel_max_page_length").get_value()) # self.setting_service.get("org_channel_max_page_length").get_value())
if len(pages) < 4: # if len(pages) < 4:
for page in pages: # for page in pages:
# message = "{org} {message}".format(org=self.ORG_CHANNEL_PREFIX, message=page) # # message = "{org} {message}".format(org=self.ORG_CHANNEL_PREFIX, message=page)
event_data.message.page_prefix = self.ORG_CHANNEL_PREFIX + " " + event_data.message.page_prefix # event_data.message.page_prefix = self.ORG_CHANNEL_PREFIX + " " + event_data.message.page_prefix
self.message_hub_service.send_message(self.MESSAGE_SOURCE, # self.message_hub_service.send_message(self.MESSAGE_SOURCE,
None, # None,
page, # page,
event_data.message) # event_data.message)
else: # else:
# message = "{org} {message}".format(org=self.ORG_CHANNEL_PREFIX, message=event_data.message.title) # message = "{org} {message}".format(org=self.ORG_CHANNEL_PREFIX, message=event_data.message.title)
event_data.message.page_prefix = self.ORG_CHANNEL_PREFIX + " " + event_data.message.page_prefix event_data.message.page_prefix = self.ORG_CHANNEL_PREFIX + " " + event_data.message.page_prefix
self.message_hub_service.send_message(self.MESSAGE_SOURCE, self.message_hub_service.send_message(self.MESSAGE_SOURCE,
+4 -2
View File
@@ -6,6 +6,7 @@ from core.bot_status import BotStatus
from core.buddy_service import BuddyService from core.buddy_service import BuddyService
from core.command_alias_service import CommandAliasService from core.command_alias_service import CommandAliasService
from core.command_param_types import Int, Any, Const, Options from core.command_param_types import Int, Any, Const, Options
from core.command_request import CommandRequest
from core.db import DB from core.db import DB
from core.decorators import instance, event, command from core.decorators import instance, event, command
from core.dict_object import DictObject from core.dict_object import DictObject
@@ -108,8 +109,9 @@ class OnlineController:
Any("profession", is_optional=True)], Any("profession", is_optional=True)],
description="shows online players", description="shows online players",
access_level="member") access_level="member")
def online_all_cmd(self, _, const_all, min_level, profession): def online_all_cmd(self, request: CommandRequest, const_all, min_level, profession):
query = "" query = ""
const_all = True if request.channel == "discord" and const_all else False
params = [self.bot.name, self.bot.get_char_id()] params = [self.bot.name, self.bot.get_char_id()]
if const_all: if const_all:
query += "and channel_id IN (1, 2, 3) " query += "and channel_id IN (1, 2, 3) "
@@ -122,7 +124,7 @@ class OnlineController:
query += "and p.profession = ? " query += "and p.profession = ? "
params.append(self.util.get_profession(profession)) params.append(self.util.get_profession(profession))
blob = self.online_display.format_by_channel_main(query, params) blob = self.online_display.format_by_channel_main(query, params)
_.reply(self.online_display.format_blob(blob)) request.reply(self.online_display.format_blob(blob))
@command(command="count", @command(command="count",
params=[Options(["org", "prof", "tl"], is_optional=True), Any("filter", is_optional=True)], params=[Options(["org", "prof", "tl"], is_optional=True), Any("filter", is_optional=True)],
@@ -87,11 +87,11 @@ class CharacterInfoController:
blob += f"Faction: {self.text.get_formatted_faction(char_info.faction)}\n" blob += f"Faction: {self.text.get_formatted_faction(char_info.faction)}\n"
blob += f"Breed: {char_info.breed}\n" blob += f"Breed: {char_info.breed}\n"
blob += f"Gender: {char_info.gender}\n" blob += f"Gender: {char_info.gender}\n"
blob += f"Level: {char_info.level:d}\n" blob += f"Level: {char_info.level}\n"
blob += f"AI Level: <green>{char_info.ai_level:d}</green>\n" blob += f"AI Level: <green>{char_info.ai_level:d}</green>\n"
if char_info.org_id: if char_info.org_id:
blob += f"Org: <highlight>{char_info.org_name}</highlight> ({char_info.org_id:d})\n" blob += f"Org: <highlight>{char_info.org_name}</highlight> ({char_info.org_id})\n"
blob += f"Org Rank: {char_info.org_rank_name} ({char_info.org_rank_id:d})\n" blob += f"Org Rank: {char_info.org_rank_name} ({char_info.org_rank_id})\n"
else: else:
blob += "Org: &lt;None&gt;\n" blob += "Org: &lt;None&gt;\n"
blob += "Org Rank: &lt;None&gt;\n" blob += "Org Rank: &lt;None&gt;\n"