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:
msg = f"<highlight>{char_info.name}</highlight>"
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:
banned = f" :: <red>Banned!</red>" if self.ban.get_ban(char_info.char_id) else ""
msg += banned
+1 -1
View File
@@ -189,7 +189,7 @@ class AltsController:
f":: <{alt.faction.lower()}>{name}</{alt.faction.lower()}>"
if alt.org_name != "":
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):
blob += " [<green>Online</green>]"
blob += "\n"
@@ -24,7 +24,7 @@ from modules.standard.online.online_display import OnlineDisplay
@instance()
class PrivateChannelController:
MESSAGE_SOURCE = "private_channel"
PRIVATE_CHANNEL_PREFIX = "[<cyan>Priv</cyan>] "
PRIVATE_CHANNEL_PREFIX = "[<cyan>Priv</cyan>]"
def inject(self, registry):
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)
sender = DictObject({"char_id": event_data.char_id, "name": 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)
@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}"
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 = {}
if self.online_controller:
afk_list = self.online_controller.afk_list
@@ -237,25 +237,25 @@ class PrivateChannelController:
def outgoing_private_channel_message_event(self, _, event_data):
if isinstance(event_data.message, ChatBlob):
pages = self.text.paginate(event_data.message,
self.setting_service.get("org_channel_max_page_length").get_value())
if len(pages) < 4:
for page in pages:
# 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
self.message_hub_service.send_message(self.MESSAGE_SOURCE,
None,
page,
event_data.message)
else:
# 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
self.message_hub_service.send_message(self.MESSAGE_SOURCE,
None,
event_data.message.title,
event_data.message)
# pages = self.text.paginate(event_data.message,
# self.setting_service.get("org_channel_max_page_length").get_value())
# if len(pages) < 4:
# for page in pages:
# # 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
# self.message_hub_service.send_message(self.MESSAGE_SOURCE,
# None,
# page,
# event_data.message)
# else:
# 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
self.message_hub_service.send_message(self.MESSAGE_SOURCE,
None,
event_data.message.title,
event_data.message)
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,
None,
message,
@@ -13,6 +13,7 @@ class OrgOnlineController(OnlineController):
access_level="member")
def online_all_cmd(self, request, const_all, min_level, profession):
query = ""
const_all = True if request.channel == "discord" and const_all else False
params = [self.bot.name, self.bot.get_char_id()]
priv = self.priv.in_private_channel(request.sender.char_id)
if priv:
-21
View File
@@ -50,24 +50,3 @@ class OrgOnlineController(OnlineController):
if entry.logon:
return f"Your current logoff message is: <grey>{entry.logon}</grey>"
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))
+17 -17
View File
@@ -116,23 +116,23 @@ class OrgChannelController:
is_hidden=True)
def outgoing_org_message_event(self, _, event_data):
if isinstance(event_data.message, ChatBlob):
pages = self.text.paginate(event_data.message,
self.setting_service.get("org_channel_max_page_length").get_value())
if len(pages) < 4:
for page in pages:
# 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
self.message_hub_service.send_message(self.MESSAGE_SOURCE,
None,
page,
event_data.message)
else:
# 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
self.message_hub_service.send_message(self.MESSAGE_SOURCE,
None,
event_data.message.title,
event_data.message)
# pages = self.text.paginate(event_data.message,
# self.setting_service.get("org_channel_max_page_length").get_value())
# if len(pages) < 4:
# for page in pages:
# # 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
# self.message_hub_service.send_message(self.MESSAGE_SOURCE,
# None,
# page,
# event_data.message)
# else:
# 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
self.message_hub_service.send_message(self.MESSAGE_SOURCE,
None,
event_data.message.title,
event_data.message)
else:
message = "{org} {message}".format(org=self.ORG_CHANNEL_PREFIX, message=event_data.message)
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.command_alias_service import CommandAliasService
from core.command_param_types import Int, Any, Const, Options
from core.command_request import CommandRequest
from core.db import DB
from core.decorators import instance, event, command
from core.dict_object import DictObject
@@ -108,8 +109,9 @@ class OnlineController:
Any("profession", is_optional=True)],
description="shows online players",
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 = ""
const_all = True if request.channel == "discord" and const_all else False
params = [self.bot.name, self.bot.get_char_id()]
if const_all:
query += "and channel_id IN (1, 2, 3) "
@@ -122,7 +124,7 @@ class OnlineController:
query += "and p.profession = ? "
params.append(self.util.get_profession(profession))
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",
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"Breed: {char_info.breed}\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"
if char_info.org_id:
blob += f"Org: <highlight>{char_info.org_name}</highlight> ({char_info.org_id:d})\n"
blob += f"Org Rank: {char_info.org_rank_name} ({char_info.org_rank_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})\n"
else:
blob += "Org: &lt;None&gt;\n"
blob += "Org Rank: &lt;None&gt;\n"