Pull to refresh

Comments 15

Telegram-бот для Redmine. Как упростить жизнь себе и людям
Он написан на C. Точнее на нашем фрэймворке, который написан на С

Ребята знают как упрощать жизнь.

Каждая компания на хабре будет выпускать свой плагин для связи Redmine и Telegram
https://habrahabr.ru/company/southbridge/blog/332292/

PS. Вы не думайте, я не против большого разнообразия решений. Просто удивил первый пост компании о том, что уже было на хабре от другой компании, которая предоставляет такие же или похожие услуги. Поначалу подумал, что первая сменила название :)
Когда мы в компании осознали потребность в подобном ПО, то, разумеется, внимательно изучили существующие решения (в том числе и то, которое Вы приводите). И т.к. ни одно из них не предоставляло нужный нам функционал — мы решили разработать собственного бота, который бы максимально вписывался в имеющиеся у нас бизнес-процессы и логику работу.

Я ни в коем случае не хочу сказать, что имеющиеся решения плохие, нет, просто они другие. Например, наш бот позволяет нашим клиентам общаться с тех. поддержкой вообще не используя Redmine, а администраторам общаться с клиентами не используя Telegram.
Ох, как круто, прямо то, о чем я мечтал, но C, вы серьезно?
Ох, как круто, прямо то, о чем я мечтал


Спасибо, мы рады, что наша идея оказалась полезной для сообщества!

но C, вы серьезно?


Да, вполне. При выборе языка для разработки бота мы исходили из следующего:
1. У нас уже был свой framework, на котором разработано большинство внутренних инструментов для компании и который показал себя с хорошей стороны при решении подобных задач.
2. У нас есть разработчики на Си, которые знают этот framework

Поэтому мы посчитали, что получить максимально качественный продукт в максимально короткие сроки мы можем только с помощью Си.

У меня встречный вопрос: почему для Вас важно на каком языке разработан бот? Ведь для него создан пакет и есть репозиторий из которого его можно поставить одной командой, т.е. не надо ни компилировать программу вручную, ни разбирасться с тем как её установить. Можно просто брать и начинать пользоваться. Если, конечно, Вы не хотите дорабатывать бота под себя :).
Хочется быть уверенным, что я смогу его поддерживать, даже если разработчики откажутся от развития, плюс иметь возможность вносить модификации.
Подскажите, где взять auth_token? bot_api_key выдаётся при создании бота, а что такое auth_token? bot_api_addr должен быть api.telegram.org или по шаблону из документации api.telegram.org/bot/? Сам сервис у меня работает, выдаёт статистику, данные по обновлённым задачам в редмайне, но бот не реагирует ни на одну команду… Конфиг такой: yadi.sk/i/MoK6CXlX3Rnepn
Разобрался. Но в логе почему-то ошибка
[nxs-chat-srv]: tlgrm request error: wrong Telegram response code (response code: 404, response body: "")
не хватает полного url для того, чтобы понять проблему…
Пока ответил в личку.

Если решаемый вопрос окажется общим — по итогам резюме будет либо представлено тут, либо скорректирована инструкция по настройке бота.
Проблема заключалась в том, что при конфигурировании бота в значение опции telegram.bot_api_addr был добавлен лишний завершающий символ '/' (т.е. было указано: https://api.telegram.org/). Бот это не проверял и при конкатенации строк добавлял ещё один слэш, что не позволяло зарегистрировать Webhook в Telegram.

Сейчас недочёт устранён, в репозиторий выложены пакеты с новой версией бота.

Спасибо за интересное решение. У нас в планах тоже есть интеграция с Telegram, но чтобы встроить его в Redmine как мессенджер, чтобы пользователи могли общаться между собой.

У меня вопрос, почему вы не используете плагины для упрощения работы с задачами и жизненными циклами задач?

У вас все движения задачи происходят через стандартное редактирование задачи с отображением всех полей?
Спасибо за интересное решение. У нас в планах тоже есть интеграция с Telegram, но чтобы встроить его в Redmine как мессенджер, чтобы пользователи могли общаться между собой.


Скажите, а где (например, в какой-то задаче) в Redmine Вы предполагаете сохранять лог общения пользователей в Telegram?

У меня вопрос, почему вы не используете плагины для упрощения работы с задачами и жизненными циклами задач?


Исходя из специфики нашей работы нам, в принципе, достаточно стандартных средств самого Redmine и тех процессов, которые мы написали с использованием этого плагина. Но если Вы дадите ссылки на полезные плагины — буду благодарен! :)

У вас все движения задачи происходят через стандартное редактирование задачи с отображением всех полей?


Не совсем. Есть некоторые отклонения от стандартного движения задачи в соответствии с созданными нами процессами с помощью упомянутого плагина. Например, автоматическая смена статуса задачи с «Ожидание клиента» на «Ответ клиента» когда в тикет отвечает клиент.

А видимость полей тоже ограничена в зависимости от роли пользователя в проекте, чтобы клиентам не выводить лишнюю информацию, загромождающую экран.
Интересное решение, но вот реализация на С немного отталкивает.
Мне кажется под такие решение очень хорошо заходит реализация на Golang.
Если бы мы начинали с чистого листа, то скорее всего выбрали бы именно Go (тут я с Вами согласен), но т.к. у нас уже были какие-то наработки и готовые инструменты, то решили остановиться именно на использовании Си.

Скажите, пожалуйста, а почему именно Вас отталкивает реализация на Си?
Sign up to leave a comment.