Диск-бот, который я настроил, сначала работал нормально, но теперь повторяет сообщения (или отправляет несколько сообщений) после команды.Я не уверен, что делать, чтобы это исправить.
Я пытаюсь настроить бота на дискорд-сервер, на котором я работаю.Коллектив персонала знает, что я часто просматриваю ботов в сети и что-то могу кодировать.Они спросили меня, могу ли я сделать бота для сервера, поэтому я решил попробовать.Примерно через 1,5 часа я настроил бота и дал ему несколько команд для работы.Я пытался найти решения в Интернете, но не смог найти ничего подходящего для этой проблемы.
Это основной код, который у меня есть в моем файле 'bot.py'.Я прятал токен бота в 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]')
Это код, который у меня есть в Cog под названием 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 Я ожидаю, что команда ping отправит одно сообщение: «Pong! [Latency»] ms "один раз с одним значением, где [latency].Вместо этого он отправляет сообщение три раза с тремя различными значениями, где [latency] равно
Команда справки Для команды справки я ожидаю, что она отправит одно сообщение, показывающее доступные команды,Вместо этого он отправляет шесть сообщений (некоторые сообщения показывают все команды, а некоторые показывают только одну или две).