簡體   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