如果另一个用户 ping 该用户 discord.py,如何让机器人显示该用户的信息

时间:2021-02-24 07:29:01

标签: python discord discord.py

如果用户键入“个人资料?”,我正试图让我的机器人显示用户信息。 [其他用户的姓名]'。

if message.content == 'profile?' + user.mention:
   x=display_players_smiles(str(user.mention))            
   y=display_players_frowns(str(user.mention))
   embedVar = discord.Embed(title= str(user.mention), description="This is their profile", color=0x0210ff)
   embedVar.add_field(name="Smiles", value=str(x), inline=False)
   embedVar.add_field(name="Frowns", value=str(y), inline=False)
   await message.channel.send(embed=embedVar)

我尝试使用 user.mention 但它给了我一个错误。

1 个答案:

答案 0 :(得分:1)

如果你没有理由使用命令,我给你举个例子

 SELECT MONTH(DATE) AS MONTH, COUNT(QUANTITY)CNTT
 FROM TRANSACTIONS
 WHERE QUANTITY > 0
 GROUP BY MONTH(DATE)

值得一提的几点:

  • 您需要启用 @bot.command() # Or `client.command()` - depends how you named your bot instance async def profile(ctx, user: discord.Member): x = display_players_smiles(user.mention) y = display_players_frowns(user.mention) embedVar = discord.Embed(title=user.mention, description="This is their profile", color=0x0210ff) embedVar.add_field(name="Smiles", value=str(x), inline=False) embedVar.add_field(name="Frowns", value=str(y), inline=False) await ctx.send(embed=embedVar)
  • intents.members 事件结束时,您需要添加
on_message
  • 记住使用await bot.process_commands(message) # Or `client.process..` - depends how you named it ,而不是commands.Bot,还要记住只使用一个,而不是两个都使用。

看看commands introduction,它有望为您解决一些问题。

这是另一个关于如何启用意图和特权意图的有用链接,link heer