Как создать своё событие в discord.py
Мне нужно чтобы событие вызывалось каждые 30 секунд и проверяло заполнен список или нет, если список заполнен то отправляло бы сообщение в определённый канал.
list1 = []
@bot.event
async def my_event():
if list1:
channel = bot.get_channel(12345)
await channel.send('text')
Ответы (1 шт):
Автор решения: VLAVLA
→ Ссылка
За вызов события отвечает метод bot.dispatch()
bot.dispatch('my_event') # При вызове метода к названию события дописывается on_
@bot.event
async def on_my_event():
pass
Ответ на вопрос
list1 = []
timer = Thread(target=start_timer, name='timer')
timer.start()
schedule.every(30).seconds.do(bot.dispatch, 'my_event', bot, list1)
def start_timer():
while True:
schedule.run_pending()
sleep(1)
@bot.event
async def on_my_event(bot, list1):
if list1:
channel = bot.get_channel(12345)
await channel.send('text')