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

如何简化重复代码:实现多账号多消息批量调用Discord API

批量发送Discord消息实现方案

步骤1:组织数据文件

推荐用单个文本文件关联账号token与对应消息,每行格式为 token|消息内容(例如下方格式),确保token和消息一一对应,避免错位:

token1|账号1的待发送消息
token2|账号2的专属内容
token3|账号3要发的文本

如果习惯分开存储,需保证messages.txt(每行一条消息)和tokens.txt(每行一个token)的行数完全一致。

步骤2:修改后的代码

import requests

# 读取账号与消息数据
def load_account_data(file_path):
    account_list = []
    with open(file_path, 'r', encoding='utf-8') as f:
        for line in f:
            line = line.strip()
            if not line:
                continue
            # 仅分割第一个|,兼容消息含|符号的场景
            token, message = line.split('|', 1)
            account_list.append({
                'token': token.strip(),
                'message': message.strip()
            })
    return account_list

# 封装消息发送逻辑
def send_message(token, message, channel_id='1007038944707346502'):
    api_url = f"https://discord.com/api/v9/channels/{channel_id}/messages"
    headers = {'authorization': token}
    payload = {'content': message}
    
    try:
        resp = requests.post(api_url, data=payload, headers=headers)
        resp.raise_for_status()
        print(f"账号[{token[:10]}...]消息发送成功")
    except requests.exceptions.RequestException as e:
        print(f"账号[{token[:10]}...]发送失败: {str(e)}")

if __name__ == "__main__":
    # 替换为你的数据文件路径
    accounts = load_account_data('account_messages.txt')
    # 循环切换账号发送对应消息
    for acc in accounts:
        send_message(acc['token'], acc['message'])

关键说明

  • load_account_data:读取文本文件并处理每行内容,返回结构化的账号-消息列表,兼容消息含|符号的场景。
  • send_message:单独封装发送逻辑,加入异常捕获,发送结果实时反馈,便于排查问题。
  • 主函数通过循环自动切换每个账号,发送对应的专属消息。

注意事项

  • 确保Discord账号token有效,且账号有权限向目标频道发消息。
  • 文本文件需用UTF-8编码保存,避免中文乱码。
  • 避免短时间内高频发送,防止触发Discord API限流。

内容的提问来源于stack exchange,提问作者Ömer Doğan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 09:55:10