Блог

Безопасно ли давать токен бота рекламной сети

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

Обновлено:

Что такое токен бота

Токен — это строка, которую @BotFather выдаёт при создании бота. По сути это пароль от бота для программ: любой код, который предъявляет токен серверам Telegram, считается этим ботом. Ваш собственный код работает точно так же — отдельного «главного» токена у владельца нет.

Поэтому вопрос «можно ли давать токен бота» сводится к другому: готовы ли вы, чтобы ещё одна программа могла действовать от имени бота. Рекламной сети токен нужен, чтобы самой отправлять рекламу в чат и подтверждать, что сообщение действительно доставлено.

Токен бота и безопасность: что можно сделать с токеном

Осторожность владельцев понятна. Технически тот, у кого есть токен, может:

  • Отправлять сообщения от имени бота всем, кто его запускал и не заблокировал, — в том числе рассылку, которую вы не заказывали.
  • Получать входящие обновления — то, что люди пишут боту и какие кнопки нажимают.
  • Менять настройки бота: имя, описание, список команд, адрес вебхука. Если переназначить вебхук, ваш код перестанет получать сообщения.
  • Пользоваться правами бота в чатах, куда он добавлен: если бот — администратор группы или канала, эти права доступны и по токену.

А вот чего токен не даёт:

  • Доступа к вашему личному аккаунту Telegram — к перепискам, контактам, номеру телефона. Бот и аккаунт владельца — разные сущности.
  • Возможности писать тем, кто бота не запускал. Бот не может начать диалог первым.
  • Права удалить бота или передать его другому владельцу. Это делается только в @BotFather из аккаунта владельца.

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

Как снизить риск

Несколько правил, которые стоит соблюдать с любым сервисом, а не только с рекламной сетью:

  • Не публикуйте токен. Не отправляйте его в чаты и не оставляйте в открытом коде: в публичных репозиториях токены находят автоматически.
  • Вводите токен только на страницах с HTTPS и только на сайте самого сервиса, а не по ссылке из переписки.
  • Выбирайте сервисы, которые говорят, как хранят токен и для чего его используют. Если ответа на это нет, это повод не подключаться.
  • Отзывайте токен при любом сомнении и когда перестаёте пользоваться сервисом.

Как отозвать токен бота

Откройте @BotFather, выберите бота, затем API Token → Revoke current token. BotFather сразу выдаст новый токен, а старый перестанет работать — у всех, кто его знал. После этого вставьте новый токен в свой код и в те сервисы, которыми продолжаете пользоваться. Пользователи бота ничего не заметят: чаты и история остаются на месте.

Как HiViews обращается с токеном

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

  • Токен хранится в зашифрованном виде.
  • Используется только для двух вещей: отправить рекламный пост и проверить, что зритель — настоящий пользователь.
  • Отозвать можно в любой момент в @BotFather (Revoke current token) — согласовывать это ни с кем не нужно.

Взамен вы получаете оплату за каждый засчитанный показ: $4,80 за 1000 приветственных показов, $2,40 за 1000 обычных, а по рекламе с оплатой за клики — $0,04 за переход. Проверка зрителей нужна, чтобы реклама не уходила фейковым аккаунтам; о том, как сеть с этим борется, — в статье о накрутке в ботах. Пошаговое подключение описано в гайде для владельцев ботов.

Монетизация бота без токена

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

  1. Выберите режим «Без токена»

    В кабинете при добавлении бота выберите подключение без токена. Сеть выдаст короткий код.

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

    Вставьте код в описание бота: @BotFather → Edit Bot → Edit About. Изменить описание может только владелец, поэтому этого достаточно как доказательства.

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

    После проверки бот получает API-ключ. Это ключ к рекламной сети, а не к боту: управлять ботом с его помощью нельзя.

  4. Добавьте функцию в код

    Бот сам запрашивает готовый пост — POST https://hiviews.net/api/partner/ad — и сам отправляет его пользователю. Готовые функции для Python (aiogram), Node.js (Telegraf) и PHP есть в документации.

  5. Отправляйте пост как есть

    Не меняйте текст и ссылки и не отключайте предпросмотр ссылок — зачем это нужно, объясняем ниже.

Что бот делает сам: решает, в какой момент попросить рекламу (после /start или после выдачи результата), запрашивает пост и отправляет его обычным сообщением. Сеть в этом режиме ничего не отправляет от имени бота и не имеет к нему доступа.

Что оплачивается без токена

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

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

  • Показы — каждый показ, отправку которого подтвердил Telegram. Ставка за показ ниже, чем с токеном.
  • Реклама с оплатой за клики — $0,04 за оплаченный переход.
  • Внешняя реклама — тоже с оплатой за переход; цена сильно зависит от страны и аудитории, доход начисляется на следующий день.

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

В тексте поста есть скрытая ссылка. Когда бот отправляет сообщение, Telegram сам запрашивает её, чтобы построить предпросмотр, — так сеть узнаёт, что пост действительно ушёл. Неподтверждённый пост не оплачивается: ни показ, ни переходы по нему.

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

Из-за чего бот теряет оплачиваемые показы

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

Сравнение двух режимов

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

Ставки указаны в долларах США. Цена перехода во внешней рекламе не фиксирована.

Условный пример, а не прогноз. Допустим, за месяц в боте засчитано 10 000 приветственных показов. С токеном это 10 000 ÷ 1000 × $4,80 = $48. Без токена те же показы тоже оплачиваются, если отправку каждого подтвердил Telegram, но ставка за показ ниже, поэтому и сумма выйдет меньше. Переходы по рекламе с оплатой за клики в обоих режимах стоят одинаково: $0,04 за переход. Реальные цифры зависят от аудитории и от того, какая реклама доступна, — подробнее о расчётах в статье «Сколько зарабатывает Telegram-бот».

Что выбрать

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

Как перейти на полный режим

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

Реклама — не единственный способ зарабатывать на боте; другие варианты и их сочетания разобраны в статье «Как монетизировать Telegram-бота». О выводе заработанного — в гайде по финансам.

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

Можно ли давать токен бота сторонним сервисам?

Можно, если вы понимаете, что сервис сможет действовать от имени бота, и доверяете ему. Передавайте токен только по HTTPS и только тем, кто объясняет, как его хранит и для чего использует. Токен в любой момент можно отозвать в @BotFather.

Что можно сделать с токеном бота?

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

Как отозвать токен бота?

Откройте @BotFather, выберите бота, затем API Token → Revoke current token. Старый токен сразу перестаёт работать, а новый нужно вставить в код бота и в те сервисы, которыми вы продолжаете пользоваться.

Можно ли монетизировать бота без токена?

Да. В HiViews вы подтверждаете, что бот ваш, коротким кодом в его описании, получаете API-ключ, и бот сам запрашивает готовый рекламный пост и отправляет его. В этом режиме оплачиваются показы, отправку которых подтвердил Telegram, и переходы. Как подключить — в документации.

Сколько платят с токеном и без токена?

С токеном — $4,80 за 1000 приветственных показов, $2,40 за 1000 обычных и $0,04 за переход по рекламе с оплатой за клики. Без токена оплачиваются показы, отправку которых подтвердил Telegram, — по ставке ниже, чем с токеном, — и переходы: $0,04 по рекламе с оплатой за клики и доход от внешней рекламы, где цена перехода зависит от страны и аудитории.

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