【问题标题】:How to make python discord bot use a command every minute如何让python discord bot每分钟使用一个命令
【发布时间】:2021-05-17 05:43:45
【问题描述】:

我希望我的 python discord 机器人每分钟使用一个命令。

目前我是这样设置的:

@tasks.loop(seconds=10)
async def mytask():
    channel = bot.get_channel(305347032569348107)
    await channel.send('Example message')

mytask.start()async def on_ready() 函数中

它工作正常并发送示例消息,但我希望它实际执行一个命令,例如,我可能有另一个机器人,它有一个用于抛硬币的 !coin 命令,我希望我的机器人每分钟都使用这个命令。

【问题讨论】:

  • @ŁukaszKwieciński 或者也许我已经这样了?我知道装饰器中的秒和分钟,但是,发送/执行命令仍然不起作用await channel.send(!coin) SyntaxError: invalid syntax 我也尝试过await channel.send('!coin')
  • 您尝试运行命令的机器人可能具有忽略机器人发送的命令的机制。

标签: python discord discord.py


【解决方案1】:

如果您查看documentation,它允许秒、分钟或小时:

discord.ext.tasks.loop(*, seconds=0, minutes=0, hours=0, count=None, reconnect=True, loop=None)

所以你的装饰器现在变成了:

@tasks.loop(minutes=10)

【讨论】:

  • 我知道秒数,我用了 10 秒来测试它,但是发送/执行命令的问题仍然存在。我试过 channel.send(!coin) 也 `channel.send("!coin") 都不起作用。
【解决方案2】:
@tasks.loop(minutes=1)
async def mytask():
    channel = bot.get_channel(305347032569348107)
    await channel.send(!coin)

:s

【讨论】:

  • 不起作用await channel.send(!coin) SyntaxError: invalid syntax 我也试过await channel.send("!coin"),但这只是发送消息。
猜你喜欢
  • 2018-10-21
  • 2021-03-01
  • 2020-09-03
  • 2021-04-11
  • 1970-01-01
  • 1970-01-01
  • 2020-11-03
  • 2020-08-11
  • 2021-02-17
相关资源
最近更新 更多