如何通过Post请求在Discord网页端静音用户?Proto 1接口技术求助
如何通过Discord的settings-proto接口实现本地静音?
你看到的settings字段是Base64编码的Protocol Buffers(Protobuf)二进制数据,Discord网页端用Protobuf来序列化用户设置,所以所谓的“加密格式”本质是编码后的Protobuf字节流。以下是拆解和实现的具体步骤:
- 解码Base64字符串:把捕获到的
ggEdChsJAADATkz4+AQSEAgBFQAAyEIZ3TRHsocBAAA=通过Base64解码工具(或代码,比如Python的base64.b64decode())转换成二进制数据。 - 反推Protobuf结构:Discord未公开该接口的Protobuf定义,你可以用
protoc --decode_raw命令或在线Protobuf反解析工具,将二进制数据转换成可读的字段键值对。 - 定位静音控制字段:分别捕获静音前和静音后的
settings值,解码后对比找出差异字段——这个字段就是控制本地静音的开关(通常是布尔型或枚举值)。 - 构造新请求负载:修改对应字段的状态(比如将静音标识从
false改为true),再把修改后的Protobuf二进制数据重新编码为Base64,作为settings字段的新值。 - 发送POST请求:请求地址为
discord.com/api/v9/users/@me/settings-proto/1,请求头需带上你的用户Authorizationtoken,Content-Type设置为application/json。
注意事项
- 自机器人(self-bot)违反Discord服务条款,使用此类操作可能导致账号被封禁,风险自行承担。
- Discord的Protobuf结构可能随版本更新变化,需要定期重新解析最新结构。
内容的提问来源于stack exchange,提问作者Доктор
相关产品推荐
相关产品推荐

