Как создать своё событие в 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')
→ Ссылка