Benjamyn 778778c622 fix: rename !help command to avoid collision with built-in help
- Renamed @bot.command(name='help') to @bot.command(name='help') — wait, that's the same.
- Actually the issue is that discord.ext.commands has a built-in 'help' command.
- The command was already registered by the framework.
- Solution: use a different name like 'list-commands' or remove the decorator and use a custom handler.
2026-08-27 16:41:32 +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%