Как можно сделать систему уровней в дискорд?

Каким образом я могу сделать систему уровней за актив в чата(много сообщений)?


Ответы (1 шт):

Автор решения: Ma3rX

Вы можете использовать DiscordSuperUtils. Вот простой пример, в котором уровни участников хранятся в базе данных:

import discordSuperUtils
import sqlite3
from discord.ext import commands


database = discordSuperUtils.DatabaseManager(sqlite3.connect("database"))
bot = commands.Bot(command_prefix='-')
LevelingManager = discordSuperUtils.LevelingManager(database, 'xp', bot)


@bot.event
async def on_ready():
    print('Готов.')


@LevelingManager.event()
async def on_level_up(message, member_data):
    await message.reply(f"Ты повысил левел до {member_data['rank']}")


@bot.command()
async def rank(ctx):
    member_data = LevelingManager.get_member(ctx.author)
    await ctx.send(f'Твой левел: **{member_data["rank"]}**, с **{member_data["xp"]}** XP.')

bot.run("token")
→ Ссылка