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

如何通过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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 08:54:24