@bot.command()
async def id(ctx, a:str): #a = @user
如何获取命令中提到的用户ID,并将其输出为:
await ctx.send(id)
答案 0 :(得分:1)
刚刚意识到,当您@someone并将其存储到变量“ a”时,它包含“ <@userid>”形式的用户ID。所以稍微清理一下就可以获取用户ID
代码如下:
@bot.command()
async def id(ctx, a:str):
a = a.replace("<","")
a = a.replace(">","")
a = a.replace("@","")
await ctx.send(a)
由于我的命令由“ rev id @someone”组成,因此@someone以字符串“ <@userid>”而不是“ @someone”的形式存储在“ a”中。
答案 1 :(得分:0)
使用converter获取User
对象:
@bot.command(name="id")
async def id_(ctx, user: discord.User):
await ctx.send(user.id)
或获得作者的id
:
@bot.command(name="id")
async def id_(ctx):
await ctx.send(ctx.author.id)