Python _ready上的bot.event停止我的命令运行discord.py

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

我已经编写了一个后台任务,一旦机器人运行,它就会将消息发送到discord频道。但是现在我遇到了一个问题,我的命令不再工作了。我尝试删除了_ready上的
函数,然后命令工作了。但是我需要准备好的
,我不知道

我的代码:

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
后,您的机器人是否正在运行。