![](/img/trans.png)
[英]Programming a Discord bot in Python- Having issues with Schedule API
[英]Discord Python Bot Schedule
我想我做错了。 如果尝试在控制台中打印消息,则它确实可以工作,但是如果我尝试将消息发送给不和谐的人,则无法正常工作。
import discord
import asyncio
from discord.ext import commands
import schedule
import time
TOKEN = 'xxx'
client = commands.Bot(command_prefix = '.')
@client.event
async def on_ready():
print('Bot Online.')
async def job():
channel = client.get_channel('XXXX')
messages = ('test')
await client.send_message(channel, messages)
schedule.every(5).seconds.do(job)
while True:
schedule.run_pending()
time.sleep(1)
client.run(TOKEN)
我修改了代码,但仍然收到此消息:
运行时警告:协程'job'从未等待过自己._run_job(job)
您需要在所有功能上使用async
,而不仅仅是在就绪状态下使用。 函数名称也称为on_member_join
。
@client.event
async def on_member_join(member):
await client.send_message(member, message)
您必须dm成员且不将消息发送到通道的原因是因为未指定通道。
假设您要向特定频道发送消息,则必须这样做:
@client.event
async def on_member_join(member):
await client.send_message(client.get_channel('12324234183172'), message)
用频道ID替换随机数。
如果您想了解有关discord.py的更多信息,可以阅读文档或查看教程。 不符文件
注意:请确保在页面顶部包含import asyncio
。
编辑:另一个问题是您做了schedule.every(5).seconds.do(job)
。 将此行更改为: await schedule.every(5).seconds.do(job)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.