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