【发布时间】:2021-06-07 23:01:18
【问题描述】:
主要目标: 每星期三 08:00
向频道发送消息这是我当前的代码:
import schedule
import time
import discord
import asyncio
from discord.ext import commands, tasks
from discord.ext.tasks import loop
client = discord.Client()
# IMPORTANT
channel =
botToken = ""
async def sendloop():
while True:
schedule.run_pending()
await asyncio.sleep(1)
@client.event
async def on_ready():
general_channel = client.get_channel(channel)
print('ready')
schedule.every(2).seconds.do(lambda:loop.create_task(general_channel.send('TEST')))
client.run(botToken)
到目前为止,没有任何错误,只是停留在“就绪”状态。我是使用 VS Code 的初学者。
【问题讨论】:
-
欢迎来到 Stack Overflow!你是不是想在某个地方给
sendloop()打电话? -
你好,@Coder-256!老实说,这是我从 Discord 上的 discord.py 服务器获得的解决方案。在官方 schedule py 文档中,while 循环可以独立存在。我不知道他为什么要为此创建一个函数。 pypi.org/project/schedule
-
看起来
sendloop()函数的目的是异步运行,但它不应该有太大的区别,无论哪种方式都有效。如果您选择这种方式,我认为您需要在文件底部添加asyncio.run(sendloop())之类的内容。
标签: python python-3.x time discord.py schedule