Страница 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
Эту ссылку добавляем на странице "Настройки" модуля.
г) настраиваем необходимый приоритет отправляемого системного чата.
SPOILERSPOILER_SHOW
slack2.png
slack2.png (306.4 КБ) 6863 просмотра
slack1.png
slack1.png (18.4 КБ) 6863 просмотра
За идею интеграции спасибо пользователю 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
SPOILERSPOILER_SHOW
s1.png
s1.png (112.9 КБ) 6710 просмотров
s2.png
s2.png (24.28 КБ) 6710 просмотров
s3.png
s3.png (49.02 КБ) 6710 просмотров

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!
Ждем доработок, что бы можно было и отправлять команды серверу.