Discord.py发送两次消息

时间:2019-08-06 21:00:21

标签: python-3.x discord discord.py

我正在通过重写制作一个不和谐的bot,但是当我的命令运行时,它会发送两次消息 没有100%的其他呼叫可以发送该消息,并且只有第1条消息(保留,我正在收集数据)发送了两次。 这是命令的代码:

@bot.command()
async def testcmd(ctx):
  print("called")
  msgtemp = await ctx.message.channel.send("Hold on, I'm gathering the data")
  print("sent")
  time.sleep(3)
  await msgtemp.delete()
  with open("fileofthings.txt") as fl:
    await ctx.send(fl.read())

2 个答案:

答案 0 :(得分:2)

我的机器人在两次发送响应时遇到了相同的问题,这是在此特定命令中发生还是在其他命令中发生。

我的理论是您正在运行2个版本的漫游器,这意味着您会收到2条消息。我制定了关机命令,以防万一我再次遇到这种情况

这是我关闭命令的代码。

@commands.command()
  async def shutdown(self,ctx):
    if ctx.message.author.id == OWNERID: #replace OWNERID with your user id
      print("shutdown")
      try:
        await self.bot.logout()
      except:
        print("EnvironmentError")
        self.bot.clear()
    else:
      await ctx.send("You do not own this bot!")

答案 1 :(得分:0)

遇到了同样的问题,这让我很生气。问题可能是您正在从多个设备运行相同的 bot 文件,或者您正在使用同一设备多次运行它。我的问题是通过以下方法解决的:

  • 在您的设备中打开任务管理器
  • 点击“更多详情”
  • 在进程选项卡中,搜索“python 3.9(或您当前使用的任何版本)”,然后单击它并单击“结束任务”。

希望这能解决您的问题。