【发布时间】:2017-06-11 08:53:10
【问题描述】:
所以我为 discord 上的机器人设置了一个非常简单的设置:
<?php
function postToDiscord($message)
{
$data = array(
"content" => $message,
"username" => "myBot",
);
$curl = curl_init("https://discordapp.com/api/webhooks/MY_HOOK");
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
return curl_exec($curl);
}
postToDiscord("foo bar");
这按预期工作,但我不明白这些钩子的概念。我在 github 上看到了 an example,但这会对使用 github 进行的操作作出反应。就像,在提交之后,我可以触发一个 webhook 并发布到一个频道。
但是,我想对特定的聊天命令做出反应,例如 !song,以从 spotify 检索当前歌曲。例如,在 twitch 上,我知道你可以从 IRC 中获取当前文本,但是这对不和谐有什么作用?
我想我需要一个观察者,它对给定的输入做出反应(也许使用 ajax 调用?)。非常感谢任何想法或反馈。
【问题讨论】:
-
您的示例是一种单向沟通渠道。您将发布到该 URL(正如您已经在做的那样)以将消息发送到该频道。您必须查看this 才能真正阅读消息。您可能可以查看DiscordPHP 以了解如何使用它。它应该像在
discordapp.com/api/channels/{channel.id}/messages上执行GET一样简单。可能需要实现一个机器人(所以它充当一个虚拟用户)