Пакет 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: selesnow@gmail.com
facebook: facebook.com/selesnow
blog: alexeyseleznev.wordpress.com