iridiumtechru.github.io:$ cd ~

Комментарии в блоге с использованием Telegram

Ленивый способ встроить комментарии в блог.

После создания блога я успокоился и начал потихоньку писать тексты. Всё работает: не надо разворачивать допиливать напильником, подключать базы, разбираться в шаблонах или даже учить Ruby. Единственнное что меня коробило это отсутствие встроенных комментариев и я потихонечку собирал информацию. Вариантов несколько и они делятся на три группы: использовать свой хостинг, использовать сам github, использовать сервис сторонний. Первый вариант отпадает из-за отсутствия хостинга и желания его содержать. Второй вариант требует разрешения на коммит в репозиторий, либо использование issues в git-репозитории. Третий вариант мне подходит, но платить за использование я не хочу и слишком сложная настройка меня отталкивает. Появилась идея использовать Telegram для хранения комментариев, а отображать через Telegram API.

Настраиваем бота.

  1. Добавляем бота Journalist.
  2. Создаем трансляцию у бота для нужного поста. New
  3. Получаем код для вставки виджета трансляции на сайт: <script id="journalist-broadcast-2075375252" async src="https://journali.st/broadcasts/2075375252-widget-4.js"></script> widget-4.js - означает количество постов в виджете.
  4. Заходим в настройки бота: включаем автоматическую публикацию и создаем ключ приглашения. key
  5. Создаем группу в Telegram и добавляем в эту группу бота. Пишем сообщением в группе ключ приглашения формата /join f184062899a8e6461bb6f9a19be8d8cf. Бот ответит названием трансляции. Теперь все сообщения из группы будут пересылаться боту и будут видны по ссылкам трансляции. Важно написать /join самому, а не копировать из чата с ботом.
  6. Вставляем виджет трансляции в пост. key
  7. Добавляем публичную ссылку на группу для возможности оставлять комментарии.
  8. Меняем css для соответствия виджета общему стилю блога. Используем свойство !important.
.journalist-broadcast.journalist-broadcast-widget
{
  width: 100% !important;
  max-width: 100% !important;
  border: none !important;
}

.journalist-broadcast-header
{
  background-color: transparent !important;
}

.journalist-broadcast-post
{
  background-color: transparent !important;
}

.journalist-broadcast-post-info-author
{
  color: #895210 !important;
}

.journalist-broadcast-post-message-text
{
  color: #b5e853 !important;
}

Выводы

Преимущества

  1. Очень быстрое развертывание.
  2. Не требуется ресурсов на содержание. Авторизация и хранение осуществляется через Telegram.
  3. Каждая тема связана с отдельной группой и решается проблема с уведомлениями и управлением.

Недостатки

  1. Есть зависимость от Telegram и Journalist. Бот в бете и если он отвалится всё останется в группах. Надеюсь Роскомнадзор не победит.
  2. Нет возможности редактировать или удалять сообщения.
  3. Нельзя оставить сообщения с формы, приходится заходить в Telegram. Возможно подключу еще бота или напишу его сам.
  4. Нет автоматизации для интеграции. Нужно создавать группу, трансляцию, приглашать бота каждый пост.

Ссылки

  1. Вдохновивший меня пост на хабре
  2. journali.st


Оставить комментарий через Telegram