Как в Телеграмме чтобы поступали уведомления

Содержание
Еще по теме:  Есть ли бот который автоматичекси рассылает сообщения участникам группы в Телеграмме

ПланФикс

  • Итоги: сентябрь 2023
  • Справочники ПланФикса: новый метод администрирования задач в бизнес-процессах
  • REST API: работа со сложными фильтрами аналитик
  • Коммерческое предложение в картинках: добавьте изображение в шаблон документа
  • Процесс учета времени работы над проектом
  • Итоги: август 2023
  • Вселенная «Колеса»: решайте бизнес-задачи с помощью динамических блоков
  • Итоги: июль 2023
  • Управление по отклонениям: настраиваем «светофор» для контроля задач
  • Объекты: универсальная сущность ПланФикса

Уведомления в Telegram

  • Как это работает, Новости
  • Telegram, ПланФикс, уведомления
  • 35 комментариев

Теперь ПланФикс умеет отправлять уведомления в Telegram и принимать ответы на эти уведомления. Для тех, кто первый раз слышит про Telegram: это приложение для общения через интернет, что-то типа Viber или Skype, но со своей спецификой. В частности, Telegram позволяет подключить дополнительные программки, так называемые “боты”, при помощи которых можно получать в свой Telegram информацию из других сервисов.

В этой заметке я расскажу о настройке и использовании телеграм-бота ПланФикса, которого мы написали специально для этой цели.

Уведомления ПланФикса в Telegram

Вначале о настройке

Я понимаю, что скорее всего у вас установлен Telegram на смартфоне – но для того, чтобы включить бот ПланФикса, вам понадобится установить версию Telegram для десктопа. Сделать это можно здесь.

После того, как десктоп-версия Telegram установлена, заходим в свою карточку пользователя ПланФикса и жмем “Подписаться” в окошке с Телеграмом:

Подключение Telegram в ПланФиксе

После подтверждения Вы увидите стартовое окошко телеграм-бота ПланФикса, в котором нужно будет нажать Start:

Подключения ПланФикса в Telegram

Об успешном проведении операции будет сигнализировать вот такая надпись:

Успешное подключение бота ПланФикса в Телеграм

Возвращаемся в ПланФикс, обновляем страничку подписок и видим появившиеся самолетики Телеграма – это значит, мы можем использовать его для подписок на любой вид уведомлений:

Подписка на уведомления ПланФикса в Телеграм

Теперь об использовании
Главное преимущество Telegram в том, что он отлично себя чувствует на мобильных платформах и за счет этого может служить средством доставки push-уведомлений (то есть, уведомлений о новых событиях, которые возникают на заблокированном экране смартфона или планшета). Пока у ПланФикса нет собственного мобильного приложения, это здорово выручает.

Давайте рассмотрим в картинках, как это работает. Представим, что вы подписаны на получение уведомлений о новых комментариях в Telegram и коллега (Петр Василич Ларионов) что-то вам написал. Вы тут же получите уведомление об этом на своем смартфоне:

Новый комментарий из ПланФикса в push-уведомлении Telegram

здесь и далее картинки приведены для iPhone, но я думаю братья из королевства Android разберутся

Открыв сообщение, вы увидите не только его полный текст, но и дополнительную информацию о его источнике, вплоть до ссылки на это действие:

Полный текст уведомления из ПланФикса в Telegram

По ссылке, кстати, можно перейти – вы окажетесь в мобильной версии ПланФикса, которая позволяет достаточно комфортно работать в системе, в том числе отвечать на сообщения, менять статус задачи, подключать/отключать исполнителей и т.п. Но если вам нужно просто ответить на это сообщение, то можно сделать это и не выходя из Telegram – нажимаете на текст сообщения и выбираете Reply из появившегося меню:

Ответ на уведомление ПланФикса из Телеграма

Вводите текст ответа и жмете Send:

Ввод ответа из Telegram в ПланФикс

Коллега получает Ваш комментарий в ПланФиксе:

Ответ из Telegram в ПланФиксе

Как видите, все достаточно просто и удобно. Главное преимущество этого канала уведомлений по сравнению с уведомлениями в Skype заключается в том, что здесь вы можете отвечать не на последнее, а на любое полученное уведомление – те, кто активно работает в ПланФиксе с множеством задач и проектов это оценят.

Удачной вам работы, а мы пилим дальше

UPDATE: Мы не остановились на этом и сделали углубленную интеграцию ПланФикса и Telegram.

Дмитрий Гончаренко Команда ПланФикса

35 комментариев

Дмитрий, отличная новость! Спасибо! Но вот я кликнул на ссылку, а чего-то он меня не авторизует: http://prntscr.com/8tm3er Войдите, чтобы ответить

Дмитрий Гончаренко 21.10.2015 12:34

Посмотрели – там ошибка на нашей стороне при авторизации аккаунтов с дефисом в названии. Поправим, сообщу. Войдите, чтобы ответить

Спасибо, ждём всей командой:) Телеграм у нас корпоративный мессенджер, поэтому многим было бы убер-удобно. Войдите, чтобы ответить

Было бы хорошо, если бы имелась возможность создавать задачи. Войдите, чтобы ответить
Дмитрий Гончаренко 21.10.2015 13:52
А в каких ситуациях это было бы удобно? Войдите, чтобы ответить

Когда обсуждение ведется так же в телеграме, выделить основные положения, переадресовать боту и поставить задачу. Когда с мобильного, а обсуждение очень активное, это бы пригодилось. Войдите, чтобы ответить

Дмитрий Гончаренко 21.10.2015 19:54
А как быть с выбором проекта, исполнителя и т.п.? Войдите, чтобы ответить

Или выводить список проектов и выбор, а лучше создавать без проекта, задачу фиксируем, а дальше уже с полной версии изменить все можно. Войдите, чтобы ответить

Супер, спасибо! Да, тоже столкнулся с проблемой в авторизации. И да, в названии аккаунта тоже дефис Войдите, чтобы ответить

Дмитрий Гончаренко 21.10.2015 13:46

Давайте еще разок попробуем – вроде бы поправили этот момент, должно отработать как положено. Войдите, чтобы ответить

ПланФикс, [21.10.15 13:51]
Авторизация… ПланФикс, [21.10.15 13:51]
Вы успешно подписались на оповещения в PlanFix! Войдите, чтобы ответить

Дмитрий Гончаренко 21.10.2015 13:52
Отлично, я рад) Войдите, чтобы ответить

Дмитрий, моя команда очень рада новой возможности – у нас также Телеграмм является одним из основных каналов связи. Правда еще кое-кто сидит на email’ах, но ваш продукт победит Войдите, чтобы ответить

Еще по теме:  Как сделать 1000 7 в Телеграмме

Дмитрий Гончаренко 21.10.2015 14:13
Супер, спасибо) Войдите, чтобы ответить
Получилось, спасибо! Войдите, чтобы ответить

Единственный пока вопрос: если ответить из Телеграмма, кто получит этот ответ? – все аудитор, исполнители, все участники или только исполнители, или исполнители и автор комментария. Хотелось бы подробней, поскольку выбора адресатов как в ПФ, понятно, нет в Телеграмме. Войдите, чтобы ответить

Как и при ответе с почты – все кто были уведомлены в предыдущем комментарии. Войдите, чтобы ответить
Тогда шарман. Войдите, чтобы ответить

Проверьте еще раз этот момент, у меня почему-то всё равно уведомляет сотрудника, который стоит участником в этой задаче и его привязанный телеграмм-аккаунт находится в групповом чате (там где бот). Войдите, чтобы ответить

Возможно уведомление приходит автоматом через связку телеграм-планфикс? типа телеграмм увидел в общем чате новое сообщение, отправил его в планфикс, и планфикс уведомил пользователя. Я что хочу сделать, создать внутренний чат компании и привязать туда бота чтобы фиксировал ленту и мог на лету создавать задачи. Но все сообщения чата сыпятся сотруднику в ленту уведомлений. И почему-то автоматически сотрудник уведомляется о действии, хотя нигде не отмечено уведомлять его. Войдите, чтобы ответить

Дмитрий Гончаренко 25.01.2017 18:28

По текущей логике, в таком случае уведомляются все участники задачи. Может, в этой задаче не нужны участники? Если привязка нужна только для создания задач из чата. Войдите, чтобы ответить

Я просто не пойму логику уведомления сотрудника (которое приходит через интерфейс Планфикса). Если сотрудник стоит всего-лишь участником и ему иногда надо заглянуть в задачу, почитать историю чата (и в данный момент ему это удобнее сделать через планфикс), то ему валятся уведомления о всех действиях. Но если сотрудник не имеет аккаунта в телеграмме, тогда уведомления не сыпятся. Я уже даже решил выделить чат в отдельный проект с другим типом уведомлений, но тут понял, что они настраиваются со стороны пользователя. Войдите, чтобы ответить

Дмитрий Гончаренко 26.01.2017 11:16

Полная логика в данном случае состоит из двух частей:
1. Есть стандартная логика уведомлений по любым каналам: уведомление о новом поступившем в задачу действии будет отослано тем же, кто получал уведомление о предыдущем по этому каналу. 2. На нее накладывается дополнительная логика, специфичная для Телеграма:
– если сотрудник имеет привязку к Телеграму в профиле
– и если он присутствует в этом чате
– и если он так или иначе участвует в этой задаче
– то он получит уведомление о новом сообщении. Во второй части логики мы исходим из того, что человек, получивший уведомление в Телеграме, должен увидеть его же и в ПланФиксе. При этом, достаточно, чтобы хотя бы одно из перечисленных условий не выполнялось – и сотрудник уведомления в ПФ не получит. Войдите, чтобы ответить

Не все уведомления почему-то долетают. Еще понаблюдаю, если что — напишу в техподдержку. Войдите, чтобы ответить

Дмитрий Гончаренко 22.10.2015 14:53
Да, пишите обязательно если что. Войдите, чтобы ответить

Не получается подписаться: при нажатии на кнопку подписаться в настройках подписок сотрудника, открывается страница в браузере http://joxi.ru/krD8zQZs0gxDqr , но запустить Телеграм ей не удаеться.
Помогите. Войдите, чтобы ответить

Дмитрий Гончаренко 13.01.2016 19:13
А установлена декстопная версия Телеграма? Войдите, чтобы ответить

Да, установлена. Я даже бота в Телеграме нашел через поиск.
http://joxi.ru/p27OaYMu0nDyD2
Но уведомления в Планфикс у меня не активны.
Может проблема в том, что у меня Linux? И ссылки типа tg браузер не хочет обрабатывать, отправляя их в Телеграм? Войдите, чтобы ответить

Все! Получилось!
Скопировал ссылку в Телеграм и там её открыл. И заработало! Войдите, чтобы ответить

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

Дмитрий Гончаренко 07.04.2016 21:03
Да, мобильная не умеет этого. Войдите, чтобы ответить

А что случилось с ботом? он уже несколько месяцев как перестал работать:
1) По reply не отвечал в задаче
2) При попытке переподписаться в ПланФиксе, просто отказывается как-либо реагировать на /start Войдите, чтобы ответить

Дмитрий Гончаренко 02.08.2017 16:27

Пока жалоб на него мы не получали, хотя он активно используется. Поставьте, пожалуйста, задачу по этому поводу в Службу поддержки – возможно, есть какая-то частная проблема, постараемся разобраться. Войдите, чтобы ответить

А внешний контакты имеют возможности получать и отпровлять сообшение через Telegram в Планфикс ? Войдите, чтобы ответить

Дмитрий Гончаренко 15.08.2017 09:14

Да, контакты с доступом могут в своей карточке контакта на панели уведломлений подписаться на уведомления в Skype / Telegram и настроить какие уведомления по каким каналам они хотят получать из ПланФикса
Войдите, чтобы ответить

Как настроить push-уведомления в боте Telegram

Telegram — отличная платформа с множеством замечательных пользователей (я сам пользуюсь Telegram). И как лучше всего пользователям Telegram получать уведомления? Мы не можем знать наверняка. Может, им нравится электронная почта или что-то еще. Но можно догадаться, что отправлять уведомления в Telegram было бы довольно удобно.

Если вы хотите отправлять уведомления Telegram из своего приложения, вы попали в нужное место. Я добавил эту функцию в свое приложение, и она мне очень нравится.

Одно небольшое примечание. В этой статье я привожу примеры кода на Python. Но эти идеи не относятся к Python и могут быть без проблем переведены на другой язык.

Итак, без лишних слов, давайте рассмотрим, как это сделать.

Создайте бота Telegram

Прежде всего, вам необходимо создать бота Telegram. Для этого вам понадобится еще один Telegram-бот — BotFather. Просто поговорите с ним (нажмите старт).

Теперь вы видите, на что он способен. Но нас интересует создание нового бота, поэтому мы и выберем именно его ( /newbot ).

Вы быстро обнаружите, что имя бота должно оканчиваться на «бот». А поскольку вы похожи на меня и приходите в игру слишком поздно, большинство имен ботов уже заняты.

Но в конце концов вы найдете имя для своего бота и получите токен доступа, который нам понадобится.

Теперь, когда у вас есть бот, пользователи Telegram могут его найти и использовать. Но есть одна проблема — вы не можете связать пользователей, пришедших из Telegram, с пользователями в вашем приложении. Позвольте мне показать вам, почему.

Как только пользователь нажмет кнопку «Пуск» на вашем боте, вы получите «обновление». Вы можете проверить все обновления бота даже в браузере, посетив следующий URL https://api.telegram.org/bot/getUpdates (не забудьте использовать свой токен доступа в URL). Вот что у меня получилось:

Ничего не умеете читать? Не волнуйся. Вы можете исправить это, установив в браузере какое-нибудь расширение JSON prettifier. Я использую JSON Formatter для Chrome. Выглядит намного лучше.

Как видите, мы не получаем столько информации о человеке. Из этой информации мы можем получить их полное имя. Но было бы хорошо, если бы пользователь указал свое полное имя в вашем приложении и не гарантирует его уникальность. Поэтому мы не можем использовать это для поиска пользователя в ваших приложениях.

Еще одна информация, которую мы получаем, — это имя пользователя. Это более полезно, поскольку оно уникально для всех пользователей Telegram. Но, скорее всего, в ваших приложениях этого нет. Поэтому нам нужно попросить пользователя ввести свое имя пользователя где-нибудь в приложении. Это слишком много работы, и я не уверен, что кто-то ее сделает.

Другой вариант связать пользователя — попросить его предоставить боту адрес электронной почты, который они использовали в вашем приложении. Но в этом слишком много недостатков: пользователь может сделать опечатку при вводе электронной почты, пользователь может ввести адрес электронной почты другого пользователя и использовать систему. Это очень плохо.

Можем ли мы сделать лучше?

Связывание пользователя

Конечно можем. Чтобы связать пользователя, мы воспользуемся методом, который называется глубинная ссылка.

Во-первых, вам нужно создать случайный уникальный токен для каждого пользователя. Я использовал следующий код для создания токена с помощью Python:

from secrets import token_urlsafe token = token_urlsafe(8) token # => ‘uEDbtJFHxKc’

Затем вам нужно сохранить этот токен, чтобы впоследствии можно было найти пользователя с ним. Вы можете сохранить его в своей базе данных или использовать другое место, например, кеш. У меня Notification модель, поэтому я добавил поле в таблицу модели.

class Notification(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE) # . connect_token = models.CharField(max_length=64, null=True)

Итак, мы создали токен uEDbtJFHxKc и сохранили его. Теперь нам нужно использовать этот токен в URL-адресе бота Telegram, который пользователь должен щелкнуть, чтобы все заработало:

telegram_url = ‘https://www.telegram.me’ bot_name = ‘music_notification_bot’ token = ‘uEDbtJFHxKc’ url = f’/?start=’

Теперь, когда у нас есть URL-адрес ‘https://telegram.me/music_notification_bot?start=uEDbtJFHxKc’ , пора показать его пользователю. Просто отобразите его в любом месте вашего приложения и дождитесь, пока пользователь щелкнет по нему.

Как только пользователь поймает наживку и нажмет «Старт», вы должны получить еще одно обновление:

< «ok»: true, «result»: [ // . // previous updates // . < «update_id»: 599162365, «message»: < «message_id»: 174, «from»: < . >, «chat»: < . >, «date»: 1549788357, «text»: «/start uEDbtJFHxKc», «entities»: [ . ] > > ] >

Наконец-то мы можем идентифицировать нашего пользователя. Поле text теперь содержит наш токен пользователя. Давайте возьмем это из этого поля:

bot_token = ‘your_bot_token’ updates_url = f’https://api.telegram.org/bot/getUpdates’ import requests response = requests.get(updates_url).json() text = response[‘result’][0][‘message’][‘text’] text # => ‘/start uEDbtJFHxKc’ splitted_text = text.split(‘ ‘) # => [‘/start’, ‘uEDbtJFHxKc’] token = splitted_text[-1] # => ‘uEDbtJFHxKc’

Этот токен можно использовать для поиска пользователя. Ваша реализация зависит от того, как вы изначально сохранили токен. Но вот как я это делаю:

notification = Notification.objects.get(channel=’telegram’, connect_token=token) user = notification.user

Итак, пользователь нажал кнопку «Пуск». Но они видят, что ничего не произошло. Давай хотя бы поприветствуем их.

Чтобы поприветствовать пользователя, нам нужно обнаружить, что пользователь начал разговор с нашим ботом. Есть два варианта, как это сделать: опрос и веб-перехватчики.

Вы уже знаете, что такое опрос. Вы уже это сделали. Или, по крайней мере, видел, как я это делаю. Проверив https://api.telegram.org/bot/getUpdates страницу, мы провели один опрос. Опрос проверяет наличие обновлений постоянно, например, каждые 2 секунды. Таким образом, мы всегда можем узнать, когда кто-то взаимодействовал с ботом.

Веб-перехватчики идут немного в другом направлении. Вместо того, чтобы проверять обновления каждые 2 секунды, мы просто ждем обновления. И когда это произойдет, Telegram отправит запрос с данными обновления на указанный нами URL. Таким образом, мы можем дать немного отдохнуть как нашему серверу, так и серверу Telegram и просто дождаться обновления.

Опрос может быть лучше, если у вас большой трафик, но, к сожалению, это скорее исключение, поэтому я решил использовать веб-перехватчик.

Вебхуки

Установить веб-перехватчик в Telegram очень просто. Вам просто нужно отправить запрос на https://api.telegram.org/bot/setWebhook?url= . Открытие этой ссылки в вашем браузере тоже работает. your_server_url — это URL-адрес, на который Telegram будет отправлять обновления. Вот что вы должны получить в ответ:

Если вы не доверяете себе, посетите https://api.telegram.org/bot/getWebhookInfo , чтобы еще раз убедиться, что все в порядке. Вы должны увидеть что-то вроде этого:

Теперь. Если что-то не так (например, вы указали неправильный URL), вы всегда можете удалить веб-перехватчик, посетив https://api.telegram.org/bot/deleteWebhook , а затем снова настроив веб-перехватчик.

Местное развитие

Прежде чем продолжить, я хотел бы сказать несколько слов о местном развитии. Вебхуки для этого не очень подходят. Веб-перехватчики отправляются на URL-адрес, и, скорее всего, вы не знаете URL-адрес своего компьютера. Кроме того, веб-перехватчик Telegram требует, чтобы URL-адрес был безопасным (HTTPS).

Но есть решение этой проблемы: ngrok. ngrok — это инструмент, который открывает миру вашу локальную среду. Загрузите ngrok, установите его и запустите с того порта, на котором работает ваш сервер. Мой сервер работает на 8000 порту, поэтому мне нужно запустить консоль

/path/to/ngrok http 8000

Затем ngrok должен предоставить вам URL-адрес, который вы можете использовать для установки веб-перехватчика.

Приветствуя пользователя

Теперь, когда вы готовы к разработке, давайте поприветствуем наших пользователей — они этого ждут.

После того, как пользователь нажмет «Пуск», ваш Telegram отправит обновление на URL-адрес вашего сервера. Интересные части обновления должны выглядеть так:

< «message»: < «chat»: < «id»: 457 >, «text»: «/start uEDbtJFHxKc», > >

Это идеальное время, чтобы связать пользователя с помощью текста сообщения. Также есть интересная информация, идентификатор чата. Идентификатор чата — это то, что нам нужно, чтобы отправить сообщение этому пользователю. В Telegram есть конечная точка API для отправки сообщения следующего вида https://api.telegram.org/bot/sendMessage?chat_id=Welcome!» send_message_url = f’https://api.telegram.org/bot/sendMessage?chat_id=https://skine.ru/articles/373918/» target=»_blank»]skine.ru[/mask_link]

Рейтинг
( Пока оценок нет )
Загрузка ...