Подключение бота

Автоматическое подключение

1. Войдите на сайт через Телеграм и в разделе Мои боты добавьте Телеграм-токен (полученный от @BotFather) вашего бота. Вы попадете на страницу настроек бота.

2. Нажмите "ВКЛ" в разделе "автоматическое подключение":

Готово, ваш бот уже начал передавать статистику!

TGViz работает параллельно с вашим ботом и не вмешивается в его работу: не замедляет, не нарушает его стабильность, мы ни при каких обстоятельствах не отправляем никакие рассылки вашим пользователям (только ваши рассылки, которые вы сами настроете через наш сервис).

С автоматическим подключением будут логироваться все действия ваших пользователей. Вам в полном объеме будут доступны функции настройки рассылок, показов. Ограничение: для корректной работы "Обязательной подписки" автоматическое подключение не подходит - так как ваш бот должен не обрабатывать полученное событие в случае срабатывания механики. Это возможно только при подключении по API.

Подключение по API

Если ваш бот большой (от 100к MAU), если вам нужна бОльшая гибкость в том, какие данные вы хотите передавать, а также если вы хотите настроить "Обязательные подписки" - рекомендуем подключаться по API. Обратите внимание - нельзя одновременно передавать данные в автоматическом режиме и по API: API вернет 409 Conflict Error: необходимо сначала отключить автоматический режим.

API

API TGViz принимает объекты Update. Для получения полной картины в статистике, желательно передавать все Update-ы от Телеграм в момент их получения.

Для этого отправьте Post-запрос к https://api.tgviz.com/v1/post-update (Swagger UI -https://api.tgviz.com/docs)

curl  -X POST \
'https://api.tgviz.com/v1/post-update' \
    --header 'X-TGViz-Bot-Token: <TGVIZ-API-TOKEN>' \
    --header 'Content-Type: application/json' \
    --data-raw '{
        "update_id": 12345678,
        "message": {
          ... объект message
        },
    ... другие объекты входящие в Update
    }'

Где вместо TGVIZ-API-TOKEN подставьте токен, сгенерированный TGViz-ом для бота (можно найти вверху страницы настроек каждого бота). Токен уникален для каждого бота - так система сможет верно залогировать переданные вами данные именно для этого бота. В каждом боте используйте его персональный токен.

В payload передайте объект Update. Не вносите изменений в структуру Update, иначе данные не пройдут валидацию на нашей стороне (API ответит ошибкой 422)

Python

Используйте нашу библиотеку, осуществляющую процессинг передачи Update-ов:

pip install tgviz

В описании библиотеки на Github вы найдете примеры подключения, в том числе для библиотек aiogram и python-telegram-bot. Процессор удобнее всего использовать в middleware, передавая в него Update и handler: он сам залогирует данные, наш сервис сам отправит рекламный пост, если он настроен в системе, а процессор пропустит обработку в случае, если сработает механика "обязательной подписки".

Подключение бота на конструкторе

Во многих Low-code / No-code конструкторах есть возможность передачи сырых данных (Update от Телеграм). В таком случае вам необходимо передавать эти данные нам так же, как описано в разделе "Подключение по API".

Еще варианты

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