Функции пакета
Пакет 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.

Токен доступа к 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: selesnow@gmail.com
facebook: facebook.com/selesnow
blog: alexeyseleznev.wordpress.com
