← Все статьи

Кейс. Бот для автопостинга в телеграм-канал. Запустил и забыл!

13
July
Кейс. Бот для автопостинга в телеграм-канал. Запустил и забыл!
Содержание

Возможности платформы BotHelp не ограничиваются сборкой простых линейных автоворонок. И этот кейс наглядный тому пример.

Техническое задание:

Идея была в том, чтобы завести канал в «Телеграме», так сказать, на будущее и при этом особо не утруждаться в его ведении и, когда дойдут руки, — начать его продвигать для монетизации. О чём писать, особо не имело значения. Задача стояла в ежедневном наполнении канала контентом без своего участия.

Какой путь был проделан:

Подключение к нейросетям для генерации контента и использование API помогало частично решить задачу, но это были дополнительные, неконтролируемые расходы и постоянный мониторинг баланса. 

Первый тестовый канал был запущен с использованием нейросети, которая генерировала рецепты. У подписчиков была возможность открыть чат-бота из закрепа в канале, попросить любой рецепт и при желании опубликовать в канале. Для этого была предусмотрена система баллов и поощрений:

Нейросеть отрабатывала задачу на отлично, красиво форматировала текст, расставляла смайлы, придумывала хештеги и давала оценку уникальности идеи. Но контент получался какой-то сухой, без фото и видео. А это важно, когда речь идёт о процессе приготовления еды:

В процессе поиска решения был найден бесплатный доступ по API к англоязычному сайту с огромной базой рецептов, фото и ссылок на видео в YouTube. Но перевод текста требовал продолжать работать с нейросетью. Ну что ж, было принято решение всё это протестировать:

Получился какой-то ужас. Нейросеть, которая до этого самостоятельно писала рецепты, не смогла справиться с грамотным переводом и форматированием текста. Весь текст она выдавала сплошняком, каждый пост нужно было форматировать вручную. 

Из-за того что описание к фото может содержать только 1024 символа, фото приходилось отправлять отдельным постом, так как было неизвестно, какое описание я получу при следующем запросе, — это выглядит ещё более ужасно и вызывает путаницу при листании канала. На фото выше — примеры самых коротких рецептов.

В общем, все эти тесты были переведены на постинг по кнопке и неконтролируемые расходы приостановлены с учётом того, что на тот момент уже было влито огромное количество средств на содержание нейросети.

Решение найдено!

Так как мне было неважно, какой тематики канал, поиски решений продолжились и навели на мысль о канале с анекдотами. На просторах интернета их огромное множество, они подходят почти под любую аудиторию и можно либо купить, либо скачать огромную базу этого добра. 

Зная возможности платформы BotHelp и интеграцию с Google-таблицами, Telegram API и, самое главное, возможность зацикливания сценария бота BotHelp и использования блока «Внешний запрос» после блока «Задержка», я принял решение собрать бота с использованием гугл-таблиц, BotHelp и Telegram API.

Была найдена база анекдотов, бесплатно скачана и скопирована в Google-таблицу:

Да, база получилась более чем на 162 000 строк. Вопрос с контентом решён навсегда!

На быструю руку был создан простейший бот, удачно протестирован, и процесс по работе в области автопостинга стал набирать обороты…

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

В процессе работы бота была замечена небольшая ошибка: в канал отправлялись пустые посты. Для исключения ошибки в бот были добавлены две небольшие схемы с блоками.

👉 Первая схема: отправляет в таблицу номер строки с опубликованным постом и номер публикации. Это нужно было для мониторинга качества контента.

👉 Вторая схема: после каждого цикла отправки поста в канал переменная с содержанием поста принудительно очищается. В начале следующего цикла, после запроса к гугл-таблице, добавлено условие, которое проверяет, содержит ли наша переменная какое-то значение. 

Если «Да», отправляем к блоку публикации, если «Нет», то присваиваем нашей пустой переменной значение «❌» и отправляем в таблицу для статистики (рисунок ниже), снова очищаем переменную и далее выводим на цикл с задержкой в 1 минуту, чтобы не было большого разрыва между публикациями. 

После этого всё заработало идеально. Пустые посты больше не публикуются, отчёты об ошибке, номера всех опубликованных постов и их количество отправляются в таблицу. 

Теперь в случае грубых орфографических ошибок можно отследить номер строки в таблице и исправить. А ошибки встречаются, и отредактировать все 162 000 строки в короткие сроки невозможно. Также можно отследить неопубликованный пост и посмотреть причину — возможно, слишком большой текст.

Как видно на скриншоте, на 5959 опубликованных постов количество ошибок незначительное. С учётом общего количества постов в базе к ним можно будет вернуться, когда встанет мир и нечего будет делать.

Читайте также статью «Как создать и монетизировать свой проект в Telegram за один вечер: от идеи и контента до автоворонки»: часть 1 и часть 2.

Наблюдать, как бот публикует однотипные посты, стало неинтересно, нужно было как-то разнообразить контент.

Всё работало идеально, и нужно было добавить несколько страниц в таблицу по темам и немного расширить бота. 

И в чём проблема?

Небольшое количество контента по определённым темам было скопировано напрямую с сайтов, некоторые анекдоты были перенесены на изображение, добавлены карикатуры, и дело осталось за малым — размножить блоки в боте, изменить в них необходимую страницу с контентом и установить минимум и максимум работы рандомайзера для каждой из них.

А также добавить блок «Случайный выбор», который сам решает, с какой страницы в этот раз он будет брать контент. Это и есть тот самый правый угол схемы на скриншоте ранее. Канал стал выглядеть интереснее.

Ура! Всё работает. Что дальше?

Я подумал, если всё так просто, почему бы не запустить ещё канал?

Следующий бот уже стал поинтереснее, как и канал. Для того чтобы каждые раз не заходить в конструктор ботов и не ковыряться в каждом блоке, в бот сразу была добавлена возможность устанавливать минимум и максимум строк в таблице. 

Очень удобно! Добавил контент и сразу выставил номер последней строки. Добавлена возможность публикации сразу с выбором поста, кнопка запуска постинга после ковыряния в настройках, напоминание, в какое время выйдет следующий пост, и отчёт в виде сообщения, что пост опубликован.

Но я не умею собирать простых ботов. Решил собрать что-то посерьёзнее с расширенными возможностями. Пара дней работы — и результат вы можете видеть на скриншотах ниже.

Теперь всё управление публикациями происходит через сам бот. Не нужно заходить в конструктор и ковыряться в его блоках.

● При добавлении нового контента в таблицу через бот можно установить первую и последнюю строки в таблице.

● Можно изменить расписание публикаций. В качестве напоминания оно отображается в самом низу главного меню.

● Добавлена возможность опубликовать пост сразу, указав номер его строки в таблице.

● Возможность выбрать режим постинга: цикл с рандомным выбором строки или по очереди.

● Возможность смены канала для публикаций (во всех каналах бот должен быть админом).

● Вся статистика теперь отображается в самом боте. Её можно обновить через настройки или через любое действие, вернувшись в главное меню.

Вывод

🗸 Возможности платформы BotHelp не ограничиваются сборкой простых линейных автоворонок. Тут можно собирать ботов, конкурирующих по функционалу с ботами, написанными программистами. Да, может, они выглядят не так красиво, зато недорого и сердито! А разница по оплате за работу программиста и конструктора ботов отличается в несколько раз.

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

🗸 Если для вашего канала требуется публикация поста с одной или несколькими кнопками, это тоже не проблема.

🗸 Таким ботом для постинга на платформе BotHelp может воспользоваться любой желающий. Даже тот, кто не имеет знаний в ботостроении.

🗸 Такого бота для ведения каналов можно использовать в любой нише. Например, для канала новостей, где важна возможность быстрой публикации свежих публикаций.

У меня уже готов следующий проект, и он предполагает дать возможность всем пользователям платформы воспользоваться всеми преимуществами Telegram Bot API.

Автор кейса: конструктор ботов на платформе BotHelp Денис Афонин.

← Все статьи

Регистрируйтесь в BotHelp и используйте все возможности сервиса 14 дней бесплатно

Попробовать
Поиск и фильтры