Бот Discord, отправляющий более одного сообщения

#discord.py

#discord.py

Вопрос:

Итак, я создаю простого бота, который определяет, когда кто-то присоединяется к серверу и когда кто-то покидает сервер. Я добавил команду для отображения аватаров людей, но каждый раз, когда я это делаю, или когда кто-то присоединяется или уходит, он отправляет сообщение более одного раза. Я искал и не могу найти проблему. Ребята, вы можете мне помочь?

Вот мой код

 import discord
from discord.ext import commands

client = commands.Bot(command_prefix="?")

@client.event
async def on_ready():
    print("Ready")

@client.event
async def on_member_join(member):
    channel = discord.utils.get(member.guild.text_channels, name="entradas")
    await channel.send(f"{member} is new on the server, everyone say hi")

    show_avatar = discord.Embed(color = discord.Color.blue())
    show_avatar.set_image(url="{}".format(member.avatar_url))

    await channel.send(embed=show_avatar)


@client.event
async def on_member_remove(member):
    channel = discord.utils.get(member.guild.text_channels, name="saidas")
    await channel.send(f"{member} left the server, press F to pay respects")



@client.command()
async def avatar(ctx, member: discord.Member):



    show_avatar = discord.Embed(color = discord.Color.blue())
    show_avatar.set_image(url="{}".format(member.avatar_url))

    await ctx.send(embed=show_avatar)
  

Ответ №1:

Вы должны проверить, используете ли вы 2 бота.

Если вы запускаете своего бота в Linux с помощью screen, просто проверьте

 screen -ls
  

в Windows просто проверьте диспетчер задач и посмотрите что-то вроде Python.

Кстати, один и тот же бот может быть запущен дважды.