If you want to easily send messages to a chat service, all you need is a webhook configured on that service and the following code.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35/**
* Send message to chat.
*/
function _MY_MODULE_send_chat_message($message_lines) {
if (!variable_get('MY_MODULE_chat_send_enabled', FALSE)) {
return;
}
$message = implode("\n", $message_lines);
$url = variable_get('MY_MODULE_chat_url', '');
$data = array(
'username' => variable_get('MY_MODULE_chat_user', ''),
'channel' => variable_get('MY_MODULE_chat_channel', ''),
'text' => $message,
);
$options = array(
'method' => 'POST',
'data' => json_encode($data),
'timeout' => 15,
'headers' => array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
),
);
drupal_http_request($url, $options);
}
/**
* Send single line to chat.
*/
function _MY_MODULE_send_chat_message_line($line) {
_MY_MODULE_send_chat_message(array($line));
}