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

如何通过API向Discord发送斜杠命令?(PHP/CURL实现求助)

解决Discord斜杠命令的PHP/CURL执行问题

你当前的代码误用了Discord Webhook——Webhook仅用于发送普通消息,无法触发斜杠命令。要执行斜杠命令,必须通过Discord API的交互端点调用,且需要使用机器人令牌而非Webhook URL。

核心前提

  1. 拿到目标工单机器人的application_id(可在Discord开发者门户或服务器成员列表中查看机器人ID)
  2. 你的机器人账号已加入目标服务器,且具备在指定频道使用该斜杠命令的权限
  3. 获取机器人的令牌(在Discord开发者门户的Bot页面生成)
  4. 明确目标服务器的guild_id、频道的channel_id(开启Discord开发者模式后,右键服务器/频道即可复制ID)

正确的PHP/CURL实现代码

<?php
// 替换为你的实际参数
$botToken = 'YOUR_BOT_TOKEN';
$applicationId = '工单机器人的APPLICATION_ID';
$guildId = '目标服务器ID';
$channelId = '目标频道ID';

// 构造斜杠命令的请求体
$payload = [
    'type' => 2, // 类型2表示应用命令交互,Discord API规定值
    'application_id' => $applicationId,
    'guild_id' => $guildId,
    'channel_id' => $channelId,
    'session_id' => uniqid(), // 生成唯一会话ID,可随意生成
    'data' => [
        'name' => 'ticket', // 斜杠命令的名称
        'options' => [
            [
                'name' => '工单内容', // 匹配工单机器人命令的参数名称
                'type' => 3, // 类型3表示字符串参数,需对应命令定义
                'value' => '我的工单' // 你要提交的工单内容
            ]
        ]
    ]
];

$jsonPayload = json_encode($payload);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://discord.com/api/v10/interactions');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonPayload);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    "Authorization: Bot $botToken"
]);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'CURL错误: ' . curl_error($ch);
} else {
    // 输出响应用于调试
    var_dump(json_decode($result, true));
}
curl_close($ch);
?>

关键说明

  • type: 2:这是Discord API规定的应用命令交互类型,必须设置为2才能触发斜杠命令
  • options数组:需严格匹配工单机器人斜杠命令的参数定义(包括参数名称、类型),如果命令无参数可省略该字段
  • 权限检查:确保机器人在目标服务器中拥有SendMessages、UseApplicationCommands等必要权限
  • API版本:示例使用v10版本,Discord API版本会定期更新,需保持与当前最新版本一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 11:05:18