ia_bot/AGENTS.md
Benjamyn 43ca943cb8 feat: A.B.I.N.A.S.H Discord bot with GIF emotes, slash commands, and music
- Core bot with slash command tree (discord.py 2.7.x compatible)
- Commands: /ping, /info, /hello, /emoji, /app-emoji
- Admin: /upload-emoji, /list-emojis, /delete-emoji
- GIF emote detection and reaction handling
- Message reactions with percentage-based triggers and cooldowns
- Voice/music cog with YTDLSource, skip, volume, pause, resume, stop
- Global error handler and voice state change logging
- Environment config via .env (DISCORD_TOKEN, COMMAND_PREFIX, etc.)
2026-08-27 16:05:27 +10:00

1.7 KiB

A.B.I.N.A.S.H — Knowledge Base

Generated: 2026-08-27T13:39:00Z Branch: master

OVERVIEW

Python Discord bot using discord.py. Loads commands from a commands/ subdirectory and configuration from bot.json. Supports GIF emotes, voice channels, and message reactions.

STRUCTURE

ia_bot/
├── .codegraph/   # codegraph index
├── .git/
├── .omo/         # OpenCode session data
├── AGENTS.md     # this file
├── README.md
├── bot.json      # secrets & config
├── commands/     # runtime-loadable command modules
└── venv/         # virtual environment (optional)

WHERE TO LOOK

Task Location
Bot entry point main.py (to be created)
Config/secrets bot.json
Commands commands/*.py
Discord client bot.py (to be created)
GIF emote handler handlers/gif_emotes.py (to be created)
Voice handler handlers/voice.py (to be created)
Message reaction logic handlers/reactions.py (to be created)

CONVENTIONS

  • Commands live in commands/ as individual .py files.
  • bot.json holds secrets (tokens, bot token, prefix, etc.).
  • Use discord.ext.commands for bot commands.
  • GIF emotes are fetched from a remote URL or local cache.

ANTI-PATTERNS (THIS PROJECT)

  • Never commit bot.json to git (use .gitignore).
  • Never hardcode secrets in source files.
  • Never mix discord.py and aiohttp without proper async/await discipline.

COMMANDS

python3 -m venv venv
source venv/bin/activate
pip install discord.py pillow requests

# Run the bot
python main.py

NOTES

  • The bot is currently a placeholder (2 files, 0 LOC).
  • GIF emotes require an external API or image host.