因此,我正在创建一个简单的机器人,该机器人可以检测何时有人加入服务器以及何时有人离开服务器。 我添加了一个命令来显示人们的化身,但是无论何时执行此操作,或者有人加入或离开时,它都会多次发送消息。 我已经搜索过,但找不到问题。 你们可以帮我吗?
这是我的代码
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)
答案 0 :(得分:0)
您应该检查您是否正在运行2个机器人。
如果您是在带屏幕的Linux上运行bot,只需进行检查即可
screen -ls
在Windows上,只需检查任务管理器并查看类似Python的内容即可。
同一机器人可能两次运行。