New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Сделать интерфейс для Slack бота #609

Closed
hulygun opened this Issue Sep 7, 2017 · 30 comments

Comments

Projects
None yet
2 participants
@hulygun
Contributor

hulygun commented Sep 7, 2017

Применение обширное:

  • Уведомление в конкретный канал важных событий(например жалобы, заявки на размещение компании в бизнес, etc)
  • Управление некритичными функциями(бан, разбан, ТМ, прочее)
  • Инфо запросы к боту

AP:

  • Админка с настройками для slack
  • Отправка сообщений в Slack
  • Выполнение команд из Slack
  • Отправка инвайта на почту по #607
  • Бейдж по #607
  • Документация
  • Привести код в порядок
@mbaev

This comment has been minimized.

Show comment
Hide comment
@mbaev

mbaev Sep 7, 2017

Contributor

Ты говоришь о slack-боте для drupal.ru?

Contributor

mbaev commented Sep 7, 2017

Ты говоришь о slack-боте для drupal.ru?

@hulygun

This comment has been minimized.

Show comment
Hide comment
@hulygun

hulygun Sep 7, 2017

Contributor

Я говорю о Slack API. Через которое можно организовать всё вышеперечисленное и даже больше. Если есть готовый модуль, то нужно глянуть его возможности... Фантазия для применения безгранична, а вот универсальное решение скорее всего будет иметь жёсткие ограничения.

Contributor

hulygun commented Sep 7, 2017

Я говорю о Slack API. Через которое можно организовать всё вышеперечисленное и даже больше. Если есть готовый модуль, то нужно глянуть его возможности... Фантазия для применения безгранична, а вот универсальное решение скорее всего будет иметь жёсткие ограничения.

@mbaev

This comment has been minimized.

Show comment
Hide comment
@mbaev

mbaev Sep 7, 2017

Contributor

Поддерживаю. Это будет киллер-фичей для drupal.ru
Хочешь взяться?

Contributor

mbaev commented Sep 7, 2017

Поддерживаю. Это будет киллер-фичей для drupal.ru
Хочешь взяться?

@hulygun

This comment has been minimized.

Show comment
Hide comment
@hulygun

hulygun Sep 7, 2017

Contributor

Да, могу сделать. У меня половина штук на experience.tripster.ru со шлаком работает. Нужна только возможность локальной развёртки и соответствующие права для для внедрения бота

Contributor

hulygun commented Sep 7, 2017

Да, могу сделать. У меня половина штук на experience.tripster.ru со шлаком работает. Нужна только возможность локальной развёртки и соответствующие права для для внедрения бота

@mbaev

This comment has been minimized.

Show comment
Hide comment
@mbaev

mbaev Sep 7, 2017

Contributor

Да, с этим придётся подождать недельку другую.
На этой или следующей неделе закончим с #605, потом будем делать #601

Contributor

mbaev commented Sep 7, 2017

Да, с этим придётся подождать недельку другую.
На этой или следующей неделе закончим с #605, потом будем делать #601

@hulygun

This comment has been minimized.

Show comment
Hide comment
@hulygun

hulygun Sep 7, 2017

Contributor

Ок. Тогда жду 3 зелёных свистка вверх

Contributor

hulygun commented Sep 7, 2017

Ок. Тогда жду 3 зелёных свистка вверх

@hulygun

This comment has been minimized.

Show comment
Hide comment
@hulygun

hulygun Sep 11, 2017

Contributor

1

Contributor

hulygun commented Sep 11, 2017

1

@hulygun

This comment has been minimized.

Show comment
Hide comment
@hulygun

hulygun Sep 11, 2017

Contributor

Пока как-то так... По поводу команд для бота нужно подумать списочек для начала, но сообщенки в слак уже слать может))

Contributor

hulygun commented Sep 11, 2017

Пока как-то так... По поводу команд для бота нужно подумать списочек для начала, но сообщенки в слак уже слать может))

@hulygun

This comment has been minimized.

Show comment
Hide comment
@hulygun

hulygun Sep 12, 2017

Contributor

Так же просмотрел все готовые решения для интеграции со шлаком

  1. https://www.drupal.org/project/slack
  2. https://www.drupal.org/project/notify_slack

Проблемы:

  1. Могут только слать сообщенки в шлак, управление командами невозможно
  2. Изменилась политика шлака для отправки сообщений, так что доступен только один канал

Выводы: использовать собственное решение.

Contributor

hulygun commented Sep 12, 2017

Так же просмотрел все готовые решения для интеграции со шлаком

  1. https://www.drupal.org/project/slack
  2. https://www.drupal.org/project/notify_slack

Проблемы:

  1. Могут только слать сообщенки в шлак, управление командами невозможно
  2. Изменилась политика шлака для отправки сообщений, так что доступен только один канал

Выводы: использовать собственное решение.

@hulygun

This comment has been minimized.

Show comment
Hide comment
@hulygun

hulygun Sep 12, 2017

Contributor

Отчёт

На текущий момент готова админская форма с настройками и отправка сообщений в шлак. Хотелось бы услышать пожелания какие команды должен выполнять бот.

Contributor

hulygun commented Sep 12, 2017

Отчёт

На текущий момент готова админская форма с настройками и отправка сообщений в шлак. Хотелось бы услышать пожелания какие команды должен выполнять бот.

@hulygun

This comment has been minimized.

Show comment
Hide comment
@hulygun

hulygun Sep 12, 2017

Contributor

Отчёт

Сделал метод для отправки инвайтов по емейлу. Использование:

$slack = new SlackAPI();
$slack->invite($email) // array('ok' => bool, 'message');

Перехожу к бейджу... Меня волнует только актуализация. Сам механизм простой - получаем список юзеров и распарсиваем на предмет active|away. В результате получаем нужные цифры. Однако объекты пользователей относительно большие с кучей лишней инфы. И если для небольшого количества человек это не критично, то чем больше, тем хуже и на лету генерировать нужные цифры быстро уже не выйдет. Нужны мнения
Так же жду список пожеланий на команды боту

Contributor

hulygun commented Sep 12, 2017

Отчёт

Сделал метод для отправки инвайтов по емейлу. Использование:

$slack = new SlackAPI();
$slack->invite($email) // array('ok' => bool, 'message');

Перехожу к бейджу... Меня волнует только актуализация. Сам механизм простой - получаем список юзеров и распарсиваем на предмет active|away. В результате получаем нужные цифры. Однако объекты пользователей относительно большие с кучей лишней инфы. И если для небольшого количества человек это не критично, то чем больше, тем хуже и на лету генерировать нужные цифры быстро уже не выйдет. Нужны мнения
Так же жду список пожеланий на команды боту

@hulygun

This comment has been minimized.

Show comment
Hide comment
@hulygun

hulygun Sep 13, 2017

Contributor

Отчёт

Сделал получение данных для бейджа:

  $slack = new slackAPI();
  $badge = $slack->badge(); // array('link' => 'Link to team host', 'total' => 'Total members', 'active'=> 'Count of active members')

@mbaev github бейдж жыж не обязательно .png? Как насчёт svg шечки?

Тест 1

Contributor

hulygun commented Sep 13, 2017

Отчёт

Сделал получение данных для бейджа:

  $slack = new slackAPI();
  $badge = $slack->badge(); // array('link' => 'Link to team host', 'total' => 'Total members', 'active'=> 'Count of active members')

@mbaev github бейдж жыж не обязательно .png? Как насчёт svg шечки?

Тест 1

@hulygun

This comment has been minimized.

Show comment
Hide comment
@hulygun

hulygun Sep 13, 2017

Contributor

Отчёт

Сделал роут для бейджа, рендерит svg, в качестве параметра передаётся высота бейджа.
Соотношения размеров, шрифт и цвета можно настроить по желанию

Contributor

hulygun commented Sep 13, 2017

Отчёт

Сделал роут для бейджа, рендерит svg, в качестве параметра передаётся высота бейджа.
Соотношения размеров, шрифт и цвета можно настроить по желанию

@hulygun

This comment has been minimized.

Show comment
Hide comment
@hulygun

hulygun Sep 13, 2017

Contributor

2017-09-13 16-11-55

Contributor

hulygun commented Sep 13, 2017

2017-09-13 16-11-55

@hulygun

This comment has been minimized.

Show comment
Hide comment
@hulygun

hulygun Sep 13, 2017

Contributor

З.Ы. Админку для настройки цветов, шрифтов, размеров делать не вижу смысла. Там обыкновенный tpl.php, внутри которого код svg, так что можно всё внутри подправить при необходимости

Contributor

hulygun commented Sep 13, 2017

З.Ы. Админку для настройки цветов, шрифтов, размеров делать не вижу смысла. Там обыкновенный tpl.php, внутри которого код svg, так что можно всё внутри подправить при необходимости

@hulygun

This comment has been minimized.

Show comment
Hide comment
@hulygun

hulygun Sep 13, 2017

Contributor

Для команд боту из шлака, пожалуй реализую только одну, какую нить абстрактную, на примере которой можно будет шлёпать остальные...

Contributor

hulygun commented Sep 13, 2017

Для команд боту из шлака, пожалуй реализую только одну, какую нить абстрактную, на примере которой можно будет шлёпать остальные...

@mbaev

This comment has been minimized.

Show comment
Hide comment
@mbaev

mbaev Sep 13, 2017

Contributor

Так бейдж можно будет использовать?
https://github.com/gridstack/gridstack.js/blob/develop/README.md

Contributor

mbaev commented Sep 13, 2017

Так бейдж можно будет использовать?
https://github.com/gridstack/gridstack.js/blob/develop/README.md

@mbaev mbaev added this to the 2nd October 2017 milestone Sep 13, 2017

@mbaev

This comment has been minimized.

Show comment
Hide comment
@mbaev

mbaev Sep 13, 2017

Contributor

Как закончишь - бросай ПР в дев

Contributor

mbaev commented Sep 13, 2017

Как закончишь - бросай ПР в дев

@hulygun

This comment has been minimized.

Show comment
Hide comment
@hulygun

hulygun Sep 13, 2017

Contributor

@mbaev Да, так можно будет использовать... это обыкновенный путь к svg. примерно будет выглядеть так

[![Slack Status](https://drupal.ru/slack_badge/{Высота бейджа}/badge.svg)](https://...)
Contributor

hulygun commented Sep 13, 2017

@mbaev Да, так можно будет использовать... это обыкновенный путь к svg. примерно будет выглядеть так

[![Slack Status](https://drupal.ru/slack_badge/{Высота бейджа}/badge.svg)](https://...)
@mbaev

This comment has been minimized.

Show comment
Hide comment
@mbaev

mbaev Sep 13, 2017

Contributor

Заодно можешь закинуть бейджик в https://github.com/DrupalRu/drupal.ru/blob/dev/README.md

Contributor

mbaev commented Sep 13, 2017

Заодно можешь закинуть бейджик в https://github.com/DrupalRu/drupal.ru/blob/dev/README.md

@hulygun

This comment has been minimized.

Show comment
Hide comment
@hulygun

hulygun Sep 13, 2017

Contributor

@mbaev Ок

Contributor

hulygun commented Sep 13, 2017

@mbaev Ок

@hulygun

This comment has been minimized.

Show comment
Hide comment
@hulygun

hulygun Sep 14, 2017

Contributor

Отчёт

Сделал бота на приём комманд... реализовал 2 тестовых метода для примера (с аргументами и без)
Хочу теперь сделать инструкции по настройке и немного улучшиить конструктор сообщений в шлак, чтоб там с эмоджи и прочей хренькой

Contributor

hulygun commented Sep 14, 2017

Отчёт

Сделал бота на приём комманд... реализовал 2 тестовых метода для примера (с аргументами и без)
Хочу теперь сделать инструкции по настройке и немного улучшиить конструктор сообщений в шлак, чтоб там с эмоджи и прочей хренькой

@hulygun

This comment has been minimized.

Show comment
Hide comment
@hulygun

hulygun Sep 14, 2017

Contributor

2017-09-15 01-48-53

Contributor

hulygun commented Sep 14, 2017

2017-09-15 01-48-53

@mbaev

This comment has been minimized.

Show comment
Hide comment
@mbaev

mbaev Sep 15, 2017

Contributor

А страницу инвайта можно создать на стороне друпал-сайта?

Contributor

mbaev commented Sep 15, 2017

А страницу инвайта можно создать на стороне друпал-сайта?

@hulygun

This comment has been minimized.

Show comment
Hide comment
@hulygun

hulygun Sep 15, 2017

Contributor

@mbaev Конечно, делаешь обыкновенную форму с email и вызываешь

$slack = new SlackAPI();
$slack->invite($email)
Contributor

hulygun commented Sep 15, 2017

@mbaev Конечно, делаешь обыкновенную форму с email и вызываешь

$slack = new SlackAPI();
$slack->invite($email)
@hulygun

This comment has been minimized.

Show comment
Hide comment
@hulygun

hulygun Sep 15, 2017

Contributor

Отчёт

Сделал страничку HOW TO
screencapture-localhost-8888-admin-help-slack_api-1505481433501

Contributor

hulygun commented Sep 15, 2017

Отчёт

Сделал страничку HOW TO
screencapture-localhost-8888-admin-help-slack_api-1505481433501

@hulygun

This comment has been minimized.

Show comment
Hide comment
@hulygun

hulygun Sep 15, 2017

Contributor

Осталось привести код в порядок. От переводов решил отказаться

Contributor

hulygun commented Sep 15, 2017

Осталось привести код в порядок. От переводов решил отказаться

@mbaev

This comment has been minimized.

Show comment
Hide comment
@mbaev

mbaev Sep 15, 2017

Contributor

Да, это нормально.

Contributor

mbaev commented Sep 15, 2017

Да, это нормально.

@hulygun

This comment has been minimized.

Show comment
Hide comment
@hulygun

hulygun Sep 15, 2017

Contributor

@mbaev Создал ПР, если чё непонятно - стучи

Contributor

hulygun commented Sep 15, 2017

@mbaev Создал ПР, если чё непонятно - стучи

@mbaev mbaev modified the milestones: 2nd October 2017, 6th November 2017 Sep 23, 2017

@mbaev mbaev modified the milestones: 6th November 2017, 2nd October 2017 Oct 1, 2017

@mbaev

This comment has been minimized.

Show comment
Hide comment
@mbaev

mbaev Oct 1, 2017

Contributor

Принял ПР, настраивать будем позже.

Contributor

mbaev commented Oct 1, 2017

Принял ПР, настраивать будем позже.

@mbaev mbaev closed this Oct 1, 2017

@mbaev mbaev removed the In Progress label Oct 1, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment