Лайкботы для телеги — пичаль-бяда
06.06.2020Одна из необходимых вещей для любого паблика — фидбек от юзеров. Основные способы получения это камменты и лайки. По части камментов в телеге можно или подцепить к каждому посту через comments.app (штука хорошая, жаль забанена роскомнадзором) или прицепить чатик к каналу, что, пусть и не идеально, но закрывает потребности и делается в два клика. Лайки в телеграме как бы есть, но… не всё так как хочется! Ситуация чем-то напомнила мне загадывание желания джину — всегда что-то не так.
Диспозиция
Имеется блог, с которого при помощи готового плагина идёт постинг в канал. Кроме того, в канал попадают какие-то «вести с полей» через обычное приложение на мобиле. Третья часть контента — более осмысленные посты с текстом, для которых блог переобозванный журналом слишком крут — это уже с компа.
В первом случае в сообщении имеется текст, иллюстрация, хештеги и
ссылка, в остальных двух как правило НЕСКОЛЬКО иллюстраций плюс короткий или длинный текст. Почему это важно станет ясно дальше.
@ControllerBot????????????????????
Умеет добавлять произвольные лайки, всё хорошо, но есть маленькая проблемка — отправлять сообщение нужно через бота, нажимая на кнопочки. В случае постинга с сайта это становится проблемой, в случае постинга откуда-нибудь из леса банально неудобно, плюс ограничение в одну картинку.
@like❤️????♀️????♂️????
Менее кучеряво, но по лайкам аналогично с предыдущим.
@channel_likebot????????
Просто прикрепляет к сообщениям лайк/дизлайк, казалось бы — вот оно счастье! Нет, проблем две: во-первых иконки не кастомизируются, во-вторых (и в главных) добавление идёт не ко всем постам!
Если это текст или текст с фото, то всё хорошо. Но если картинок больше одной, то сообщение игнорируется.
@ChannelLikeBot ????????????????????????
Дофига оригинальности в названиях канеш) Прикрепляет голосувалку к ЛЮБОМУ посту, НО оно идёт как отдельное сообщение, которое не может быть пустым и содержит или текст или имя бота. Например, можно написать «Ваше мнение очень важно!». Иконки кастомизируются, однако количество ограничено тремя.
При таком решении в списке каналов отображается не начало поста, а текст сообщения о голосовании, что радикально снижает желание открывать и читать — пропадает вся прелесть жёлтых заголовков!:)
Вторая проблема — поскольку голосование это отдельное сообщение, то при пересылке поста оно остаётся в канале.
Где зарыта собака
Как вы поняли проблема в количестве картинок прекрепленных к посту. Когда их несколько сообщение имеет тип sendMediaGroup, к которому нельзя прикрепить callback-кнопки, через которые собственно и реализуются лайки.
Решение?
На данный момент я остановился на третьем боте, который просто добавляет голосувалку, забив на то что добавляется не всегда.
Как вариант я рассматриваю написание своего бота, который бы работал по более сложному алгоритму: если прикрепить кнопки можно, то прикреплял бы, если нельзя, то создавал бы сообщение по шаблону типа «оцените статью %первая строка поста%» и прикреплял кнопки к нему. Возможно, стоило бы добавить управление лайками в пост — бот считывает последнюю строку, если она состоит из, к примеру, ???????????????? — то эмодзи удаляются и вставляются кнопки для голосувания с ними.
Более другой вариант: ЖДАТЬ! Дело в том что возможность нативно ставить лайки уже анонсирована https://core.telegram.org/methods#working-with-message-reactions, называться это будет «реакции» и появится в layer 117… сейчас 113 https://core.telegram.org/api/layers… что значат эти слои я не знаю, но видимо ждать не сильно долго.
P.S. Историческое
На иллюстрации кроп картины конца 18-го(sic!) века Pollice verso, на которой зрители массово дизлайкают.
Строго говоря, точная форма лайков и дизлайков в Pax Romana нам неизвестна, возможно было наоборот, либо вообще вбок, либо большой палец прятали в кулак, либо фиг знает как, потому что переводится оно как «поворотом большого пальца», а куда его крутили не конкретизируется. Существующая версия была популяризирована Голливудом, на основе вот этой самой картины.
UPD: @channel_likebot чота заглючил, сменил на @ReactBot — работает шустрее, умеет произвольные лайки в количестве трёх штук, а также камменты, которые я врубил на канале Грушинского — будем есть поржать:)