A modern, fully customizable Discord bot with a robust leveling system, voice XP, giveaways, interactive leaderboards, and role rewards. Built with py-cord.
- Leveling System: Earn XP by sending messages, being active in voice, and reacting to messages.
- Voice XP: Gain XP for time spent in voice channels.
- Giveaways: Run and manage server giveaways.
- Leaderboards: Interactive leaderboards for level, messages, and voice activity.
- Role Rewards: Automatically assign roles at certain levels.
- XP Boosts: Grant XP multipliers to users with specific roles.
- Reaction XP: Earn XP for adding reactions (with cooldown).
- Clone the repository:
git clone https://github.com/yourname/NemoBot.git cd NemoBot - Install dependencies:
pip install -r requirements.txt
- Configure your bot token:
- Create a
.envfile in the root directory:Token=YOUR_DISCORD_BOT_TOKEN
- Create a
- Run the bot:
python bot.py
-
XP Boost Roles:
- File:
cogs/level.py, variable:XP_BOOST_ROLES(top of class) - Example:
XP_BOOST_ROLES = { 111111111111111111: 1.50, # 1.50x boost 222222222222222222: 1.75, # 1.75x boost 333333333333333333: 2.00, # 2.00x boost 444444444444444444: 1.25, # 1.25x boost }
- Replace the placeholder IDs with your server's role IDs.
- File:
-
Reaction XP:
- File:
cogs/level.py, method:on_reaction_add - Users earn 0.1 XP per reaction, with a 1-hour cooldown per user.
- File:
-
Level Role Rewards:
- File:
cogs/level.py, variable:level_roles - Assign role IDs to levels for automatic rewards.
- File:
- Use the
/leaderboardcommand to view the interactive leaderboard. - Toggle between Level, Message, and Voice leaderboards with buttons (see code for details).
MIT — see LICENSE