#python #discord #discord.py
#python #Discord #discord.py
Вопрос:
У меня есть этот код:
import asyncio
import random
from discord.ext import commands
bot = commands.Bot(command_prefix='.')
a=['Hello','Hi','Hello World']
async def background_task():
time = 5 # 86400
await asyncio.sleep(time)
w = random.choice(a)
q = "".join(w)
message = q
await bot.get_channel(id_channel).send(message)
async def on_ready():
print('Bot logged as {}'.format(bot.user))
async def on_message(ctx):
pass
bot.loop.create_task(background_task())
token = 'token'
bot.run(token)
Мне нужно выполнить цикл background_task(). Но bot.loop.create_task(background_task()) не работает. Что мне делать? Я буду благодарен за вашу помощь.
Комментарии:
1. Чего вы ожидаете? Эта функция будет выполняться только один раз, потому что вы не указываете ей цикл или что-то еще, а также при первом запуске возможно, что кэш не загружен, поэтому вы не видите никаких выходных данных.
Ответ №1:
пока True, решите мою проблему
import asyncio
import random
from discord.ext import commands
bot = commands.Bot(command_prefix='.')
a=['Hello','Hi','Hello World']
async def background_task():
w = random.choice(a)
q = "".join(w)
message = q
while True:
time = 5 # 86400
await asyncio.sleep(time)
await bot.get_channel(771365589355855883).send(message)
async def on_ready():
print('Bot logged as {}'.format(bot.user))
async def on_message(ctx):
pass
bot.loop.create_task(background_task())
token = 'NzcxMzYwMzk4NzAzOTg0NjYx.X5q_Wg.w00I702euybW-Z2AYSQpHIsfifQ'
bot.run(token)
Комментарии:
1. вы должны удалить свой токен из этого ответа