Получение «RuntimeWarning: сопрограммная„function1“никогда не ожидали» ошибка в моем Python раздоре бота - PullRequest
1 голос
/ 22 декабря 2019

Я часами читал похожие вопросы и находил другие способы решения этой проблемы. Я пытаюсь создать бота Discord, который отправляет сообщение на канал каждые x раз, но постоянно получаю эту ошибку:

RuntimeWarning: сопрограмма 'function1' никогда не ожидала себя. _run_job (работа) '

import discord,random,asyncio,os
from discord.ext import commands, tasks
from datetime import datetime
import schedule
import time


token = 'xxxx'


bot = discord.Client
bot = commands.Bot(command_prefix='.')

@bot.event
async def on_ready():
    print('Logged in as')
    print(bot.user.name)
    print(bot.user.id)
    print('-'*80)


async def function1():
    channel = bot.get_channel(656805505804533761)
    await channel.send('test')
    print('test')
    await asyncio.sleep(1)

schedule.every(1).second.do(function1)

while True:
    schedule.run_pending()


bot.run(token)

1 Ответ

0 голосов
/ 22 декабря 2019

Это потому, что используемая вами библиотека расписания не поддерживает сопрограммы.
Вместо этого вы можете использовать create_task с циклом событий для создания фоновой задачи.

Пример этого с помощью discord.py см. https://github.com/Rapptz/discord.py/blob/master/examples/background_task.py.

. В качестве альтернативы вы также можете использовать расширение для задач discord.py , которое, по-видимому, уже импортируется.

...