Slack,发送和接收消息
Slack, sending and receiving messages
我是 slack 的新手,我想在我的频道中做一个机器人用户。
问题是:每次我想向 slack 发送消息时,我都必须刷新我的页面(从 slack 接收信息的页面)。
我成功配置了 Incoming Webhook。
这就是我在 php 中成功配置传入 webhook 所做的:
header('Content-Type: application/json');
$entityBody = file_get_contents('php://input');
echo $entityBody;
我的问题是为什么我必须刷新我的页面才能接收消息或向 Slack 发送消息?
你刷新页面的原因是它包含 PHP 代码(我假设)并且刷新它会触发它的执行。然而,这不是您通常会做的。根据您的用例,您通常会让另一个 Web 服务触发您的脚本,例如松弛事件。
要实现机器人用户,一种方法是使用 Events API and subscribe to the message
事件。每次发送消息时,Slack 都会自动调用您的脚本,然后可以处理传入的消息。
要发回消息,只需使用 echo
简单回复 Slack 请求。为此,您不需要传入的 webhook。
这是一个使用 curl
将外发消息发送到 slack 的简单示例
<?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
的片段
我是 slack 的新手,我想在我的频道中做一个机器人用户。 问题是:每次我想向 slack 发送消息时,我都必须刷新我的页面(从 slack 接收信息的页面)。 我成功配置了 Incoming Webhook。
这就是我在 php 中成功配置传入 webhook 所做的:
header('Content-Type: application/json');
$entityBody = file_get_contents('php://input');
echo $entityBody;
我的问题是为什么我必须刷新我的页面才能接收消息或向 Slack 发送消息?
你刷新页面的原因是它包含 PHP 代码(我假设)并且刷新它会触发它的执行。然而,这不是您通常会做的。根据您的用例,您通常会让另一个 Web 服务触发您的脚本,例如松弛事件。
要实现机器人用户,一种方法是使用 Events API and subscribe to the message
事件。每次发送消息时,Slack 都会自动调用您的脚本,然后可以处理传入的消息。
要发回消息,只需使用 echo
简单回复 Slack 请求。为此,您不需要传入的 webhook。
这是一个使用 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
的片段