对聊天命令做出反应(webhook)
Posted
技术标签:
【中文标题】对聊天命令做出反应(webhook)【英文标题】:React to chat-commands (webhooks) 【发布时间】: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
一样简单。可能需要实现一个机器人(所以它充当一个虚拟用户)
【参考方案1】:
Discord WebHooks 只能发布他们无法获取的内容
【讨论】:
以上是关于对聊天命令做出反应(webhook)的主要内容,如果未能解决你的问题,请参考以下文章
如何让机器人响应/响应 slack 中传入的 webhook 消息?