我正在尝试从任何服务器获取用户 ID。这个脚本以前对我有用,现在它给出了两个或三个 ID,但没有错误。我知道不和谐已经改变了一些政策来阻止它。但我非常需要它。我有点坚持下去。如果有一种方法可以满足请求,请为我提供指导。
import discord
token = ""
intents = discord.Intents.default()
intents.presences = True
intents.members = True
client = discord.Client(intents=intents)
global guild_id
guild_id = 905022021841338419
id_file = open("result.txt","a")
@client.event
async def on_ready():
guild = client.get_guild(guild_id)
print(guild)
for member in guild.members:
a = member.id
print(a)
a = str(a)+"\n"
id_file.write(a)
print("Online and ready")
id_file.close()
client.run(token,bot=False)
如果您删除
bot
参数,您的代码应该可以工作 client.run
。
确保您已为您的应用程序启用了
SERVER MEMBERS INTENT
上的 discord 开发人员。
有关意图的更多详细信息可以在 discord.py 文档中找到。
嗯...您需要访问服务器 - “只是说”。 讽刺
不,但是说真的,请不要做任何非法的事情,如果你确实需要,请确保使用 https://discord.com/api/oauth2/authorize?client_id=**BOTID**&permissions 加入服务器=0&范围=机器人
请注意,我的回答违反了 TOS od Discord。
首先您需要安装
discord. py-self
之后使用下面的代码。 您确实需要知道您的令牌必须是yourDiscord 令牌。 (只需创建一个替代项并执行即可)。然后运行程序就可以了:
import discord
token = ""
global guild_id
guild_id = 905022021841338419
id_file = open("result.txt","a")
class SelfBot(discord.Client):
async def on_ready(self):
guild = self.fetch_guild(guild_id)
print(guild.name)
for member in guild.fetch_members():
a = member.id
print(a)
a = str(a)+"\n"
id_file.write(a)
print("Online and ready")
id_file.close()
client.run(token) ```