mirror of
https://gitlab.com/chicken-riders/RcGcDb.git
synced 2025-02-23 00:54:09 +00:00
Fix queue logic for Discord messages with components and add rc_ prefix
This commit is contained in:
parent
cbcf3624e1
commit
214da2ded8
|
@ -50,7 +50,7 @@ def buttons_hook(message: DiscordMessage, metadata: DiscordMessageMetadata, cont
|
|||
action_buttons = context.buttons or ""
|
||||
if not len(action_buttons) or context.feed_type == "discussion":
|
||||
return
|
||||
BUTTON_PREFIX = context.client.WIKI_SCRIPT_PATH[len(context.client.WIKI_JUST_DOMAIN):]
|
||||
BUTTON_PREFIX = "rc_" + context.client.WIKI_SCRIPT_PATH[len(context.client.WIKI_JUST_DOMAIN):]
|
||||
if "block" in action_buttons and context.event != "suppressed":
|
||||
add_button(message,
|
||||
BUTTON_PREFIX + " block " + ("#" + str(change["userid"]) if change["userid"] else change["user"]),
|
||||
|
|
|
@ -115,6 +115,15 @@ class MessageQueue:
|
|||
async def pack_massages(self, messages: list[QueueEntry], current_pack=None) -> AsyncGenerator[tuple[StackedDiscordMessage, int, str], None]:
|
||||
"""Pack messages into StackedDiscordMessage. It's an async generator"""
|
||||
for index, message in enumerate(messages):
|
||||
if "components" in message.discord_message.webhook_object: # In case of messages with Discord components bypass the stacking logic
|
||||
separate_pack = StackedDiscordMessage(0 if message.discord_message.message_type == "compact" else 1,
|
||||
message.wiki) # next messages
|
||||
separate_pack.add_message(message.discord_message)
|
||||
if current_pack and current_pack.message_list: # If we have stacked messages in the queue flush them and send them to preserve order
|
||||
yield current_pack, index - 1, "POST"
|
||||
current_pack = None
|
||||
yield separate_pack, index, message.method
|
||||
continue
|
||||
if message.method == "POST":
|
||||
if current_pack is None:
|
||||
current_pack = StackedDiscordMessage(0 if message.discord_message.message_type == "compact" else 1,
|
||||
|
|
Loading…
Reference in a new issue