Duck hunting game bot. Ducks appear at random intervals; players race to shoot
them. Scores are stored in SQLite. The hunt auto-stops after a configurable
number of rounds with no participants.
No external libraries required.
| Command |
Description |
!bang |
Fire at the current duck |
!reload |
Refill ammo (3-second cooldown) |
!score |
Top 5 players for this channel |
!score clear |
Clear scores for this channel (owner/op) |
Owner can also use !score clear all or !score clear #channel from PM.
| Command |
Description |
!hunt |
Show hunt state (on/off/active, idle counter) |
!hunt start |
Start the hunt |
!hunt stop |
Stop the hunt |
!hunt idle <N> |
Set empty-round auto-stop threshold (0 = never); takes effect immediately if threshold is already met |
| Command |
Description |
!join #channel |
Join a channel |
!part [#channel] |
Leave a channel |
!chans |
List channels |
!help |
Show usage (PM) |
- A duck spawns every
spawn_min to spawn_max seconds (random, default 1-5 minutes).
- First player to
!bang scores a point. Each player has one shell; use !reload to reload.
!bang and !reload are ignored while the hunt is off.
- If no one shoots within
flee_time seconds (default 45), the duck flees and the round is marked empty.
- After
idle_rounds consecutive empty rounds the hunt auto-stops.
| Key |
Default |
Description |
[daffy] db_path |
~/daffy_scores.db |
Path to SQLite scores database |
[daffy] idle_rounds |
3 |
Empty rounds before auto-stop (0 = never) |
[daffy] spawn_min |
60 |
Minimum seconds between duck spawns |
[daffy] spawn_max |
300 |
Maximum seconds between duck spawns |
[daffy] flee_time |
45 |
Seconds before an unshot duck flees |