如何获取Discord用户的4位用户ID?含消息内获取咨询
如何获取Discord用户的4位鉴别码(Discriminator)及从消息中提取它
嘿,我来帮你理清这个问题——首先得明确一下,你说的这个4位数字其实叫做鉴别码(Discriminator),和Discord的用户ID(那串更长的数字ID)是两回事哦。下面分两种场景给你解答:
一、手动获取用户的4位鉴别码
如果你只是在Discord客户端里查看普通用户的鉴别码,非常简单:
- 直接看用户昵称后面的
#xxxx后缀,比如你提到的PruinaTempestatis#8487,其中的8487就是这位用户的4位鉴别码; - 要是用户昵称显示不全,右键点击用户头像,选择「查看资料」,在资料卡的用户名下方就能看到完整的
用户名#鉴别码组合。
二、从消息中获取鉴别码(开发/机器人场景)
如果是开发Discord机器人,想要从收到的消息里提取发送者的4位鉴别码,不同开发框架的实现方式如下:
1. 使用Discord.js(JavaScript/TypeScript)
在消息事件中,通过message.author.discriminator直接获取:
client.on('messageCreate', (message) => { // 跳过机器人自身发送的消息(可选) if (message.author.bot) return; const userDiscriminator = message.author.discriminator; console.log(`消息发送者的4位鉴别码:${userDiscriminator}`); // 输出示例:8487 });
2. 使用discord.py(Python)
在消息回调事件里,通过message.author.discriminator获取:
import discord from discord.ext import commands intents = discord.Intents.default() intents.message_content = True client = commands.Bot(command_prefix='!', intents=intents) @client.event async def on_message(message): # 跳过机器人消息(可选) if message.author.bot: return user_discriminator = message.author.discriminator print(f"消息发送者的4位鉴别码:{user_discriminator}") # 输出示例:8487 await client.process_commands(message) client.run('你的机器人Token')
补充说明:现在Discord已经推出了无鉴别码的用户名系统,但老用户仍会保留原有的4位鉴别码,上述方法对所有带有鉴别码的用户均有效。
内容的提问来源于stack exchange,提问作者Pruina Tempestatis
相关产品推荐
相关产品推荐

