Paper Dynasty Discord - Discord bot for card game
Go to file
Cal Corum 51004ea143 Fix bot crash when substituting player without eligible position
Bug: When a user attempted to substitute a player who didn't have the required
position rating, the bot would display an error message but leave the database
session in an inconsistent state. The old player was marked inactive and flushed
to the session, but when the position check failed, the function returned early
without rolling back the session. This left the session dirty, causing crashes
on subsequent operations.

Fix: Added session.rollback() before returning when PositionNotFoundException
is caught, ensuring the database session is cleanly reset.

Location: utilities/dropdown.py:479-480 in SelectBatterSub.callback()

Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-12 16:02:35 -06:00
.plans Cogs to Packages Groundwork 2025-08-17 08:46:55 -05:00
.vscode Catchup commit 2025-07-22 09:22:19 -05:00
cogs CLAUDE: Add news-ticker message when gauntlet runs end with 2 losses 2025-11-10 09:17:55 -06:00
command_logic S10 Updates + PR Bugfix 2025-11-09 06:12:46 -06:00
discord_ui Catchup files 2025-11-11 13:22:06 -06:00
helpers Catchup files 2025-11-11 13:22:06 -06:00
in_game Added search functionality to /player command 2025-10-08 14:45:41 -05:00
migrations Update cache refresh logic to replace vs delete 2025-02-23 22:50:58 -06:00
tests Catchup files 2025-11-11 13:22:06 -06:00
utilities Fix bot crash when substituting player without eligible position 2025-11-12 16:02:35 -06:00
.dockerignore Catchup commit 2025-07-22 09:22:19 -05:00
.gitignore Catchup commit 2025-07-22 09:22:19 -05:00
alembic.ini Added base alembic config 2024-10-11 16:42:15 -05:00
api_calls.py Catchup commit 2025-07-22 09:22:19 -05:00
constants.py 05 Live Updates 2025-11-10 17:13:02 -06:00
db_calls_gameplay.py Update logging to RotatingFileHandler 2024-11-09 23:14:54 -06:00
deploy.sh Add HTTP health check endpoint for container monitoring 2025-11-12 14:44:53 -06:00
DEPLOYMENT.md Catchup files 2025-11-11 13:22:06 -06:00
dice.py Remove outdate image links 2025-06-04 09:54:13 -05:00
discord_utils.py Cogs to Packages Groundwork 2025-08-17 08:46:55 -05:00
Dockerfile Added docker to environment 2024-10-12 02:04:30 -05:00
exceptions.py Catchup commit 2025-07-22 09:22:19 -05:00
gauntlets.py CLAUDE: Fix Event ID 9 gauntlet UnboundLocalError for team_id variable 2025-11-11 12:57:12 -06:00
health_server.py Add HTTP health check endpoint for container monitoring 2025-11-12 14:44:53 -06:00
help_text.py S10 Updates + PR Bugfix 2025-11-09 06:12:46 -06:00
helpers.py CLAUDE: Add get_context_user() helper for hybrid command compatibility 2025-11-10 09:07:09 -06:00
LICENSE Initial commit 2020-07-07 13:56:19 -05:00
manual_pack_distribution.py S10 Updates + PR Bugfix 2025-11-09 06:12:46 -06:00
paperdynasty.py Add HTTP health check endpoint for container monitoring 2025-11-12 14:44:53 -06:00
PRODUCTION_COGS.md DOCS: Add production cogs documentation for future reference 2025-11-10 09:46:11 -06:00
pytest.ini Catchup commit 2025-07-22 09:22:19 -05:00
random_content.py Cogs to Packages Groundwork 2025-08-17 08:46:55 -05:00
requirements.txt Add HTTP health check endpoint for container monitoring 2025-11-12 14:44:53 -06:00
search_utils.py Catchup commit 2025-07-22 09:22:19 -05:00
utils.py CLAUDE: Fix get_roster_sheet() to handle both dict and Team objects 2025-11-10 09:11:37 -06:00