如何通过Python代码从Discord网关获取Session ID?
获取Discord Session ID的Python实现
目标是通过WebSocket连接Discord网关获取Session ID,实现代码及关键说明如下:
import json import websocket def get_sid(): # 初始化WebSocket连接 ws = websocket.WebSocket() # 连接Discord v9版本的JSON编码网关 ws.connect("wss://gateway.discord.gg/?v=9&encoding=json") # 接收网关发送的Hello帧 hello = json.loads(ws.recv()) print(hello) # 构造认证请求体 auth = { "op": 2, "d": { "token": "你的Discord令牌", # 替换为个人真实令牌 "properties": { "$os": "windows", }, } } # 发送认证请求 ws.send(json.dumps(auth)) # 接收认证响应并提取Session ID res = json.loads(ws.recv()) return res['d']['session_id']
注意事项
- 先安装依赖库:
pip install websocket-client - 务必将代码中的
"你的Discord令牌"替换为自己的真实Discord用户令牌,令牌不可随意泄露 - 原代码返回完整响应对象,修改后直接返回
session_id字段,这是你需要的目标值 - 若连接或认证失败,检查令牌有效性、网络环境,或确认Discord网关版本是否仍可正常使用
内容的提问来源于stack exchange,提问作者mouad taoussi
相关产品推荐
相关产品推荐

