Страница 1 из 2

[Модуль] slack (slack)

Добавлено: Чт авг 23, 2018 11:41 am
directman66
Slack — корпоративный мессенджер. Запущен в тестовом режиме в августе 2013 года, публичный релиз состоялся 12 февраля 2014. В первый день тестирования зарегистрировались 8 тысяч компаний. По данным компании на июнь 2015, Slack ежедневно используют 1,1 миллиона пользователей[1]. Slack стал самым быстрорастущим бизнес-приложением в истории[2]. Wikipedia

Бесплатный акаунта slack дает возможности (применительно для системы умного дома):
1) хранение архива 10000 сообщений с вложениями;
2) возможность отправки текстовых сообщений, изображений, ссылок, кнопок и много других возможностей;
3) различные клиенты для всех платформ;
4) нет необходимости использовать VPN (спасибо РКН);
5) возможность отправлять сообщения в системный чат (на примере имеющего модуля телеграм) - в планах.
6) широчайшие возможности интеграции (хороший api)

Что реализовано модулем в настоящий момент:
1) подписка на системный чат в зависимости от требуемого приоритета (меню настройки);

2) отправка текстовых сообщений через webhook

Код: Выделить всё

include_once(DIR_MODULES . 'slack/slack.class.php');
 $slack_module = new slack();
 $slack_module->sendMessageToAll("test message to all");
2) отправка сообщений с вложением (картинка) через webhook. Картинка должна быть доступна по внешней ссылке (из локальной ссылки почему-то не работает).

Код: Выделить всё

include_once(DIR_MODULES . 'slack/slack.class.php');
 $slack_module = new slack();
 $slack_module->sendImageToAll("http://192.168.1.xx/img.jpg","test image");
Для отправки снапшотов с камеры, пока приходится их выкладывать во временную папку по внешней ссылке. Просьба проверить возможность отправки тем, у кого вэбморда недоступна по сети.

Планы на будущее:
1) Добавить другие доступные типы отправляемого контента;
2) Добавить подписку на бота (импорт сообщений в системный час Алисы)
3) Настроить систему callback.

Настройка:

Отправка сообщений:
1) отправка сообщений возможна через vebhook, для этого:
а) Регистрируемся https://api.slack.com/
б) Создаем новое приложение https://api.slack.com/apps/new AppName — название приложения, .
Short description — краткое описание приложения.
Describe what your app does on Slack — полное описание приложения.
Link to clear instructions on how to install your Slack app.
Link to support for your Slack app — две ссылки на страницы с описанием установки и использования данного приложения.
в) Получаем ссылку на Webhook. Для этого на вкладке Basic Information выбираем Add features and functionality, далее Incoming Webhooks, и включаем Activate Incoming Webhooks.
Ссылка Webhook имеет формат: https://hooks.slack.com/services/T00000 ... XXXXXXXXXX
Эту ссылку добавляем на странице "Настройки" модуля.
г) настраиваем необходимый приоритет отправляемого системного чата.
СпойлерПоказать
slack2.png
slack2.png (306.4 КБ) 6217 просмотров
slack1.png
slack1.png (18.4 КБ) 6217 просмотров
За идею интеграции спасибо пользователю neromih.
предыдущая тема viewtopic.php?f=4&t=5649

Re: [Модуль] slack

Добавлено: Чт авг 23, 2018 4:24 pm
dengi.76
Попробовал...,ОТЛИЧНО РАБОТАЕТ !!!

Re: [Модуль] slack

Добавлено: Вт сен 04, 2018 12:31 am
vitar78
не понимаю где ссылка вебхок

Re: [Модуль] slack

Добавлено: Вт сен 04, 2018 1:27 pm
directman66
СпойлерПоказать
s1.png
s1.png (112.9 КБ) 6064 просмотра
s2.png
s2.png (24.28 КБ) 6064 просмотра
s3.png
s3.png (49.02 КБ) 6064 просмотра

Re: [Модуль] slack

Добавлено: Пн сен 24, 2018 8:13 am
Руслан
Чат системы так и не отправляется. Костыль пока сделал:

Код: Выделить всё

//ThisComputer.lastSayMessage
$mess=gg("ThisComputer.lastSayMessage",0);
include_once(DIR_MODULES . 'slack/slack.class.php');
$slack_module = new slack();
$slack_module->sendMessageToAll($mess);
А как обратно на бот отправлять сообщения?

Re: [Модуль] slack

Добавлено: Пн сен 24, 2018 8:42 am
directman66
Модуль должен быть подписан на событие HOOK_EVENT_SAY. Проверьте во вкладке "Общие настройки" -> Обработчики -> HOOK_EVENT_SAY

Re: [Модуль] slack

Добавлено: Пн сен 24, 2018 8:44 am
directman66
Руслан писал(а):
Пн сен 24, 2018 8:13 am

А как обратно на бот отправлять сообщения?
Пока не реализовано, модулем вроде как не активно пользуются, приоритеты в пока в других направлениях.

Re: [Модуль] slack

Добавлено: Пн сен 24, 2018 8:57 am
Руслан
Тут ещё и кнопки можно делать...

Re: [Модуль] slack

Добавлено: Пн сен 24, 2018 9:07 am
Руслан
directman66 писал(а):
Пн сен 24, 2018 8:42 am
Модуль должен быть подписан на событие HOOK_EVENT_SAY. Проверьте во вкладке "Общие настройки" -> Обработчики -> HOOK_EVENT_SAY
У меня написано : {"yandex_tts":{"filter":"","priority":10},"telegram":{"filter":"","priority":10},"slack":{"filter":"","priority":10}}

Re: [Модуль] slack

Добавлено: Пн окт 08, 2018 4:17 pm
pash4uga
Отличная альтернатива Telegram!
Ждем доработок, что бы можно было и отправлять команды серверу.