Пакет 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")
::install_github("selesnow/rtgstat") devtools
Для прохождения авторизации вам необходимо активировать в своём профиле TGStat один из доступных тарифов TGStat API.
Более подробно о токенах и работе с ними читай в официальной справке.
Пример запроса данных из TGStat API:
library(rtgstat)
tg_auth('Ваш токен')
# Замените на ID вашего канала
tg_set_channel_id('R4marketing')
# Статистика канала
<- tg_channel_stat()
stat <- tg_channel_subscribers()
subscribers <- tg_channel_views()
views
# Статистика публикации
<- tg_channel_posts()
posts <- tg_post_stat(post_id = posts$link[1])
post_stat <- post_stat$views
post_views <- post_stat$forwards
post_forwards <- post_stat$mentions
post_mentions
# Упоминания
<- tg_mentions_by_period(query = 'Алексей Селезнёв')
mentions_dinamics <- tg_mentions_by_channels(query = 'Алексей Селезнёв')
mentions_channels <- mentions_channels$items
mentions <- mentions_channels$channels m_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: <hidden>
tg.api_token: https://api.tgstat.ru/
tg.base_url: 1
tg.max_tries: TRUE
tg.check_api_quote: 0.9 tg.api_quote_alert_rate
Для удобства работы вы можете использовать переменные среды для установки значений по умолчанию:
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