Getting 404 Not Found (error code: 10062): Unknown interaction exceptions in the following py files.
Some, but not sure if all of these are resulting in players not getting rewarded experience/gold after an adventure. When the time is up, the results embed never sends.
game_session.py -> send_response
Happens mostly when psychics try to use their special via button, but i do have 3 instances of the attack button causing it.
54 events on sentry in the last 24 hours (356 in last 30 days)
line 60 await interaction.response.send_message(box(choice, lang="ansi"), ephemeral=True)
also line 123 await interaction.response.send_message("You have already cast a spell at this monster.", ephemeral=True) this only happened once and there was no breadcrumbs other than [p]adventure being ran by a player
menus.py -> callback
This occurred from the stats command for a player.
1 event in last 24 hours (28 in last 30 days)
line 441 await interaction.response.edit_message(**kwargs)
helpers.py -> smart_embed
This occurs when psychic uses their special via the button rather than the command. And also rarely for the attack button.
line 76, await interaction.response.send_message(embed=embed, ephemeral=ephemeral, view=view)
helpers.py -> putaway_button
Occurs when clicking the putaway button
line 217 await interaction.response.defer()
Complete these first
[x] I confirm that I am the owner of the bot running Adventure.
[x] I confirm that I have not modified the source code of Adventure.
[ ] I'm an Adventure user but not the bot owner.
[x] I confirm that I have checked the issue tracker and this bug hasn't been reported already.
Command names
[p]stats - for the exception in the menus.py callback function
[p]adventure - for the rest of the occurances
[p]loot - putaway button specifically
Expected Behavior
The interaction object should be handled if stale?
The adventure results embed should come in as intended.
The psychic special button to handle the response properly.
Current Behavior
Version: 4.0.4
Players not getting rewarded experience/gold after an adventure. When the time is up, the results embed never sends.
A reload fixes this for a while.
Possible Solution
Handle stale/already reacted interactions, maybe use the channel attr from them as a backup and just send to the channel non-ephemerally. I tried forking for a bit and just catching the exceptions where they were happening, but then other unexpected issues started popping up so we reverted to the stock adventure branch. The issue seems to be higher up the logic path somewhere.
Steps to Reproduce
Get a lot of users playing non-stop
Have psychics use their specials with the button, not sure if all is caused by just psychics though.
Wait for exp/gold payout (or not, the error also occurs if they lost)
Maybe get the result embed, maybe not?
Context (Environment)
Ubuntu 22.04 (Proxmox VM with 2 cores / 10gb ram).
Private bot (Autto) in a 4.4k member guild.
Adventure config is about 2.8MB, and last checked this morning there were a lot of .tmp files in its config directory.
Adventure is played consistently by around 10 to 30 players at a time in a single guild. (private bot)
I don't play personally so I gathered as much feedback and context as i could from the players, and also referring to sentry for as much extra context as possible (using kowlins sentryio cog so there are breadcrumbs for each command)
I am not sure if it is related, nor do i have any evidence to support this, but one night at the exact moment an adventure failed to resolve and show results, 3 players in that adventure ended up with a few million red credits (not gold) after the game ended. We checked discord audit logs and extendedmodlogs for deleted messages, and looked at all 3 players chat history to find no evidence of them transferring gold to red credits. I havent dug super deep into the code so it could be totally coincidence and another cog is causing it, but just thought i'd point it out.
Getting
404 Not Found (error code: 10062): Unknown interaction
exceptions in the following py files.Some, but not sure if all of these are resulting in players not getting rewarded experience/gold after an adventure. When the time is up, the results embed never sends.
game_session.py -> send_response
Happens mostly when psychics try to use their special via button, but i do have 3 instances of the attack button causing it.
54 events on sentry in the last 24 hours (356 in last 30 days)
line 60
await interaction.response.send_message(box(choice, lang="ansi"), ephemeral=True)
also line 123
await interaction.response.send_message("You have already cast a spell at this monster.", ephemeral=True)
this only happened once and there was no breadcrumbs other than [p]adventure being ran by a playermenus.py -> callback
This occurred from the
stats
command for a player.await interaction.response.edit_message(**kwargs)
helpers.py -> smart_embed
This occurs when psychic uses their special via the button rather than the command. And also rarely for the attack button.
await interaction.response.send_message(embed=embed, ephemeral=ephemeral, view=view)
helpers.py -> putaway_button
Occurs when clicking the putaway button
await interaction.response.defer()
Complete these first
Command names
[p]stats - for the exception in the menus.py callback function [p]adventure - for the rest of the occurances [p]loot - putaway button specifically
Expected Behavior
The interaction object should be handled if stale? The adventure results embed should come in as intended. The psychic special button to handle the response properly.
Current Behavior
Version: 4.0.4 Players not getting rewarded experience/gold after an adventure. When the time is up, the results embed never sends. A reload fixes this for a while.
Possible Solution
Handle stale/already reacted interactions, maybe use the channel attr from them as a backup and just send to the channel non-ephemerally. I tried forking for a bit and just catching the exceptions where they were happening, but then other unexpected issues started popping up so we reverted to the stock adventure branch. The issue seems to be higher up the logic path somewhere.
Steps to Reproduce
Context (Environment)
.tmp
files in its config directory. Adventure is played consistently by around 10 to 30 players at a time in a single guild. (private bot) I don't play personally so I gathered as much feedback and context as i could from the players, and also referring to sentry for as much extra context as possible (using kowlins sentryio cog so there are breadcrumbs for each command)I am not sure if it is related, nor do i have any evidence to support this, but one night at the exact moment an adventure failed to resolve and show results, 3 players in that adventure ended up with a few million red credits (not gold) after the game ended. We checked discord audit logs and extendedmodlogs for deleted messages, and looked at all 3 players chat history to find no evidence of them transferring gold to red credits. I havent dug super deep into the code so it could be totally coincidence and another cog is causing it, but just thought i'd point it out.