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

Python Discord消息发送脚本修改:CHANNEL_ID_1返回200后停止同频道重发

修改后的实现代码

核心修改点

  • 为sendMessage函数新增响应状态码返回值,用于判断发送结果
  • 新增channel1_sent标记位,记录CHANNEL_ID_1是否已发送成功,发送成功后后续循环自动跳过该频道
  • 其余频道发送逻辑完全保留原有逻辑不变

完整可运行代码

import requests
import time

USERS_TOKEN = "TOKEN"
CHANNEL_ID_1 = "CHANNELID HERE"
CHANNEL_ID_2 = "CHANNELID HERE"
CHANNEL_ID_3 = "CHANNELID HERE"
CHANNEL_ID_4 = "CHANNELID HERE"
MESSAGE_1 = "msg 1 channel 1"
MESSAGE_2 = "msg 2 channel 2"
MESSAGE_3 = "msg 3 channel 3"
MESSAGE_4 = "msg 4 channel 4"
msgcount = "10"

# 新增标记位,记录频道1是否已经发送成功
channel1_sent = False

def sendMessage(token, channel_id, message):
    url = 'https://discord.com/api/v9/channels/{}/messages'.format(channel_id)
    data = {"content": message}
    header = {"authorization": token}
    r = requests.post(url, data=data, headers=header)
    print(r.status_code)
    # 新增返回状态码
    return r.status_code

for i in range(int(msgcount)):
    time.sleep(0.3)
    # 仅当频道1未发送成功时,才执行发送逻辑
    if not channel1_sent:
        status_code = sendMessage(USERS_TOKEN, CHANNEL_ID_1, MESSAGE_1)
        # 发送成功后标记为已发送,后续循环不再执行
        if status_code == 200:
            channel1_sent = True
    # 其余频道发送逻辑不变
    sendMessage(USERS_TOKEN, CHANNEL_ID_2, MESSAGE_2)
    sendMessage(USERS_TOKEN, CHANNEL_ID_3, MESSAGE_3)
    sendMessage(USERS_TOKEN, CHANNEL_ID_4, MESSAGE_4)

注意事项

使用该脚本需要遵守Discord平台的用户协议与API使用规则,违规操作可能导致账号被封禁

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 21:54:04