Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dislevel-2.0.3.tar.gz (140.1 kB view details)

Uploaded Source

Built Distribution

dislevel-2.0.3-py3-none-any.whl (140.8 kB view details)

Uploaded Python 3

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

Hashes for dislevel-2.0.3.tar.gz
Algorithm Hash digest
SHA256 a288854e3cc3c06afe378797afbf7bddfc826aaa8544c0c1da0b5408a30bcd75
MD5 07929846488e2b6d4f0a0a22273122af
BLAKE2b-256 8f7b85c7b61028b5f0c6dea13317b421089b6961653c978bb2777949a7e3d728

See more details on using hashes here.

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

Hashes for dislevel-2.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ee935107d087a749510e967e124400516197e0b7ab66856ab1beadd3f766cde2
MD5 2b950c4574f7593cea98b286e74f3816
BLAKE2b-256 87fc30fe7231b215e55e1ff71efd8665fb6b9571da2102b31305eaa4a68bccb0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page