Блог

Монетизация телеграм-бота без токена: как подключить рекламу и получать оплату

Монетизация телеграм-бота без токена в HiViews устроена так: вы подтверждаете, что бот ваш, коротким кодом в его описании, получаете API-ключ, а бот сам запрашивает готовый рекламный пост и сам отправляет его пользователю. Токен из @BotFather никому передавать не нужно. С первого дня оплачиваются показы, отправку которых подтвердил Telegram, и переходы по рекламе.

Обновлено:

Как работает монетизация телеграм-бота без токена

У HiViews два режима подключения. С токеном сеть сама отправляет рекламу от имени бота: с вашей стороны один вызов API. Без токена отправкой занимается ваш код: бот спрашивает у сети, есть ли реклама для этого человека, получает готовый пост и отправляет его сам.

Стоит ли опасаться передачи токена и что с ним может сделать рекламная сеть — отдельная тема, она разобрана в статье «Безопасно ли давать токен бота рекламной сети». Здесь только практика: как подключить бота, что проверить в коде и за что вы получаете оплату.

Что понадобится:

  • бот, которым пользуются живые люди;
  • доступ к этому боту в @BotFather, чтобы изменить его описание;
  • возможность добавить в код бота одну функцию и два её вызова.

Как подключить рекламу в бота без токена: пять шагов

  1. Добавьте бота в кабинете

    В веб-кабинете откройте подключение бота и выберите способ «Без токена».

  2. Подтвердите, что бот ваш

    Кабинет покажет короткий код. Вставьте его в описание бота: @BotFather → Edit Bot → Edit About. По этому коду HiViews убеждается, что ботом управляете вы.

  3. Получите API-ключ

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

  4. Вставьте готовую функцию

    В документации есть готовый код для Python (aiogram), Node.js (Telegraf) и PHP. Функция запрашивает пост и отправляет его нужным методом — с фото, видео, GIF или просто текстом. Остаётся подставить ключ.

  5. Вызовите её в двух местах

    В обработчике /start — с StartPlace: true, до собственного приветствия бота. И после того, как бот выдал человеку результат, — с StartPlace: false.

Общие правила для владельцев ботов — в гайде для владельцев.

Запрос рекламы: что бот отправляет и что получает

Запрос один: POST https://hiviews.net/api/partner/ad с заголовком Authorization, в котором передаётся API-ключ.

ПолеЧто передавать
UserIdID пользователя в Telegram. Обязательное поле
UserFirstNameИмя пользователя — оно подставляется в посты с обращением по имени
Username@username пользователя, если есть
LanguageЯзык интерфейса Telegram у пользователя
StartPlacetrue на /start, false после выдачи результата

Ответ — всегда JSON. Если реклама есть, приходит "ok": true и объект ad: текст, кнопки и, если они есть, фото, видео или GIF. Его нужно отправить пользователю как есть. Если подходящей рекламы нет — "ok": false, и бот просто продолжает работу. Поле delete_after, если оно пришло, означает, что пост нужно удалить через указанное число секунд.

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

Как Telegram подтверждает отправку поста

Без токена сеть не видит, отправил ли бот пост на самом деле. Поэтому отправку подтверждает сам Telegram: текст поста начинается с невидимой ссылки, и когда бот действительно отправляет сообщение, Telegram запрашивает её. Так HiViews узнаёт, что пост ушёл пользователю.

Отсюда три правила, без которых оплата не работает:

  • Не отключайте предпросмотр ссылок. Параметр disable_web_page_preview должен оставаться выключенным: без предпросмотра Telegram не обратится к ссылке, и отправка останется неподтверждённой.
  • Не меняйте текст. Не убирайте ссылки, не переписывайте пост и не добавляйте к нему своё.
  • Не трогайте кнопки. Ссылки в кнопках идут через hiviews.net — так считаются переходы. Переход по изменённой ссылке не оплачивается.

Главное правило режима без токена: отправляйте пост ровно в том виде, в каком получили. Пост, отправку которого Telegram не подтвердил, не оплачивается: ни показ, ни переходы по нему.

Реклама в боте без передачи токена и с токеном: в чём разница

ПараметрБез токенаС токеном
Кто отправляет рекламуВаш ботHiViews
Как подтверждается владениеКод в описании бота (About)Токен из @BotFather
ИнтеграцияГотовая функция: запрос поста и отправкаОдин вызов API
Что оплачивается с первого дняКаждый подтверждённый показ и переходыКаждый показ и переходы
Оплата за показыСразу, за подтверждённые показы; ставка нижеСразу: $4,80 за 1000 приветственных и $2,40 за 1000 обычных показов
Какие кампании получает ботВсе, с первого дняВсе
Чем подтверждается показTelegram запрашивает скрытую ссылку из текстаСеть отправляет пост сама

Режим можно сменить в любой момент: вставьте токен на странице бота в кабинете. Новая модерация не нужна, API-ключ остаётся прежним, код менять не придётся — тот же запрос продолжит работать, а показы начнут оплачиваться по полной ставке. О других способах заработка на боте — в статье «Как монетизировать Telegram-бота».

Частые ошибки при интеграции

  • Обычная реклама запрашивается до результата. Сначала отдайте человеку то, за чем он пришёл, — файл, ответ, видео — и только потом запрашивайте рекламу. Тогда пост остаётся последним сообщением в чате; иначе результат сразу вытеснит его из поля зрения.
  • Пост изменён. Свой текст в начале, обрезанные строки, заменённые кнопки или ссылки — и отправка не подтверждается, а пост не оплачивается.
  • Отключён предпросмотр ссылок. Часто он выключен глобально в настройках бота или библиотеки. Для рекламного сообщения предпросмотр должен быть включён.
  • Неверный StartPlace. true — только в обработчике /start. false — после того, как бот выдал результат. Одно и то же значение во всех вызовах — ошибка.
  • Запросы без действия пользователя. Рекламу запрашивают в ответ на реальное действие человека, а не по таймеру и не рассылкой. Подделка параметров запрещена правилами.
  • Реклама ломает бота. Ставьте таймаут на запрос и ловите ошибки, как в готовом коде: если сеть не ответила, бот должен работать дальше.

Частые вопросы

Можно ли зарабатывать на боте, не передавая токен?

Да. Вы подтверждаете владение ботом кодом в его описании, получаете API-ключ, и бот сам запрашивает и отправляет рекламу. Токен из @BotFather при этом не нужен.

За что платят в режиме без токена?

За каждый показ, отправку которого подтвердил Telegram, и за переходы: по кампаниям с фиксированной ценой клика и по внешней рекламе. Бот сразу получает все кампании сети. Ставка за показ ниже, чем с токеном.

Почему нельзя отключать предпросмотр ссылок?

Текст поста начинается с невидимой ссылки, и Telegram запрашивает её в момент отправки сообщения. Так подтверждается, что пост действительно ушёл пользователю. Без предпросмотра подтверждения нет, и такой пост не оплачивается.

Что будет, если позже добавить токен?

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

Для каких языков есть готовый код?

Для Python (aiogram), Node.js (Telegraf) и PHP — в разделе документации о подключении без токена.

или в Telegram-боте @HiViewsBot