我已经花了数小时阅读类似的问题,并找到解决该问题的其他方法。我正在尝试创建一个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)
答案 0 :(得分:0)
这是因为您使用的计划库不支持协程。
相反,您可以将create_task
与事件循环结合使用来创建后台任务。
有关discord.py的示例,请参见https://github.com/Rapptz/discord.py/blob/master/examples/background_task.py。
或者,您也可以使用discord.py's tasks extension,它似乎已经在导入。