我是新手,我想在我的频道中做一个机器人用户。 问题是:每次我想发送消息松弛我都要刷新我的页面(从slack接收信息的页面)。 我将Incoming Webhook配置成功。
这就是我在php中成功配置传入的webhook:
header('Content-Type: application/json');
$entityBody = file_get_contents('php://input');
echo $entityBody;
我的问题是为什么我必须刷新页面才能接收或发送消息?
答案 0 :(得分:1)
您刷新页面的原因是它包含PHP代码(我假设)并刷新它会触发其执行。然而,这并不是你通常会这样做的。根据您的使用情况,您通常会有另一个Web服务触发您的脚本,例如一个松弛的事件。
为了实现bot用户,一种方法是使用Events API并订阅message
事件。每次发送消息时,Slack都会自动调用您的脚本,然后可以处理传入的消息。
要发回消息,只需要使用echo
简单回复Slack请求。你不需要传入webhook。
答案 1 :(得分:1)
以下是使用curl
<?php
define('SLACK_WEBHOOK', 'https://hooks.slack.com/services/xxx/yyy/zzz');
function slack($txt) {
$msg = array('text' => $txt);
$c = curl_init(SLACK_WEBHOOK);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($c, CURLOPT_POST, true);
curl_setopt($c, CURLOPT_POSTFIELDS, array('payload' => json_encode($msg)));
curl_exec($c);
curl_close($c);
}
?>
摘自here
的摘录