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

A.B.I.N.A.S.H — Automated Bot Ignoring Nitro And Sending Here

A.B.I.N.A.S.H
Automated Bot
Ignoring Nitro
And Sending
Here

Features

  • GIF Emote Support — Send string in Discord channel, bot detects and responds with the appropriate GIF emote
  • Admin Panel / Commands — Add, manage, and remove emotes (both GIF and standard)
  • Runtime Command Loading — Commands loaded from commands/ subdirectory
  • Voice Channel Support — Music playback, AI voice support via FFmpegOpusAudio
  • Message Reactions — React to members' messages with pre-defined emotes with a percentage chance
  • Slash Commands — Full /ping, /hello, /emoji, /upload-emoji, /list-emojis, /delete-emoji

Quick Start

# Clone and set up
cd /home/ben/Documents/Projects/ia_bot
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

# Copy environment template
cp .env.example .env
# Edit .env and add your DISCORD_TOKEN

# Run the bot
python main.py

Project Structure

ia_bot/
├── .env.example          # Environment variables template
├── .gitignore
├── main.py               # Entry point
├── requirements.txt      # Dependencies
├── bot.py                # Core bot with slash commands
├── README.md
├── commands/             # Slash command modules
│   ├── __init__.py
│   ├── ping.py          # /ping, /info
│   ├── hello.py         # /hello
│   ├── emoji.py         # /emoji, /app-emoji
│   └── admin.py         # /list-emojis, /create-emoji, /delete-emoji
├── handlers/             # Event handlers
│   ├── __init__.py
│   ├── gif_emotes.py    # GIF emote detection & sending
│   ├── reactions.py     # Reaction handler with cooldowns
│   └── voice.py         # MusicCog with YTDLSource
├── cogs/                 # Discord.py cogs
│   ├── __init__.py
│   └── admin.py         # Emoji management cog
└── config/               # Config files (gitignored)
    └── bot.json

Commands Reference

Slash Commands

Command Description
/ping Check bot latency
/info Show bot info
/hello <name> Greet someone
/emoji :name: Send a custom emoji
/app-emoji <id> Fetch an app-owned emoji
/list-emojis List all custom emojis (admin)
/create-emoji <name> <file_path> Upload an emoji (admin)
/delete-emoji <name> Delete an emoji (admin)

Text Commands

Command Description
!join <channel> Join a voice channel
!play <url> Play a track
!skip Skip current track
!volume <level> Set volume (0-100)
!pause Pause playback
!resume Resume playback
!stop Stop and disconnect
!queue Show the queue

Configuration

Create a .env file:

DISCORD_TOKEN=your_bot_token_here
COMMAND_PREFIX=!
BOT_NAME=A.B.I.N.A.S.H
GUILD_IDS=123456789,987654321

Dependencies

  • discord.py==2.3.2
  • discordemojiparser==1.0.0
  • youtube-dl==2021.12.17
  • aiohttp==3.9.1
  • pydantic==2.5.0

License

MIT

Description
No description provided
Readme 107 KiB
Languages
Python 99.5%
Shell 0.5%