Learn R Programming

rtgstat - R пакет для работы с TGStat API

Содержание

Функции пакета

Пакет rtgstat включает в себя функции для работы со всеми методами TGStat Search API и TGStat Stat API.

На данный момент в rtgstat доступны следующие функции, и соответствующие им методы 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

Copy Link

Version

Install

install.packages('rtgstat')

Monthly Downloads

637

Version

0.3.2

License

MIT + file LICENSE

Maintainer

Alexey Seleznev

Last Published

August 12th, 2022

Functions in rtgstat (0.3.2)

tg_channel_avg_posts_reach

Getting the average coverage of channel publications over time
tg_channel_subscribers

Get channel subscribers nunmber by day
tg_channel_stat

Get channel stat
tg_posts_search

Search publications
tg_post_stat

Getting publication statistics
tg_channel_views

Getting the number of views in dynamics
tg_channels_search

Channel search
tg_set_channel_id

Set session default channel id
tg_set_api_quote_alert_rate

Set API limit alert rate
tg_mentions_by_period

Dynamics of the keyword mentions by period
tg_mentions_by_channels

Keyword mentions by channel
tg_set_max_tries

Set max tries of HTTP queries
tg_countries

List of countries
tg_get_channel_id

Get defaukt channel ID
tg_post

Retrieving publication data
tg_options

Get rtgstat option values
tg_languages

List of languages
tg_get_token

Get API Token of 'TgStat'
tg_set_check_api_quote

Disable or enable API limit alert
tg_set_interval

Set time interval in seconds between tries of HTTP queries
rtgstat-package

rtgstat: Client for 'TGStat API'
tg_api_usage

API request statistics
tg_channel_posts

Retrieving a list of publications
tg_channel_mentions

Getting a list of mentions
tg_channel_err

Obtaining an ERR indicator for a channel in dynamics
tg_channel_forwards

Getting a list of reposts from a channel
tg_channel

Get chennel info
tg_categories

Category list
tg_auth

Set API Token of 'TgStat'