MyNixOS website logo
Description

Client for 'TGStat API'.

Allow function for using 'TGStat Stat API' and 'TGStat Search API', for more details see <https://api.tgstat.ru/docs/ru/start/intro.html>. 'TGStat' provide telegram channel analytics data.

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

R-CMD-check Lifecycle: experimental CRAN status

Содержание

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

Пакет 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.

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

Metadata

Version

0.3.2

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows