From 1013d472e65941fcb5e3adfe1d9a7beceb8403e5 Mon Sep 17 00:00:00 2001 From: david Date: Tue, 13 Oct 2026 05:17:15 -0300 Subject: filter unavailable stickers/emojis in on_random. locked stickers and emojis were still in the guild lists, causing 50081 (cannot use this sticker) and 10014 (unknown emoji) errors and skipping the llm reply --- bot.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'bot.py') diff --git a/bot.py b/bot.py index 02dd4e1..7485ef2 100644 --- a/bot.py +++ b/bot.py @@ -261,8 +261,9 @@ async def on_random(message) -> bool: # single weighted pick between sticker/emoji/media, used as a substitute for an actual # llm reply — only called once on_message already decided this message gets a response. # returns True if it fired (caller should skip the llm call), False if it should proceed normally. - stickers = list(message.guild.stickers) - emojis = [str(e) for e in message.guild.emojis] + # skip locked/role-restricted ones, discord rejects those (50081 / 10014) + stickers = [s for s in message.guild.stickers if s.available] + emojis = [str(e) for e in message.guild.emojis if e.available and not e.roles] options = [] if stickers: -- cgit v1.3-2-g0d8e