Discord.py 机器人 - 如何根据 ping 回复机器人?
Discord.py Bot - How to make a bot reply depending on the ping?
我正在 Python 中制作一个 Discord 机器人,我想在使用命令 _userinfo
并提及用户时添加一个功能,该机器人将发送有关我提到的用户的信息. (消息应如下所示:_userinfo @Name
)。
这是我的:
if message.content.startswith("_userinfo"):
emb14 = discord.Embed(
title=f"@{message.author} info:",
colour=discord.Colour.dark_blue()
)
emb14.set_image(url=message.author.avatar_url)
emb14.add_field(name=f"Name", value=f"{message.author}", inline=True)
emb14.add_field(name=f"Discord Joined date", value=f"{message.author.created_at}", inline=False)
emb14.add_field(name=f"Server Joined date", value=f"{message.author.joined_at}", inline=False)
emb14.add_field(name="Profile Picture", value=":arrow_down: :arrow_down: ", inline=False)
await message.channel.send(embed=emb14)
但是机器人只发送有关输入命令的人的用户信息。感谢您的帮助!
它只发送关于发送命令的用户的信息的原因是因为你有 message.author
这意味着发送消息的人,如果你想获得关于特定人的信息,你可以这样做:
try:
user = message.mentions[0]
except IndexError:
user = message.author
if message.content.startswith("_userinfo"):
emb14 = discord.Embed(
title=f"@{user} info:",
colour=discord.Colour.dark_blue()
)
emb14.set_image(url=user.avatar_url)
emb14.add_field(name=f"Name", value=f"{user}", inline=True)
emb14.add_field(name=f"Discord Joined date", value=f"{user.created_at}", inline=False)
emb14.add_field(name=f"Server Joined date", value=f"{user.joined_at}", inline=False)
emb14.add_field(name="Profile Picture", value=":arrow_down: :arrow_down: ", inline=False)
await message.channel.send(embed=emb14)
现在的作用是,如果您 ping 某人,它会发送有关该用户的信息,但如果您不 ping 任何人,它会发送有关执行命令的人的信息
我正在 Python 中制作一个 Discord 机器人,我想在使用命令 _userinfo
并提及用户时添加一个功能,该机器人将发送有关我提到的用户的信息. (消息应如下所示:_userinfo @Name
)。
这是我的:
if message.content.startswith("_userinfo"):
emb14 = discord.Embed(
title=f"@{message.author} info:",
colour=discord.Colour.dark_blue()
)
emb14.set_image(url=message.author.avatar_url)
emb14.add_field(name=f"Name", value=f"{message.author}", inline=True)
emb14.add_field(name=f"Discord Joined date", value=f"{message.author.created_at}", inline=False)
emb14.add_field(name=f"Server Joined date", value=f"{message.author.joined_at}", inline=False)
emb14.add_field(name="Profile Picture", value=":arrow_down: :arrow_down: ", inline=False)
await message.channel.send(embed=emb14)
但是机器人只发送有关输入命令的人的用户信息。感谢您的帮助!
它只发送关于发送命令的用户的信息的原因是因为你有 message.author
这意味着发送消息的人,如果你想获得关于特定人的信息,你可以这样做:
try:
user = message.mentions[0]
except IndexError:
user = message.author
if message.content.startswith("_userinfo"):
emb14 = discord.Embed(
title=f"@{user} info:",
colour=discord.Colour.dark_blue()
)
emb14.set_image(url=user.avatar_url)
emb14.add_field(name=f"Name", value=f"{user}", inline=True)
emb14.add_field(name=f"Discord Joined date", value=f"{user.created_at}", inline=False)
emb14.add_field(name=f"Server Joined date", value=f"{user.joined_at}", inline=False)
emb14.add_field(name="Profile Picture", value=":arrow_down: :arrow_down: ", inline=False)
await message.channel.send(embed=emb14)
现在的作用是,如果您 ping 某人,它会发送有关该用户的信息,但如果您不 ping 任何人,它会发送有关执行命令的人的信息