feat: Add shop system, befriend command, and level system
- Added configurable shop system with shop.json - Created ShopManager class for modular shop handling - Implemented level system with levels.json for difficulty scaling - Added multiple duck spawn messages with random selection - Enhanced message system with color placeholders - Added ducks_befriended tracking separate from ducks_shot - Updated help system and admin commands - All systems tested and working correctly
This commit is contained in:
129
duckhunt.log
129
duckhunt.log
@@ -342,3 +342,132 @@
|
||||
2025-09-23 02:57:22,339 [INFO ] DuckHuntBot - run:419: 💾 Database saved
|
||||
2025-09-23 02:57:22,340 [INFO ] DuckHuntBot - _close_connection:454: 🔌 IRC connection closed
|
||||
2025-09-23 02:57:22,341 [INFO ] DuckHuntBot - run:426: ✅ Bot shutdown complete
|
||||
2025-09-23 16:49:06,532 [INFO ] DuckHuntBot - setup_logger:61: Enhanced logging system initialized with file rotation
|
||||
2025-09-23 16:49:06,533 [INFO ] DuckHuntBot.DB - load_database:28: Loaded 1 players from duckhunt.json
|
||||
2025-09-23 16:49:06,534 [INFO ] SASL - setup_logger:61: Enhanced logging system initialized with file rotation
|
||||
2025-09-23 16:49:06,534 [INFO ] DuckHuntBot - main:28: 🦆 Starting DuckHunt Bot...
|
||||
2025-09-23 16:49:06,815 [INFO ] DuckHuntBot - connect:88: Connected to irc.rizon.net:6697
|
||||
2025-09-23 16:49:06,817 [ERROR ] DuckHuntBot - run:428: ❌ Bot error: 'DuckHuntBot' object has no attribute 'shutdown_event'
|
||||
2025-09-23 16:49:06,819 [INFO ] DuckHuntBot - run:430: 🔄 Final cleanup...
|
||||
2025-09-23 16:49:06,820 [INFO ] DuckHuntBot - message_loop:380: Message loop cancelled
|
||||
2025-09-23 16:49:06,823 [INFO ] DuckHuntBot - message_loop:384: Message loop ended
|
||||
2025-09-23 16:49:06,826 [INFO ] DuckHuntBot - run:444: 💾 Database saved
|
||||
2025-09-23 16:49:06,874 [ERROR ] DuckHuntBot - _close_connection:483: ❌ Error closing connection: [SSL: APPLICATION_DATA_AFTER_CLOSE_NOTIFY] application data after close notify (_ssl.c:2685)
|
||||
2025-09-23 16:49:06,875 [INFO ] DuckHuntBot - run:451: ✅ Bot shutdown complete
|
||||
2025-09-23 16:51:03,713 [INFO ] DuckHuntBot - setup_logger:61: Enhanced logging system initialized with file rotation
|
||||
2025-09-23 16:51:03,716 [INFO ] DuckHuntBot.DB - load_database:28: Loaded 1 players from duckhunt.json
|
||||
2025-09-23 16:51:03,717 [INFO ] SASL - setup_logger:61: Enhanced logging system initialized with file rotation
|
||||
2025-09-23 16:51:03,717 [INFO ] DuckHuntBot - main:28: 🦆 Starting DuckHunt Bot...
|
||||
2025-09-23 16:51:04,034 [INFO ] DuckHuntBot - connect:88: Connected to irc.rizon.net:6697
|
||||
2025-09-23 16:51:04,036 [ERROR ] DuckHuntBot - run:428: ❌ Bot error: 'DuckHuntBot' object has no attribute 'shutdown_event'
|
||||
2025-09-23 16:51:04,036 [INFO ] DuckHuntBot - run:430: 🔄 Final cleanup...
|
||||
2025-09-23 16:51:04,036 [INFO ] DuckHuntBot - message_loop:380: Message loop cancelled
|
||||
2025-09-23 16:51:04,036 [INFO ] DuckHuntBot - message_loop:384: Message loop ended
|
||||
2025-09-23 16:51:04,038 [INFO ] DuckHuntBot - run:444: 💾 Database saved
|
||||
2025-09-23 16:51:04,095 [ERROR ] DuckHuntBot - _close_connection:483: ❌ Error closing connection: [SSL: APPLICATION_DATA_AFTER_CLOSE_NOTIFY] application data after close notify (_ssl.c:2685)
|
||||
2025-09-23 16:51:04,095 [INFO ] DuckHuntBot - run:451: ✅ Bot shutdown complete
|
||||
2025-09-23 16:52:13,816 [INFO ] DuckHuntBot - setup_logger:61: Enhanced logging system initialized with file rotation
|
||||
2025-09-23 16:52:13,817 [INFO ] DuckHuntBot.DB - load_database:28: Loaded 1 players from duckhunt.json
|
||||
2025-09-23 16:52:13,818 [INFO ] SASL - setup_logger:61: Enhanced logging system initialized with file rotation
|
||||
2025-09-23 16:52:13,818 [INFO ] DuckHuntBot - main:28: 🦆 Starting DuckHunt Bot...
|
||||
2025-09-23 16:52:14,082 [INFO ] DuckHuntBot - connect:88: Connected to irc.rizon.net:6697
|
||||
2025-09-23 16:52:14,083 [INFO ] DuckHuntBot - run:401: 🦆 Bot is now running! Press Ctrl+C to stop.
|
||||
2025-09-23 16:52:14,573 [INFO ] DuckHuntBot - handle_message:114: Successfully registered with IRC server
|
||||
2025-09-23 16:52:35,085 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 16:53:53,120 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 16:55:12,150 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 16:56:18,166 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 16:57:34,190 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 16:58:37,206 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 16:59:54,240 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:01:05,255 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:02:02,274 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:03:12,297 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:04:24,322 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:05:33,340 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:06:40,363 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:06:52,804 [INFO ] DuckHuntBot - setup_logger:61: Enhanced logging system initialized with file rotation
|
||||
2025-09-23 17:06:52,805 [INFO ] DuckHuntBot.DB - load_database:28: Loaded 1 players from duckhunt.json
|
||||
2025-09-23 17:06:52,806 [INFO ] SASL - setup_logger:61: Enhanced logging system initialized with file rotation
|
||||
2025-09-23 17:06:52,807 [INFO ] DuckHuntBot - main:28: 🦆 Starting DuckHunt Bot...
|
||||
2025-09-23 17:06:53,090 [INFO ] DuckHuntBot - connect:88: Connected to irc.rizon.net:6697
|
||||
2025-09-23 17:06:53,094 [INFO ] DuckHuntBot - run:401: 🦆 Bot is now running! Press Ctrl+C to stop.
|
||||
2025-09-23 17:07:06,659 [INFO ] DuckHuntBot - signal_handler:73: 🛑 Received SIGINT (Ctrl+C), initiating graceful shutdown...
|
||||
2025-09-23 17:07:09,342 [INFO ] DuckHuntBot - signal_handler:73: 🛑 Received SIGINT (Ctrl+C), initiating graceful shutdown...
|
||||
2025-09-23 17:07:20,148 [INFO ] DuckHuntBot - signal_handler:73: 🛑 Received SIGINT (Ctrl+C), initiating graceful shutdown...
|
||||
2025-09-23 17:07:31,073 [INFO ] DuckHuntBot - setup_logger:61: Enhanced logging system initialized with file rotation
|
||||
2025-09-23 17:07:31,074 [INFO ] DuckHuntBot.DB - load_database:28: Loaded 1 players from duckhunt.json
|
||||
2025-09-23 17:07:31,075 [INFO ] SASL - setup_logger:61: Enhanced logging system initialized with file rotation
|
||||
2025-09-23 17:07:31,076 [INFO ] DuckHuntBot - main:28: 🦆 Starting DuckHunt Bot...
|
||||
2025-09-23 17:07:31,318 [INFO ] DuckHuntBot - connect:88: Connected to irc.rizon.net:6697
|
||||
2025-09-23 17:07:31,319 [INFO ] DuckHuntBot - run:401: 🦆 Bot is now running! Press Ctrl+C to stop.
|
||||
2025-09-23 17:07:31,739 [INFO ] DuckHuntBot - handle_message:114: Successfully registered with IRC server
|
||||
2025-09-23 17:07:45,324 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:09:13,347 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:10:29,378 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:11:38,392 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:12:47,413 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:14:00,456 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:15:14,463 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:16:34,482 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:17:45,499 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:19:06,515 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:20:24,546 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:21:40,559 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:22:47,570 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:24:00,607 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:25:14,623 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:26:30,648 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:27:50,675 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:29:08,696 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:30:14,724 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:31:33,738 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:33:02,761 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:34:20,783 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:35:30,808 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:35:52,920 [INFO ] DuckHuntBot - signal_handler:73: 🛑 Received SIGINT (Ctrl+C), initiating graceful shutdown...
|
||||
2025-09-23 17:36:01,664 [INFO ] DuckHuntBot - signal_handler:73: 🛑 Received SIGINT (Ctrl+C), initiating graceful shutdown...
|
||||
2025-09-23 17:36:01,986 [INFO ] DuckHuntBot - signal_handler:73: 🛑 Received SIGINT (Ctrl+C), initiating graceful shutdown...
|
||||
2025-09-23 17:36:02,267 [INFO ] DuckHuntBot - signal_handler:73: 🛑 Received SIGINT (Ctrl+C), initiating graceful shutdown...
|
||||
2025-09-23 17:36:02,538 [INFO ] DuckHuntBot - signal_handler:73: 🛑 Received SIGINT (Ctrl+C), initiating graceful shutdown...
|
||||
2025-09-23 17:36:02,815 [INFO ] DuckHuntBot - signal_handler:73: 🛑 Received SIGINT (Ctrl+C), initiating graceful shutdown...
|
||||
2025-09-23 17:36:22,777 [INFO ] DuckHuntBot - setup_logger:61: Enhanced logging system initialized with file rotation
|
||||
2025-09-23 17:36:22,778 [INFO ] DuckHuntBot.DB - load_database:28: Loaded 1 players from duckhunt.json
|
||||
2025-09-23 17:36:22,779 [INFO ] SASL - setup_logger:61: Enhanced logging system initialized with file rotation
|
||||
2025-09-23 17:36:22,779 [INFO ] DuckHuntBot - load_shop_items:57: Loaded 3 shop items
|
||||
2025-09-23 17:36:22,779 [INFO ] DuckHuntBot - main:28: 🦆 Starting DuckHunt Bot...
|
||||
2025-09-23 17:36:23,018 [INFO ] DuckHuntBot - connect:110: Connected to irc.rizon.net:6697
|
||||
2025-09-23 17:36:23,019 [INFO ] DuckHuntBot - run:509: 🦆 Bot is now running! Press Ctrl+C to stop.
|
||||
2025-09-23 17:36:23,504 [INFO ] DuckHuntBot - handle_message:136: Successfully registered with IRC server
|
||||
2025-09-23 17:36:47,024 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:37:24,684 [INFO ] DuckHuntBot - signal_handler:95: 🛑 Received SIGINT (Ctrl+C), initiating graceful shutdown...
|
||||
2025-09-23 17:37:32,155 [INFO ] DuckHuntBot - setup_logger:61: Enhanced logging system initialized with file rotation
|
||||
2025-09-23 17:37:32,156 [INFO ] DuckHuntBot.DB - load_database:28: Loaded 1 players from duckhunt.json
|
||||
2025-09-23 17:37:32,157 [INFO ] SASL - setup_logger:61: Enhanced logging system initialized with file rotation
|
||||
2025-09-23 17:37:32,158 [INFO ] DuckHuntBot - load_shop_items:58: Loaded 3 shop items
|
||||
2025-09-23 17:37:32,159 [INFO ] DuckHuntBot - main:28: 🦆 Starting DuckHunt Bot...
|
||||
2025-09-23 17:37:32,392 [INFO ] DuckHuntBot - connect:111: Connected to irc.rizon.net:6697
|
||||
2025-09-23 17:37:32,392 [INFO ] DuckHuntBot - run:510: 🦆 Bot is now running! Press Ctrl+C to stop.
|
||||
2025-09-23 17:37:32,534 [INFO ] DuckHuntBot - handle_message:137: Successfully registered with IRC server
|
||||
2025-09-23 17:38:43,405 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:40:04,430 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:41:28,459 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:42:50,488 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:43:54,512 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:45:05,539 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:46:22,571 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:47:32,595 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:48:37,614 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:50:06,649 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:51:28,685 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:52:43,706 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:53:04,709 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:54:16,736 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:55:32,758 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:56:50,792 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:58:15,809 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 17:59:34,837 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 18:00:53,856 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 18:02:15,867 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 18:03:33,887 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
2025-09-23 18:04:45,906 [INFO ] DuckHuntBot.Game - spawn_duck:105: Duck spawned in #ct
|
||||
|
||||
Reference in New Issue
Block a user