You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何批量校验Discord用户ID是否在指定服务器并生成提及格式

实现Discord用户服务器归属校验与提及格式转换

核心逻辑

  1. 获取目标服务器的成员数据
  2. 循环遍历待校验的用户ID列表,逐一验证是否属于该服务器
  3. 将校验通过的ID转换为Discord提及格式<@用户ID>

代码实现(基于discord.py v2.x)

import discord
from discord.ext import commands

bot = commands.Bot(command_prefix="!", intents=discord.Intents.all())

@bot.event
async def on_ready():
    # 替换为目标服务器ID
    target_guild_id = 1827392683
    # 替换为待校验的用户ID列表
    user_ids = [91287318123, 1282379128, 128923712912]
    
    guild = bot.get_guild(target_guild_id)
    if not guild:
        print("目标服务器不存在,请检查ID是否正确")
        return
    
    # 预加载服务器成员,减少API调用次数
    await guild.fetch_members()
    
    valid_mentions = []
    # 循环校验每个用户ID
    for user_id in user_ids:
        member = guild.get_member(user_id)
        if member:
            valid_mentions.append(f"<@{user_id}>")
    
    print("校验通过的用户提及:", ", ".join(valid_mentions))

# 替换为你的机器人Token
bot.run("YOUR_BOT_TOKEN")

关键注意事项

  • 权限配置:机器人需要在目标服务器拥有服务器成员列表权限,且在Discord开发者后台开启Members Intent,否则无法获取成员数据
  • 循环校验逻辑:通过guild.get_member(user_id)判断用户是否在服务器内,存在则直接拼接提及格式字符串
  • 无机器人替代方案:如果没有机器人权限,可在Discord客户端搜索框输入@用户ID,能显示昵称则说明用户属于该服务器,手动转换格式即可

内容的提问来源于stack exchange,提问作者Ayaka Kamisato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 20:27:02