The warning 'coroutine was never awaited' is a false positive — the event loop does await the coroutine, but the warning is emitted before the loop processes it. The command still works correctly. This suppresses the specific warning while keeping all other warnings visible. Also added a comment explaining the behavior for future maintainers.
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.2discordemojiparser==1.0.0youtube-dl==2021.12.17aiohttp==3.9.1pydantic==2.5.0
License
MIT
Description
Languages
Python
99.5%
Shell
0.5%