Python _ready上的bot.event停止我的命令运行discord.py
我已经编写了一个后台任务,一旦机器人运行,它就会将消息发送到discord频道。但是现在我遇到了一个问题,我的命令不再工作了。我尝试删除了_ready上的Python _ready上的bot.event停止我的命令运行discord.py,python,function,events,command,discord.py,Python,Function,Events,Command,Discord.py,我已经编写了一个后台任务,一旦机器人运行,它就会将消息发送到discord频道。但是现在我遇到了一个问题,我的命令不再工作了。我尝试删除了_ready上的函数,然后命令工作了。但是我需要准备好的,我不知道 我的代码: import discord from random import * from time import * from discord.ext import tasks from discord.ext import commands bot = commands.Bot(com
函数,然后命令工作了。但是我需要准备好的,我不知道
我的代码:
import discord
from random import *
from time import *
from discord.ext import tasks
from discord.ext import commands
bot = commands.Bot(command_prefix = "!")
@bot.command()
async def ping(ctx):
await ctx.send(f"PONG {bot.latency * 1000} ms")
@bot.event
async def on_ready():
coins.start()
@tasks.loop(seconds=time())
async def coins():
print('We have logged in as {0.user}'.format(bot))
while True:
time = randrange(120, 300)
coins = randrange(100, 500)
em = discord.Embed(title=f"COINSS!!", description=f"{coins} coins have spawned",color=0xf1c40f)
await bot.get_guild(guild-id).get_channel(channel-id).send(embed=em)
sleep(time)
你能帮忙吗?你的问题在于时间。sleep
用于硬币的末尾
这是暂停整个机器人的数量。您应该使用wait asyncio.sleep(1)
,这样只有所需的函数才会休眠
注意:请记住导入asyncio您是否有关于消息的事件?不,我没有。我有一个,但它不工作,所以我删除了它。我对on_消息的问题与我现在对命令的问题相同。我没有收到任何错误,或者机器人没有反应。此问题通常发生在您在未处理命令的情况下对消息使用事件时。您可以尝试在coins.start()
之后执行类似打印(“机器人联机”)
的操作。这将允许您知道启动coins
后,您的机器人是否正在运行。