Решил создать экономического дискорд бота, никогда с когами не работал, поэтому смотрел видео от зарубежного ютубера и использовал официальную документацию
В видео автор написал один код, а в документации другой, какой-бы я не использовал, оба варианта не верны
Код:
Main.py
import discord
from event import Event
import sqlite3
from discord.ext import commands
import random
bot = commands.Bot(command_prefix='%', intents=discord.Intents.all())
bot.add_cog(Event(bot))
bot.run("token")
event.py
import discord
from discord.ext import commands
import asyncio
import random
import sqlite3
class Event(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_ready(self):
db = sqlite3.connect("main.sqlite")
cursor = db.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS main (
user_id INTERGER, wallet INTERGER, bank INTERGER
)''')
print("bot diko pon")
@commands.Cog.listener()
async def on_message(self, message):
if message.author.bot:
return
author = message.author
db = sqlite3.connect("main.sqlite")
cursor = db.cursor()
cursor.execute(f"SELECT user_id FROM main WHERE user_id = {author.id}")
result = cursor.fetchone()
if result is None:
sql = ("INSERT INTO main(user_id, wallet, bank) VALUES (?, ?, ?)")
val = (author.id, 100, 0)
cursor.execute(sql, val)
db.commit()
cursor.close()
db.close()
ошибка:
c:\Users\mihoi\Desktop\cmc bot\Main.py:11: RuntimeWarning: coroutine 'BotBase.add_cog' was never awaited
bot.add_cog(Event(bot))
В документации написано использовать
await bot.add_cog(Event(bot))
, такой вариант также неверный.