Как сделать так, чтобы бот пополнял опыт пользователя за отправленное сообщение в чат сервера? discord.py
Пишу на discord.py своего бота, я не знаю как сделать, чтобы бот пополнял репутацию sqlite3 базы_данных.db, в таблице я всё записал, мне нужна сама команда.
Ответы (1 шт):
Автор решения: zrx
→ Ссылка
Допустим, наша SQL таблица выглядит так:
users_ranking
user_id INT
user_xp INT
Добавим в нашем боте ивент on_message, который срабатывает при отправке любого сообщения (вот ссылка на документацию).
@bot.event
async def on_message(message):
# Объявим переменные
user_id = message.author.id
xp_for_message = len(message) # опыт за сообщение равен количеству символов в сообщении
# Делаем запрос к БД
cursor.execute(f'UPDATE users_ranking SET user_xp=user_xp+{xp_for_message} WHERE user_id={user_id})
conn.commit()