繁体   English   中英

不和谐的Python Bot时间表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM