A leveling cog for discord bots
Project description
Dislevel
Making leveling easier for small as well as big bot
Installation
pip install dislevel
Check Examples Here
Usage
Making a simple bot with a db connection. First of all we need a database connection. Dislevel supports 2 type of database connection.
asyncpg (Pool)
databases (Database)
If your bot already have a connection you can use that, Or you can create a new one for leveling. In this example I will create a new connection using databases[sqlite]
from databases import Database
from discord import Intents
from discord.ext import commands
from dislevel import init_dislevel
from dislevel.utils import update_xp
intents = Intents.default()
# Nextcord current version uses discord Api v9 where message content intent is not enforced.
# If you ware are using discord.py when you will need to enable message_content intent manually explicitly as shown below
# intents.message_content = True
bot = commands.Bot(command_prefix="?", intents=intents)
@bot.event
async def on_ready():
# Using databases to create a sqlite db
db = Database("sqlite:///leveling.db")
await db.connect()
# Pass instance of bot, the database connection and specify which driver to use. In this case we are using databases so we passed that
await init_dislevel(bot, db, "databases")
print("Ready! Let's go...")
@bot.event
async def on_message(message):
if message.author.bot:
return
# You can use this method anywhere to update xp of a member
# First pass the bot instance, member_id, guild_id and how much xp to be added.
await update_xp(bot, message.author.id, message.guild.id, amount=10)
await bot.process_commands(message)
# Load the cog. It has 4 cogs. `dislevel.nextcord`, `dislevel.nextcord.slash`, `dislevel.discord`, `dislevel.discord.slash`
# If you want to use nextcord.slash you should load it ouside on_ready. Otherwise you can load it inside on_ready
# You can also load both slash and normal cog.
bot.load_extension("dislevel.nextcord")
TOKEN: str = "Your bot token here"
bot.run(TOKEN)
Events
# If you want to do something when a user level's up!
async def on_dislevel_levelup(guild_id, member_id, level):
pass
Cogs
-
dislevel.discord
- For discord.py 2.0 -
dislevel.discord.slash
- For discord.py 2.0 (Slash Commands) -
dislevel.nextcord
- For nextcord 2.0 -
dislevel.nextcord.slash
- For nextcord 2.0 (Slash Commands)
Commands
rank [member] - See your/member's rank
leaderboard, lb - See leaderboard
setbg <url> - Set your bg url
resetbg - Reset your bg url to default
Join Discord For any kind of help
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file dislevel-2.0.3.tar.gz
.
File metadata
- Download URL: dislevel-2.0.3.tar.gz
- Upload date:
- Size: 140.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a288854e3cc3c06afe378797afbf7bddfc826aaa8544c0c1da0b5408a30bcd75 |
|
MD5 | 07929846488e2b6d4f0a0a22273122af |
|
BLAKE2b-256 | 8f7b85c7b61028b5f0c6dea13317b421089b6961653c978bb2777949a7e3d728 |
File details
Details for the file dislevel-2.0.3-py3-none-any.whl
.
File metadata
- Download URL: dislevel-2.0.3-py3-none-any.whl
- Upload date:
- Size: 140.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee935107d087a749510e967e124400516197e0b7ab66856ab1beadd3f766cde2 |
|
MD5 | 2b950c4574f7593cea98b286e74f3816 |
|
BLAKE2b-256 | 87fc30fe7231b215e55e1ff71efd8665fb6b9571da2102b31305eaa4a68bccb0 |