Расписание Discord.py

1

Это то, что я до сих пор... это работает на количество секунд задержки, я хочу, но как добавить модуль времени или модуль расписания, чтобы он работал... На всякий случай, если я хочу, чтобы бот отправлял сообщение каждый раз 24ч

import discord
import asyncio
from discord.ext import commands
import schedule
import time

TOKEN = 'xxxxx'

client = commands.Bot(command_prefix = '.')

channel_id = '515994xxxxx5036697'

@client.event
async def on_ready():
    print('Bot Online.')

async def alarm_message():
    await client.wait_until_ready()
    while not client.is_closed:
        channel = client.get_channel(channel_id)
        messages = ('test')
        await client.send_message(channel, messages)
        await asyncio.sleep(5) #runs every 5 seconds

client.loop.create_task(alarm_message())

client.run(TOKEN)
  • 1
    Вы можете использовать код, который вы предоставили, но вместо asyncio.sleep вы можете использовать модуль time для публикации сообщения в определенное время
  • 0
    Вы можете использовать библиотеку расписания schedule.readthedocs.io/en/stable
Показать ещё 1 комментарий
Теги:
python-3.x
python-asyncio
discord.py
scheduled-tasks

1 ответ

0

Я думаю, что я делаю что-то не так.

import discord
import schedule
import time


TOKEN = 'BOT_TOKEN'

client = discord.Client()

message = 'TEST'
channel = discord.Object(id='515994809195036697')

def job():
    #print("I'm working...")
    client.send_message(channel, message) #I CANT GET THIS TO WORK

schedule.every(2).seconds.do(job)

while True:
    schedule.run_pending()
    time.sleep(1)


@client.event
async def on_ready():
    print('Bot Online')

client.run(TOKEN)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню