Client for 'TGStat API'.
rtgstat - R пакет для работы с TGStat API
Содержание
Функции пакета
Пакет rtgstat включает в себя функции для работы со всеми методами TGStat Search API и TGStat Stat API.
На данный момент в rtgstat доступны следующие функции, и соответствующие им методы API:
tg_auth()- Авторизацияtg_channel()- Получение информации о каналеtg_channels_search()- Поиск каналов *tg_channel_stat()- Получение статистики каналаtg_channel_posts()- Получение списка публикаций каналаtg_channel_mentions()- Получение списка упоминанийtg_channel_forwards()- Получение списка репостов из каналаtg_channel_subscribers()- Получение кол-ва подписчиков в динамике *tg_channel_views()- Получение кол-ва просмотров в динамике *tg_channel_avg_posts_reach()- Получение среднего охвата публикаций канала в динамике *tg_channel_err()- Получение показателя ERR для канала в динамике *tg_post()- Получение данных о публикацииtg_post_stat()- Получение статистики публикацииtg_posts_search()- Поиск публикаций *tg_mentions_by_period()- Динамика упоминания ключевого слова по периодам *tg_mentions_by_channels()- Упоминания ключевого слова в разрезе каналов *tg_categories()- Список категорий **tg_languages()- Список языков **tg_countries()- Список стран **tg_api_usage()- Статистика запросов к API **
Звёздочкой * отмечены методы, доступные только на платных тарифах API.
Двумя звёздами ** отмечаны методы, доступные на всех тарифах и не участвующие в тарификации.
Установка
На данный момент пакет rtgstat можно устновить из CRAN:
install.packages("rtgstat")
Или GitHub:
# install.packages("devtools")
devtools::install_github("selesnow/rtgstat")
Авторизация
Для прохождения авторизации вам необходимо активировать в своём профиле TGStat один из доступных тарифов TGStat API.

Более подробно о токенах и работе с ними читай в официальной справке.
Пример использования
Пример запроса данных из TGStat API:
library(rtgstat)
tg_auth('Ваш токен')
# Замените на ID вашего канала
tg_set_channel_id('R4marketing')
# Статистика канала
stat <- tg_channel_stat()
subscribers <- tg_channel_subscribers()
views <- tg_channel_views()
# Статистика публикации
posts <- tg_channel_posts()
post_stat <- tg_post_stat(post_id = posts$link[1])
post_views <- post_stat$views
post_forwards <- post_stat$forwards
post_mentions <- post_stat$mentions
# Упоминания
mentions_dinamics <- tg_mentions_by_period(query = 'Алексей Селезнёв')
mentions_channels <- tg_mentions_by_channels(query = 'Алексей Селезнёв')
mentions <- mentions_channels$items
m_channels <- mentions_channels$channels
Опции пакета
В пакете доступны следующие опции:
tg.api_token- Позволяет задать API токен в рамках текущей сессии;tg.channel_id- Идентификатор канала в рамках сессии;tg.check_api_quote- Позволяет отключать проверку квоты API, по умолчаниюTRUE, для отключения устновитеFALSE;tg.api_quote_alert_rate- Задаёт порог предупреждений об израсходованной квоте API, по умолчанию значение 0.9, т.е. предупреждение будет отображаться если вы израсходовали какую то квоту API более чем на 90%;tg.max_tries- Позволяет задать количество повторных отправок запроса, в случае сбоя API;tg.interval- Позволяет задать паузу между повторными отправками запросов, по умолчанию пакет сам управляет паузами;tg.base_url- Базовый URL обращения к API, крайне не рекомендуется изменять данную опцию.
Для установки каждой опции в rtgstat есть вспомогательная функция с именем заданным следующим щаблоном tg_set_имя_опции(значение_опции). Т.е. установить любую опцию можно двумя способами:
tg_set_check_api_quote(FALSE)
# тоже самое что и
options(tg.check_api_quote = FALSE)
Посмотреть текущие значения опций rtgstat можно с помощью функции tg_options():
tg_options()
rtgstat options:
tg.api_token: <hidden>
tg.base_url: https://api.tgstat.ru/
tg.max_tries: 1
tg.check_api_quote: TRUE
tg.api_quote_alert_rate: 0.9
Переменные среды
Для удобства работы вы можете использовать переменные среды для установки значений по умолчанию:
TG_API_TOKEN- Ваш токен доступа к TGStat API;TG_CHANNEL_ID- Идентификатор основного канала для работы с TGStat API.
Прописать переменные среды можно в файле .Renviron, или использовать интерйес операционной системы.
Автор
Alexey Seleznev, Head of analytics dept. at Netpeak
Telegram Channel: R4marketing
YouTube Channel: R4marketing
email: [email protected]
facebook: facebook.com/selesnow
blog: alexeyseleznev.wordpress.com.