Предисловие
Бот предназначен для авторов Boosty, которые заинтересованы в автоматическом репосте новых публикаций на Boosty в свой Telegram-канал/чат. Под репостом подразумевается шаблон из заголовка поста, ссылки на него, превью и, по желанию, добавочный текст от себя. Также предусмотрен механизм игнорирования постов с определенным содержимым в заголовке, которое определяет сам пользователь. Это может быть полезно, например, в тех случаях, когда нужно избежать ненужного срабатывания бота без отключения репостинга в его настройках.
Также стоит отметить, что я не являюсь профессиональным разработчиком и этот проект был создан любителем в образовательно-экспериментальных целях — не судите строго 😉
В целом, бот во многом схож с другим ботом из-под моих рук: VKPlayLive_Telegram_Alert_Bot — который публикует оповещения в Telegram о начале стрима на VK Видео Live.
Boosty_Telegram_Repost_Bot
После активации и настройки, бот начинает отслеживать последний опубликованный пост в обозначенном блоге Boosty. Когда бот видит, что последний пост изменил свои ID и дату публикации, то понимает что, это новый пост и отправляет сообщение с содержимым из шаблона в указанный Telegram-канал/чат.
Особенности и Ограничения
- Боту не требуется ваша авторизация на Boosty, т.к. все нужные данные доступны публично;
- Погрешность срабатывания, т.е. репоста, находится в диапазоне 5-10 минут;
- Указать можно только один блог Boosty и один канал/чат для Telegram.
Для Telegram-чатов с разделением на темы (трэды/ветки/топики) можно указать нужную «ветку» для репостов; - Премиум-эмодзи Telegram не поддерживаются;
- Для оформления репостов доступны HTML-разметка, «подтягивание» изображения из поста в качестве превью, ряд текстовых переменных и возможность менять текст URL-кнопки ведущей на пост Boosty;
- Бот игнорирует посты старше 2 часов: это во многом нужно для того, чтобы исключить холостое срабатывание при первом запуске;
- Для удобства, практически полностью продублирован функционал Boosty_Currency_Info_Bot — показ курса валют на Boosty, Hipolink и lavatop;
- К сожалению, для Boosty все еще нет официального API, поэтому есть доля вероятности, что в какой-то момент бот не сможет осуществлять свои функции;
- Бот бесплатный и не имеет никаких дополнительных функций «за деньги».
Однако, посильная донатная поддержка категорически приветствуется и расходуется на оплату сервера, где размещен бот.
Настройка
В целом, настройка проста и интуитивна понятна.
Нужно ввести адрес Boosty, включить Репост, отредактировать шаблон сообщения (по умолчанию, там прописаны ${title} ${link} — заголовок поста и ссылка на него), при необходимости добавить Стоп-фразу (чтобы игнорировать посты с определенным содержимым в заголовке) и обязательно назначить бота админом в Telegram-канале/чате с правом публиковать сообщения.
Для наглядности пройдемся по всем шагам:
Для начала нужно открыть бота по ссылке:
https://t.me/Boosty_Telegram_Repost_Bot
и запустить его.
Первым сообщением он выдаст приветственное сообщение, а также отобразится меню с кнопками через которое и будут происходить все манипуляции с ботом.

Добавление бота в ▶️Telegram-канал
Чтобы бот мог публиковать оповещения в заданном Telegram-канале/чате, нужно его туда добавить в качестве администратора и разрешить постить сообщения. Все остальные разрешения можно смело убрать (для чатов — вообще все).
Исключение функция Авто-закрепа. Для ее корректной работы нужны дополнительные флаги:
Для чатов — «Закрепление сообщений» и «Удаление сообщений»
Для каналов — «Редактирование чужих публикаций»
После того, как вы это сделаете, то Id-канала/чата автоматически привяжется к боту и отобразится в строке «Telegram канал» (кнопка «Проверить настройки»).
Имейте в виду, что бот привязывается к Id последнего канала/чата, куда вы его назначили администратором, и обнуляет Id, когда его удаляют или снимают с должности админа.
Для чатов с разделением на темы нужно дополнительно обозначить номер желаемой ветки с помощью кнопки
"Указать ID-топика для тематических чатов» (находится в меню ⚠️ВКЛ-ВЫКЛ).
Этот номер можно найти в ссылке на тему чата (например, в t.me/mikulski_rocks/5 — идентификатор темы это 5).
По умолчанию, значение равно 0, что является корректным для обычных каналов и чатов, — а для чатов с разделением на темы оповещения в этом случае будут публиковаться в первом созданном топике.
В любой момент вы можете исключить бота из канала/чата или забрать разрешение на публикацию.
Единственное, что тут важно добавить именно этого бота, если вдруг появятся притворяющиеся им другие боты злоумышленников. Поэтому рекомендую в поисковой запрос вбивать полную ссылку и убедиться, что в результате поиска у бота адрес совпадает c @Boosty_Telegram_Repost_Bot
Добавить бота можно на любом этапе настройки, после его запуска. Главное, не забыть это сделать.
Для каналов это делается следующим образом:Управление каналом -> Администраторы -> Добавить администратора -> Вставить ссылку на этого бота -> OK -> Отключить все тумблеры, кроме Управление сообщений -> Публикация сообщений (+ «Редактирование чужих публикаций«, если планируете использовать авто-закреп)
*Для чатов можно убрать все разрешения (кроме «Закрепление сообщений», если планируете использовать авто-закреп).




Теперь нужно пройтись по всем кнопкам и прописать необходимые данные:
⚡Boosty

Нажав на эту кнопку, бот попросит вас отправить ему сообщение с адресом вашего Boosty-блога.
Можно отправить ссылку целиком, например:
https://boosty.to/mikulski
Или только ее часть с идентификатором блога:mikulski
Соответственно, всегда можно сюда вернуться и ввести идентификатор заново, если вы допустили ошибку или нужно поменять адрес отслеживаемого блога.
📝Пост

Здесь можно поменять шаблон сообщения, которое будет публиковаться в Telegram-канале/чате.
Учтите, что поле нельзя оставлять пустым – иначе бот ничего не отправит!
По умолчанию, в шаблоне прописаны подставляемые значения, которые подтянутся из поста Boosty:
${title} – заголовок поста;
${link} – ссылка на пост.
Дополнительные переменные для более замороченных целей:
${teaser} — первый текстовый блок поста или тизера. Если текстового блока нет, то возращается пустая строка;
${postPriceRUB} — стоимость разовой оплаты в RUB,
${postPriceUSD} — стоимость разовой оплаты в USD
возвращают только числовое значение без тикера валют!;
${subLevelName} — название мин.уровня для доступа к посту
если пост в открытом доступе, то возвращает прочерк «—»,
${subLevelPriceRUB} — стоимость мин.уровня в RUB,
${subLevelPriceUSD} — стоимость мин.уровня в USD
возвращают только числовое значение без тикера валют!
Если пост в открытом доступе, то 0;.
Вы можете также добавить что-нибудь от себя, например:
Я опубликовал новый пост на Boosty:
${title}
Переходи по ссылке:
${link}
Поддерживается HTML-разметка, но будьте очень внимательны с синтаксисом!
⚠️ВКЛ-ВЫКЛ
Эта кнопка вызывает подменю, в котором можно включить/выключить репост, превью, авто-закреп и указать ветку/топик для чатов с разделением на темы.
Под «Превью» подразумевается сообщение формата «Картинка + текст»: бот подтянет первое попавшееся изображение (картинка из «тизера» > превью видео > блок с изображением > аватар).
Это, в целом, похоже на то, как Telegram подтягивает превью из ссылки.
С включенным авто-закрепом репост будет автоматически закрепляться в канале/чате, при этом бот сразу удалит системное сообщение («..закрепил(а) публикацию..»).
По умолчанию, все отключено, а ветка/топик = 0 (это корректное значение для каналов/обычных чатов).
Желательно отключать репост, если вы планируете длительный перерыв в публикациях.

↗️URL-кнопка
Под каждым репостом будет прикреплена Url-кнопка со ссылкой на Boosty-пост.
В этом меню можно изменить отображаемый текст на ней.
По умолчанию: «Перейти к посту☑️»

⛔Стоп-фраза

В случае, если вы не хотите репостить все публикации подряд, то можно придумать комбинацию символов или смайлик для заголовка, которые дадут боту знать, что этот пост следует проигнорировать.
По умолчанию, функция отключена.
Если вы меняли Стоп-фразу, то в дальнейшем для корректного отключения функции, следует нажать в этом меню кнопку «Сброс".
⚙️Проверить-настройки
Кнопка, которая позволяет посмотреть текущие настройки и убедиться,что все настроено верно.
Можно отправить тестовое сообщение — бот подтянет последний опубликованный пост и отправит по адресату, либо укажет на ошибки настроек, если таковые будут.
Также здесь можно проверить получившееся оформление поста прямо в диалоге с ботом без отправки в канал/чат (при этом данные берутся из памяти для ускорения этого процесса).

❓️Помощь/Справка

Кнопка вызывает подменю, в котором можно ознакомиться с инструкцией, найти способы связаться со мной и посмотреть список действующих пользователей.
📈Курсы валют
Можно ознакомиться с примерными внутренними курсами валют на ⚡️Boosty, 🔗Hipolink и 🌋lavatop
А также посмотреть уровни своего блога с ценами в USD.
По сути, дубликат функционала Boosty_Currency_Info_Bot.

❌Удаление учетных данных
Бот хранит только ваши Telegram-id и id-канала/чата для идентификации нужного профиля при отправке репоста и те, которые вы вводите сами в настройках.
Чтобы удалить все хранимые данные и прекратить использование бота, то достаточно в диалоге с ботом нажать на верхнюю панель с его названием, чтобы вызвать меню «Информация о боте» и в самом низу нажать «Остановить и блокировать«.
Чтобы снова его активировать и начать все с нуля, нажмите «Перезапустить«.

Результат
После того как все настройки совершены и вы опубликуете пост на Boosty, то с погрешностью в 5-10 минут, бот отправит в ваш Telegram канал/чат сообщение.
В примере на скриншоте текст поста указан так:
${title}
${teaser}
Требуемый уровень для доступа: ${subLevelName}
(${subLevelPriceRUB} RUB | ${subLevelPriceUSD} USD)

