如何抓取Discord服务器用户详情与角色并导出至表格实现筛选?
抓取Discord服务器用户详情与角色信息并导出至电子表格的方法
方法一:编写简单的Discord机器人(基于discord.py)
适合有基础编程能力的用户,步骤如下:
- 在Discord开发者平台创建机器人,开启
Server Members Intent和Message Content Intent权限,将机器人邀请到目标服务器,确保它拥有查看成员与角色的权限。 - 安装依赖:
pip install discord.py pandas
- 运行以下脚本(替换占位符为你的服务器ID和机器人Token):
import discord import pandas as pd intents = discord.Intents.default() intents.members = True client = discord.Client(intents=intents) @client.event async def on_ready(): guild = client.get_guild(1234567890) # 替换为你的服务器ID members_data = [] for member in guild.members: roles = [role.name for role in member.roles if role.name != "@everyone"] members_data.append({ "用户ID": member.id, "用户名": member.name, "服务器昵称": member.nick, "角色": ", ".join(roles) }) df = pd.DataFrame(members_data) df.to_excel("discord_members.xlsx", index=False) print("导出完成") await client.close() client.run("你的机器人Token") # 替换为你的机器人Token
- 脚本运行后会生成Excel文件,你可以用表格工具的筛选功能排除特定角色。
方法二:使用开源本地脚本/工具
若不想自行编码,可选择本地运行的开源Discord成员导出脚本(优先选择无需上传权限的工具,保障服务器数据安全),这类工具通常直接导出CSV或Excel格式文件,满足后续筛选需求。
导出后筛选技巧
在Excel或Google Sheets中完成角色排除:
- 选中「角色」列,启用筛选功能,选择「文本筛选」→「不包含」,输入需排除的角色名称即可过滤对应成员。
- 如需排除多个角色,可叠加「不包含」条件,或使用公式
=ISERROR(SEARCH("目标角色",A2))标记符合条件的行,再筛选标记为TRUE的内容。
内容的提问来源于stack exchange,提问作者Justin Spencer
相关产品推荐
相关产品推荐

