Пакет 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
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.