Комментарии в блоге с использованием Telegram
Ленивый способ встроить комментарии в блог.
После создания блога я успокоился и начал потихоньку писать тексты. Всё работает: не надо разворачивать допиливать напильником, подключать базы, разбираться в шаблонах или даже учить Ruby. Единственнное что меня коробило это отсутствие встроенных комментариев и я потихонечку собирал информацию. Вариантов несколько и они делятся на три группы: использовать свой хостинг, использовать сам github, использовать сервис сторонний. Первый вариант отпадает из-за отсутствия хостинга и желания его содержать. Второй вариант требует разрешения на коммит в репозиторий, либо использование issues в git-репозитории. Третий вариант мне подходит, но платить за использование я не хочу и слишком сложная настройка меня отталкивает. Появилась идея использовать Telegram для хранения комментариев, а отображать через Telegram API.
Настраиваем бота.
- Добавляем бота Journalist.
- Создаем трансляцию у бота для нужного поста.
- Получаем код для вставки виджета трансляции на сайт:
<script id="journalist-broadcast-2075375252" async src="https://journali.st/broadcasts/2075375252-widget-4.js"></script>
widget-4.js - означает количество постов в виджете. - Заходим в настройки бота: включаем автоматическую публикацию и создаем ключ приглашения.
- Создаем группу в Telegram и добавляем в эту группу бота. Пишем сообщением в группе ключ приглашения формата
/join f184062899a8e6461bb6f9a19be8d8cf
. Бот ответит названием трансляции. Теперь все сообщения из группы будут пересылаться боту и будут видны по ссылкам трансляции. Важно написать/join
самому, а не копировать из чата с ботом. - Вставляем виджет трансляции в пост.
- Добавляем публичную ссылку на группу для возможности оставлять комментарии.
- Меняем 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;
}
Выводы
Преимущества
- Очень быстрое развертывание.
- Не требуется ресурсов на содержание. Авторизация и хранение осуществляется через Telegram.
- Каждая тема связана с отдельной группой и решается проблема с уведомлениями и управлением.
Недостатки
- Есть зависимость от Telegram и Journalist. Бот в бете и если он отвалится всё останется в группах. Надеюсь Роскомнадзор не победит.
- Нет возможности редактировать или удалять сообщения.
- Нельзя оставить сообщения с формы, приходится заходить в Telegram. Возможно подключу еще бота или напишу его сам.
- Нет автоматизации для интеграции. Нужно создавать группу, трансляцию, приглашать бота каждый пост.