我设置的discord bot最初可以正常工作,但是现在在命令后重复发送消息(或发送多条消息)。我不确定该如何解决。
我正在尝试为我工作的不和谐服务器设置一个机器人。员工团队知道,我经常在网上查看机器人,并且我可以编写一些代码。他们问我是否可以为服务器制作机器人,所以我决定试一试。大约1.5个小时后,我设置了一个漫游器,并为其提供了一些可使用的命令。我尝试在网上搜索解决方案,但找不到适合该问题的任何内容。
这是我的'bot.py'文件中的主要代码。出于明显的原因,我将Bot令牌隐藏在client.run上。
import discord
import random
import os
from discord.ext import commands
client = commands.Bot(command_prefix = 'pj!')
@client.command()
async def load(ctx, extension):
client.load_extension(f'cogs.{extension}')
@client.command()
async def unload(ctx, extension):
client.unload_extension(f'cogs.{extension}')
for filename in os.listdir('./cogs'):
if filename.endswith('.py'):
client.load_extension(f'cogs.{filename[:-3]}')
client.run('[REDACTED]')
这是我在嵌齿轮中的标题为Alpha.py(临时标题)的代码。目前,只有ping和help命令出现问题。
import discord
from discord.ext import commands
class Alpha(commands.Cog):
def __init__(self, client):
self.client = client
@commands.Cog.listener()
async def on_ready(self):
print('Bot: Online')
@commands.command()
async def ping(self, ctx):
await ctx.send(f'Pong! {round(client.latency * 1000)}ms')
@commands.command()
async def _8ball(self, ctx, *, question):
responses = ['It is certain.',
'It is decidedly so.',
'Without a dobut.',
'Yes - definitely.',
'You may rely on it.',
'As I see it, yes.',
'Most likely.',
'Outlook good.',
'Yes.',
'Signs point to yes.',
'Reply hazy, try again.',
'Ask again later.',
'Better not tell you now.',
'Concentrate and ask again.',
"Don't count on it.",
'My reply is no.',
'My sources say no.',
'Outlook not so good.',
'Very doubtful.']
await ctx.send(f'Question: {question}\nAnswer: {random.choice(responses)}')
def setup(client):
client.add_cog(Alpha(client))
Ping Command 对于ping命令,我希望它以单个值(“延迟”为)发布一条消息“ Pong![latency] ms”一次。 而是将消息发布三次,并使用三个不同的值,其中[latency]是
Help Command 对于help命令,我希望它发布一条消息,显示可用的命令。 相反,它发送六个消息(有些消息显示所有命令,有些仅显示一两个)。
答案 0 :(得分:0)
如果您将此机器人托管在Heroku或任何其他主机服务上,并且您同时将该机器人托管在PC上,它将对消息进行两次响应(如果托管在更多服务器上,则响应次数甚至更多)。尝试更改机器人的令牌以停止所有操作。