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

基于Python的Discord服务器加入工具问题求助:显示加入但未成功

问题分析与修复方案

核心问题梳理

  1. 错误的成功判定逻辑
    你的代码仅在请求抛出异常时才提示错误,无论API实际返回成功还是失败,都会打印"Joined, I think"。Discord API通过状态码和响应内容返回请求结果,必须校验这些信息才能确认是否真的加入成功。

  2. Authorization头格式错误
    Discord API的Authorization头不需要添加Bearer 前缀,直接使用token字符串即可。错误的格式会导致API拒绝请求。

  3. 不安全的SSL验证关闭
    verify=False禁用了SSL证书验证,这不仅存在安全风险,还可能在部分网络环境下导致请求失败,建议移除该参数。

  4. 无意义的无限循环
    外层的while True会让代码反复读取tokens.txt并重复处理所有token,造成不必要的重复请求,除非有特殊需求,否则应移除该循环。


修正后的代码

import requests

code = "y7EmKSE8ZX"

def join(file_path):
    with open(file_path, "r") as f:
        lines = f.readlines()
        for line in lines:
            token = line.strip()
            if not token:
                continue  # 跳过空行
            headers = {
                'Authorization': token,  # 修正Authorization头格式
                'Content-Type': 'application/json',
            }
            url = f"https://discord.com/api/v9/invites/{code}"
            
            try:
                response = requests.post(url, headers=headers, json={})
                # 根据Discord API规范,200/201状态码表示请求成功
                if response.status_code in (200, 201):
                    print(f"Token {token[:5]}... 成功加入服务器")
                else:
                    # 解析API返回的错误信息,便于排查问题
                    error_detail = response.json().get('message', '未知错误')
                    print(f"Token {token[:5]}... 加入失败,状态码: {response.status_code}, 错误信息: {error_detail}")
            except requests.exceptions.RequestException as e:
                print(f"Token {token[:5]}... 请求异常: {e}")

join("tokens.txt")

额外说明

  • 修正后的代码会根据API响应状态码和内容准确判断是否加入成功,失败时会输出具体错误信息(比如token无效、邀请码过期、账号已在服务器中等),方便快速定位问题。
  • 移除了无限循环,避免重复处理同一批token。
  • 修复了Authorization头格式,确保API能正确识别身份凭证。

内容的提问来源于stack exchange,提问作者Lordoxezz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 19:39:59