如何使用Python Requests触发Discord命令?请求提供实现代码
使用Python Requests发送Discord /imagine命令
要发送Discord的slash命令(比如Midjourney的/imagine),不能直接发送普通消息,需要构造符合Discord交互规范的POST请求。以下是可行的实现代码:
首先准备几个关键参数:
- 你的Discord用户Token:通过Discord客户端开发者工具获取(注意绝不泄露给他人)
- 目标频道ID:右键Discord频道复制ID(需先开启开发者模式)
- Midjourney应用ID:固定为
936929561302675456 - /imagine命令ID:固定为
938956540159881230
import requests import uuid # 替换为你的参数 DISCORD_TOKEN = "你的Discord用户Token" CHANNEL_ID = "目标频道的ID" PROMPT = "a cat wearing a space suit, digital art" # 请求地址 url = "https://discord.com/api/v9/interactions" # 请求头配置 headers = { "Authorization": DISCORD_TOKEN, "Content-Type": "application/json" } # 构造符合Discord交互规范的请求体 payload = { "type": 2, "channel_id": CHANNEL_ID, "application_id": "936929561302675456", "session_id": str(uuid.uuid4()), "data": { "version": "938956540159881230", "id": "938956540159881230", "name": "imagine", "type": 1, "options": [ { "name": "prompt", "type": 3, "value": PROMPT } ], "application_command": { "id": "938956540159881230", "application_id": "936929561302675456", "version": "938956540159881230", "name": "imagine", "description": "Create images with Midjourney", "options": [ { "type": 3, "name": "prompt", "description": "The prompt to generate an image from", "required": True } ] }, "attachments": [] } } # 发送请求 response = requests.post(url, headers=headers, json=payload) # 验证结果 if response.status_code in [200, 204]: print("命令发送成功") else: print(f"发送失败,状态码: {response.status_code},响应内容: {response.text}")
注意事项
- 确保你的账号已加入Midjourney服务器,目标频道允许使用/imagine命令
- 不要分享你的Discord Token,否则他人可完全控制你的账号
- 请求失败时优先查看响应内容里的错误提示,常见问题包括Token过期、频道ID错误、权限不足
- 频繁发送请求会触发Discord限流,建议添加适当延迟
内容的提问来源于stack exchange,提问作者actekky
相关产品推荐
相关产品推荐

