我已经发出了这个snipe命令(来自Stackoverflow问题),但是当机器人回答时,标题显示的是被删除消息作者的ID,而不是ping或姓名。我如何改变它
代码:
snipe_message_content = None
snipe_message_author = None
snipe_message_id = None
@bot.event
async def on_message_delete(message):
global snipe_message_content
global snipe_message_author
global snipe_message_id
snipe_message_content = message.content
snipe_message_author = message.author.id
snipe_message_id = message.id
await asyncio.sleep(60)
if message.id == snipe_message_id:
snipe_message_author = None
snipe_message_content = None
snipe_message_id = None
@bot.command()
async def snipe(message):
if snipe_message_content is None:
await message.channel.send("Theres nothing to snipe.")
else:
embed = discord.Embed(description=f"{snipe_message_content}")
embed.set_footer(text=f"Asked by {message.author.name}#{message.author.discriminator}", icon_url=message.author.avatar_url)
embed.set_author(name=f"<@{snipe_message_author}>")
await message.channel.send(embed=embed)
return
不幸的是,您无法ping嵌入的
author
部分中的用户。但是,你可以说出他们的名字,这就是我们要做的作者姓名
获取作者名称非常简单,只需将
snipe_message_author = message.author.id
(获取ID)更改为snipe_message_author = message.author.name
显示作者姓名
要以良好的格式显示作者姓名,请从显示姓名的位置删除“<;@>;”
代码
输出
编辑
不小心泄露了我的不和谐名称和鉴别器,将鉴别器更改为随机整数。尽管代码仍然有效
相关问题 更多 >
编程相关推荐