Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

Типология сетевых СМИ. Лабораторное занятие №3. Telegram-бот


Часть 1. RSS-сценарий


Для начала вам потребуется создать бота в Telegram. Для этого вам понадобится либо десктоп-версия мессенджера, либо приложение для смартфона. Обратите внимание, что в некоторых случаях функционал десктоп-версии меньше, чем приложения. Поэтому бота предпочтительнее создавать через смартфон.

Если у вас еще не установлен Telegram, то все версии доступны здесь: https://telegram.org/
Для создания бота вам нужно перейти в мессенджере к внутреннему боту сервиса  http://telegram.me/BotFather и задать команду  /newbot
После этого BotFather запросит у вас имя вашего бота – указываете его следующим сообщением (в моем случае - @Ktech_bot) и имя пользователя заканчивающееся на _bot (у меня - @Konoplevtech_bot).  После этого BotFather выдаст вам токен для доступа к API



Далее вам нужно добавить вашему боту аватар через опцию /setuserpic и прикрепить картинку профиля.  Чтобы активировать своего бота вам нужно перейти к нему и выполнить команду /start
Для настройки меню бота нужно перейти в среду разработки http://telegram.me/Manybot
Добавить бота можно через команду /addbot, после чего вам нужно отправить в сообщении токен, выданный BotFather.  После того как токен будет принят, вам необходимо настроить трансляцию RSS-фида в бот. Вы переходите к своему боту и даете команду /autoposting
В данном задании вам потребуется два RSS-потока, поэтому подумайте, какие вы возьмете. Я предлагаю подключить к боту RSS из вашего аккаунта blogger. В блоге есть несколько вариантов. Первый – общий фид, который у меня находится по адресу: http://konoplevtech.blogspot.ru/feeds/posts/default?alt=rss (адресация универсальная – просто замените название блога на свое) он же в формате Atom доступен здесь: https://konoplevtech.blogspot.com/feeds/posts/default



Однако логичнее сводить в бота RSS по ярлыкам (чтобы трансляции были разные). Для сообщений в blogger вы создаете ярлыки (первая пиктограмма в горизонтальном меню), которыми помечаете их в зависимости от тематики. На два разных ярлыка можно и создать два RSS-потока. Тогда ссылка на RSS будет выглядеть так:


Одну из этих ссылок (с адресацией на ярлык) вы и указываете в своем боте после того как он предложит вам указать RSS-ленту.  После подтверждения автопостинга вам также необходимо создать кнопки меню бота. Для данного задания достаточно четырех кнопок. Для этого выполняете опцию /commands, выбираете в нижней части экрана блок «пользовательские команды» - создать команду и задаете команды для кнопок (у меня: /arhive, /latest, /news, /contacts). Для каждой из команд бот запросит действие – и в ответ на команду вам нужно будет указать выводимый текст, после чего сохранить его. Когда все четыре команды готовы вы переходите к кнопке «Настроить гл.меню» и выбираете «Добавить пункт меню», где и привязываете команду к нужной кнопке и даете ей название. 




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











Часть 2. Сценарий внешнего парсинга


Есть вторая технология веб-интеграции потока в Telegram через создание канала. Для этого в мессенджере вам нужно создать публичный канал – открываете общее меню и выбираете «создать канал» (можно с тем же именем, что и бота). Когда канал создан, кликните на его название в хэдере профиля и затем перейдите в настойки (шестеренка вверху справа). Теперь добавьте вашего бота в администраторы канала.
Для настройки второго RSS-фида мы будем использовать внешнюю среду интеграции – IFTTT. Вы переходите в сервис : https://ifttt.com/join и открываете там аккаунт. Затем создаете телеграмм-апплет:

Нажимаете кнопку New Applet и затем кнопку +this. Теперь в окне Choose a service выбирате через поиск либо RSS и создаете триггер, либо Blogger (варианты равноценны). Если вы выбрали Blogger, то в зависимости от вашего RSS-потока берете либо вариант Any New Post, либо – New post labeled. После того как вы выбрали источник RSS, нажимаете на +that и добавляете action service – в нашем случае telegram и опция send message. Далее выбираете канал, куда будет вестись трансляция и варианты ее предпросмотра. Нажимаете create action.


Обратите внимание, что апплет потребует у вас авторизации в Telegram – нужно будет перейти по ссылке и разрешить IFTTT доступ к вашему каналу (после того как вы авторизуете бота IFTTT в его профиле в Telegram появится сообщение о получении доступа. Для запуска этого бота нужно нажать /start).

Для настройки трансляции добавьте бота IFTTT администратором вашего канала также как ранее добавляли своего бота в канал. Когда вы сохраните апплет в IFTTT, то его работоспособность можно будет увидеть во вкладке Activity в браузере на странице вашего профиля в IFTTT.




Теперь самое главное – проверка работоспособности. Вы делаете два поста (по одному для каждого RSS-канала) у себя в blogger. Через какое-то время они должны появиться в профиле бота и в вашем канале.  В комментарии оставляете ссылку на пост в блоге с двумя скриншотами: 1) профиль бота с сообщением трансляции и сделанным вами меню; 2) профиль канала с сообщением трансляции.

Ссылки на выполненное задание принимаются до 20:00 31 марта (лабораторная рассчитана на эту дату, но выполнять ее придется вместо занятия в формате домашнего задания). Следующее лекционное занятие - 7 апреля.

Комментарии

  1. https://michail997.blogspot.ru/2018/03/telegram-telegram-telegram.html
    Бычков Михаил, ФЖ-302

    ОтветитьУдалить
    Ответы
    1. Оба задания - оценка "отлично".
      Проблема с ярлыками скорее всего связана с их названием (у вас должно быть кириллическое написание было в ярлыках?).
      Задержка в трансляции нормальна - скрипт всегда собирает данные с RSS через определенные промежутки времени - бывает даже раз в 15-20 минут.

      Удалить
  2. Ксения Можаева, ФЖ-302
    https://strokach.blogspot.ru/2018/03/3-telegram.html

    ОтветитьУдалить
  3. Анна Сакович,ФЖ-302
    http://ychblogannasakovich.blogspot.ru/2018/03/blog-post_30.html

    ОтветитьУдалить
    Ответы
    1. Первая часть задания - оценка отлично. По второй - попробуйте другую среду в IFTTT - если подключали через blogger, то возьмите через RSS - или наоборот. Посмотрите вкладку activity в профиле IFTTT и станет ясно в чем проблема.

      Удалить
  4. http://babazoya.blogspot.ru/2018/03/blog-post_23.html
    Александра Кузовенкова, ФЖ-302

    ОтветитьУдалить
    Ответы
    1. Первая часть задания - "отлично".
      По второй не вижу в ссылке поста источника парсинга. Сделайте пожалуйста скриншот с раздела activity в IFTTT - там должно быть видно, что RSS ушло в Telegram.

      Удалить
  5. У меня не работает рассылка в бота с блоггера. Связался с Мишей, он сказал, кажется, всё верно. Проверили ссылку на его боте - не работает. Зато RSS c Twitter публикуется быстро. Проблем с публикацией от бота в канал нет. Могу я сделать это задание взяв за основу не блоггер, а Твитер?

    ОтветитьУдалить
    Ответы
    1. Да, хорошо, сделайте через twitter. Blogger кривая платформа - видимо где-то генерируется баг.

      Удалить
  6. https://verikar.blogspot.ru/2018/03/blog-post_87.html

    ОтветитьУдалить
    Ответы
    1. Первая часть задания - "отлично".
      По второй та же история, что и у Александры - я не вижу в ссылке вашего поста источника парсинга. У вас там просто текст. Мне нужно видеть, что в telegram этот пост пришел из RSS - это видно по обратной ссылке - если она есть в посте канала, просто сделайте скриншот так, чтобы это было видно. Либо сделайте скриншот с раздела activity в IFTTT - там фиксируется факт рассылки RSS в Telegram.

      Удалить
    2. Поменяла скрин второго задания.

      Удалить
    3. Теперь вижу. Вторая часть - оценка "отлично".

      Удалить
  7. Ответы
    1. Первая часть - оценка "отлично".
      По второй - попробуйте другое приложение в IFTTT - если подключали через blogger, то возьмите через RSS (найти в поиске IFTTT)- или наоборот. Также посмотрите вкладку activity в профиле IFTTT и станет ясно в чем проблема. Если сообщение не ушло там будет информация о сбое.

      Удалить
  8. http://vasilevjour.blogspot.ru/2018/04/blog-post.html
    Простите за задержку

    ОтветитьУдалить

Популярные сообщения