在我的Python Discord机器人中收到“运行时警告:协程'function1'从未等待”错误

时间:2019-12-22 00:33:52

标签: python discord discord.py discord.py-rewrite

我已经花了数小时阅读类似的问题,并找到解决该问题的其他方法。我正在尝试创建一个Discord机器人,该机器人每隔x倍的时间向该频道发送一条消息,但我一直收到此错误:

'RuntimeWarning:从未等待协程'function1'   self._run_job(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 :(得分:0)

这是因为您使用的计划库不支持协程。
相反,您可以将create_task与事件循环结合使用来创建后台任务。

有关discord.py的示例,请参见https://github.com/Rapptz/discord.py/blob/master/examples/background_task.py

或者,您也可以使用discord.py's tasks extension,它似乎已经在导入。