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 ""
|
action_buttons = context.buttons or ""
|
||||||
if not len(action_buttons) or context.feed_type == "discussion":
|
if not len(action_buttons) or context.feed_type == "discussion":
|
||||||
return
|
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":
|
if "block" in action_buttons and context.event != "suppressed":
|
||||||
add_button(message,
|
add_button(message,
|
||||||
BUTTON_PREFIX + " block " + ("#" + str(change["userid"]) if change["userid"] else change["user"]),
|
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]:
|
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"""
|
"""Pack messages into StackedDiscordMessage. It's an async generator"""
|
||||||
for index, message in enumerate(messages):
|
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 message.method == "POST":
|
||||||
if current_pack is None:
|
if current_pack is None:
|
||||||
current_pack = StackedDiscordMessage(0 if message.discord_message.message_type == "compact" else 1,
|
current_pack = StackedDiscordMessage(0 if message.discord_message.message_type == "compact" else 1,
|
||||||
|
|
Loading…
Reference in a new issue