| Title: | R Wrapper Around the Telegram Bot API | 
| Version: | 0.7.1 | 
| Author: | Luca Braglia [aut, cre] | 
| Maintainer: | Luca Braglia <lbraglia@gmail.com> | 
| Description: | A simple wrapper around the Telegram Bot API (https://core.telegram.org/bots/api) to access Telegram's messaging facilities with ease (e.g. you send messages, images, files from R to your smartphone). | 
| URL: | https://github.com/lbraglia/telegram | 
| BugReports: | https://github.com/lbraglia/telegram/issues | 
| Imports: | R6, httr, jsonlite, curl, utils | 
| Depends: | R (≥ 3.2.3) | 
| License: | GPL-3 | 
| RoxygenNote: | 7.3.2 | 
| NeedsCompilation: | no | 
| Packaged: | 2025-03-25 07:43:09 UTC; l | 
| Repository: | CRAN | 
| Date/Publication: | 2025-03-25 08:00:06 UTC | 
telegram.
Description
Simple R wrapper around the Telegram Bot API (http://core.telegram.org/bots/api) to access Telegram's messaging facilities with ease (eg you send messages, images, files from R to your smartphone)
Author(s)
Maintainer: Luca Braglia lbraglia@gmail.com
See Also
Useful links:
TGBot
Description
Package main class (implementing the Telegram bot).
Format
An R6Class generator object.
API Methods
- forwardMessage
- forward messages of any kind 
- getFile
- get info about a file and download it 
- getMe
- test your bot's auth token 
- getUpdates
- receive incoming updates 
- getUserProfilePhotos
- get a list of profile pictures for a user 
- sendAudio
- send - mp3files
- sendDocument
- send general files 
- sendLocation
- send point on the map 
- sendMessage
- send text messages 
- sendPhoto
- send image files 
- sendSticker
- send - .webpstickers
- sendVideo
- send - mp4videos
- sendVoice
- send ogg files encoded with OPUS 
- sendPoll
- send a telegram poll 
- stopPoll
- stop a telegram poll and obtain results 
Methods
Public methods
Method new()
Usage
TGBot$new(token, proxy)
Method set_token()
Usage
TGBot$set_token(token)
Method set_proxy()
Usage
TGBot$set_proxy(proxy)
Method set_default_chat_id()
Usage
TGBot$set_default_chat_id(chat_id)
Method req()
Usage
TGBot$req(method = NULL, body = NULL)
Method last_request()
Usage
TGBot$last_request()
Method print()
Usage
TGBot$print()
Method forwardMessage()
Usage
TGBot$forwardMessage( from_chat_id = NULL, message_id = NULL, disable_notification = NULL, chat_id = NULL )
Method getFile()
Usage
TGBot$getFile(file_id, destfile = NULL)
Method getMe()
Usage
TGBot$getMe()
Method getUpdates()
Usage
TGBot$getUpdates(offset = NULL, limit = NULL)
Method getUserProfilePhotos()
Usage
TGBot$getUserProfilePhotos(user_id = NULL, offset = NULL, limit = NULL)
Method sendAudio()
Usage
TGBot$sendAudio( audio = NULL, caption = NULL, duration = NULL, performer = NULL, title = NULL, disable_notification = NULL, reply_to_message_id = NULL, chat_id = NULL )
Method sendChatAction()
Usage
TGBot$sendChatAction(action = NULL, chat_id = NULL)
Method sendDocument()
Usage
TGBot$sendDocument( document = NULL, disable_notification = NULL, reply_to_message_id = NULL, chat_id = NULL )
Method sendLocation()
Usage
TGBot$sendLocation( latitude = NULL, longitude = NULL, disable_notification = NULL, reply_to_message_id = NULL, chat_id = NULL )
Method sendMessage()
Usage
TGBot$sendMessage( text = NULL, parse_mode = NULL, disable_web_page_preview = NULL, disable_notification = NULL, reply_to_message_id = NULL, chat_id = NULL )
Method sendPhoto()
Usage
TGBot$sendPhoto( photo = NULL, caption = NULL, disable_notification = NULL, reply_to_message_id = NULL, chat_id = NULL )
Method sendSticker()
Usage
TGBot$sendSticker( sticker = NULL, disable_notification = NULL, reply_to_message_id = NULL, chat_id = NULL )
Method sendVideo()
Usage
TGBot$sendVideo( video = NULL, duration = NULL, caption = NULL, reply_to_message_id = NULL, chat_id = NULL )
Method sendVoice()
Usage
TGBot$sendVoice( voice = NULL, duration = NULL, disable_notification = NULL, reply_to_message_id = NULL, chat_id = NULL )
Method sendDice()
Usage
TGBot$sendDice(disable_notification = NULL, chat_id = NULL)
Method sendPoll()
Usage
TGBot$sendPoll(
  question = NULL,
  options = NULL,
  is_anonymous = TRUE,
  type = c("regular", "quiz"),
  allows_multiple_answers = FALSE,
  correct_option_id = NULL,
  is_closed = FALSE,
  disable_notification = NULL,
  reply_to_message_id = NULL,
  chat_id = NULL
)Method stopPoll()
Usage
TGBot$stopPoll(message_id = NULL, chat_id = NULL)
Method clone()
The objects of this class are cloneable with this method.
Usage
TGBot$clone(deep = FALSE)
Arguments
- deep
- Whether to make a deep clone. 
References
Bots: An introduction for developers and Telegram Bot API
Examples
## Not run: 
## Without proxy
bot <- TGBot$new(token = bot_token('RBot'))
## With a proxy ...
prx <- list('url' = '123.45.6.78',
            'port' = 8080,
            'username' = 'user',
            'password' = 'password')
bot <- TGBot$new(token = bot_token('RBot'), proxy = prx)
##  .. or 
bot <- TGBot$new(token = bot_token('RBot'))
bot$set_proxy(proxy = prx)
## End(Not run)
bot_token
Description
Obtain token from system variables (in Renviron) set
according to package naming conventions, that is
R_TELEGRAM_BOT_ where X is bot's name (first question
answered to the botfather).
Usage
bot_token(x)
Arguments
| x | character of length 1 with the name of the bot; if
 | 
Examples
## Not run:  bot_token('RBot') 
forwardMessage
Description
Forward messages of any kind
Usage
forwardMessage(
  from_chat_id = NULL,
  message_id = NULL,
  disable_notification = NULL,
  chat_id = NULL
)
Arguments
| from_chat_id | Unique identifier for the chat where the original message was sent (required) | 
| message_id | Unique message identifier (required) | 
| disable_notification | Sends the message silently. Users will receive a notification with no sound | 
| chat_id | Unique identifier for the target chat or username of the target channel (required) | 
getFile
Description
Get info about a file and download it
Usage
getFile(file_id, destfile = NULL)
Arguments
| file_id | File identifier (required) | 
| destfile | Destination path; if specified the file will be downloaded | 
getMe
Description
Test your bot's auth token
Usage
getMe()
getUpdates
Description
Receive incoming updates
Usage
getUpdates(offset = NULL, limit = NULL)
Arguments
| offset | Identifier of the first update to be returned. | 
| limit | Limits the number of updates to be retrieved. Values between 1-100 are accepted. Defaults to 100 | 
getUserProfilePhotos
Description
Get a list of profile pictures for a user
Usage
getUserProfilePhotos(user_id = NULL, offset = NULL, limit = NULL)
Arguments
| user_id | Unique identifier of the target user (required) | 
| offset | Sequential number of the first photo to be returned. By default, all photos are returned | 
| limit | Limits the number of photos to be retrieved. Values between 1-100 are accepted. Defaults to 100 | 
group_id
Description
Obtain telegram user id from system variables (in Renviron) set
according to package naming conventions, that is
R_TELEGRAM_USER_X where is the user's name .
Usage
group_id(x)
Arguments
| x | character of length 1 with the name of the user; if
 | 
Examples
## Not run:  group_id('test_group') 
proxy
Description
Obtain telegram proxy from system variables (in Renviron) set
according to package naming conventions, that is
R_TELEGRAM_PROXY_X_Y where X is the proxy's name and Y are the
proxy parameters.
Usage
proxy(x)
Arguments
| x | character of length 1 with the name of the proxy; if
 | 
Examples
## Not run:  proxy('default') 
sendAudio
Description
Send mp3 files
Usage
sendAudio(
  audio = NULL,
  caption = NULL,
  duration = NULL,
  performer = NULL,
  title = NULL,
  disable_notification = NULL,
  reply_to_message_id = NULL,
  chat_id = NULL
)
Arguments
| audio | path to audio file to send (required) | 
| caption | audio caption | 
| duration | duration of the audio in seconds | 
| performer | performer | 
| title | track name | 
| disable_notification | Sends the message silently. Users will receive a notification with no sound | 
| reply_to_message_id | If the message is a reply, ID of the original message | 
| chat_id | Unique identifier for the target chat or username of the target channel (required) | 
sendChatAction
Description
Tell the user that something is happening on the bot's side
Usage
sendChatAction(action = NULL, chat_id = NULL)
Arguments
| action | type of action to broadcast. Choose one, depending on what the user is about to receive: "typing" for text messages, "upload_photo" for photos, "record_video" or "upload_video" for videos, "record_voice" or "upload_voice" for voice notes, "upload_document" for general files, "find_location" for location data, "record_video_note" or "upload_video_note" for video notes. | 
| chat_id | Unique identifier for the target chat or username of the target channel (required) | 
sendDice
Description
Use this method to send a dice, which will have a random value from 1 to 6.
Usage
sendDice(disable_notification = NULL, chat_id = NULL)
Arguments
| disable_notification | Sends the message silently. Users will receive a notification with no sound | 
| chat_id | Unique identifier for the target chat or username of the target channel (required) | 
sendDocument
Description
Send general files
Usage
sendDocument(
  document = NULL,
  disable_notification = NULL,
  reply_to_message_id = NULL,
  chat_id = NULL
)
Arguments
| document | path to the file to send (required) | 
| disable_notification | Sends the message silently. Users will receive a notification with no sound | 
| reply_to_message_id | if the message is a reply, ID of the original message | 
| chat_id | Unique identifier for the target chat or username of the target channel (required) | 
sendLocation
Description
Send point on the map
Usage
sendLocation(
  latitude = NULL,
  longitude = NULL,
  disable_notification = NULL,
  reply_to_message_id = NULL,
  chat_id = NULL
)
Arguments
| latitude | Latitude of location (required) | 
| longitude | Longitude of location (required) | 
| disable_notification | Sends the message silently. Users will receive a notification with no sound | 
| reply_to_message_id | If the message is a reply, ID of the original message | 
| chat_id | Unique identifier for the target chat or username of the target channel (required) | 
sendMessage
Description
Send text messages
Usage
sendMessage(
  text = NULL,
  parse_mode = NULL,
  disable_web_page_preview = NULL,
  disable_notification = NULL,
  reply_to_message_id = NULL,
  chat_id = NULL
)
Arguments
| text | Text of the message to be sent (required) | 
| parse_mode | send 'Markdown' if you want Telegram apps to show bold, italic and inline URLs in your bot's message | 
| disable_web_page_preview | Disables link previews for links in this message | 
| disable_notification | Sends the message silently. Users will receive a notification with no sound | 
| reply_to_message_id | If the message is a reply, ID of the original message | 
| chat_id | Unique identifier for the target chat or username of the target channel (required) | 
sendPhoto
Description
Send image files
Usage
sendPhoto(
  photo = NULL,
  caption = NULL,
  disable_notification = NULL,
  reply_to_message_id = NULL,
  chat_id = NULL
)
Arguments
| photo | photo to send (required) | 
| caption | photo caption | 
| disable_notification | Sends the message silently. Users will receive a notification with no sound | 
| reply_to_message_id | If the message is a reply, ID of the original message | 
| chat_id | Unique identifier for the target chat or username of the target channel (required) | 
sendPoll
Description
Use this method to send a native poll.
Usage
sendPoll(
  question = NULL,
  options = NULL,
  is_anonymous = TRUE,
  type = c("regular", "quiz"),
  allows_multiple_answers = FALSE,
  correct_option_id = NULL,
  is_closed = FALSE,
  disable_notification = NULL,
  reply_to_message_id = NULL,
  chat_id = NULL
)
Arguments
| question | Poll question, 1-255 characters | 
| options | vector of possible answers: 2-10 strings 1-100 characters each | 
| is_anonymous | if TRUE (default) the poll needs to be anonymous | 
| type | poll type, 'quiz' or 'regular', defaults to 'regular' | 
| allows_multiple_answers | if TRUE the poll allows multiple answers (default to FALSE and ignored for polls in quiz mode) | 
| correct_option_id | 0-based identifier of the correct answer option, required for polls in quiz mode (eg 0 set the first answer as correct) | 
| is_closed | if TRUE the poll needs to be immediately closed. This can be useful for poll preview. (default to FALSE) | 
| disable_notification | Sends the message silently. Users will receive a notification with no sound | 
| reply_to_message_id | If the message is a reply, ID of the original message | 
| chat_id | Unique identifier for the target chat or username of the target channel (required) | 
sendSticker
Description
Send .webp stickers
Usage
sendSticker(
  sticker = NULL,
  disable_notification = NULL,
  reply_to_message_id = NULL,
  chat_id = NULL
)
Arguments
| sticker | sticker to send (required) | 
| disable_notification | Sends the message silently. Users will receive a notification with no sound | 
| reply_to_message_id | If the message is a reply, ID of the original message | 
| chat_id | Unique identifier for the target chat or username of the target channel (required) | 
sendVideo
Description
Send mp4 videos
Usage
sendVideo(
  video = NULL,
  duration = NULL,
  caption = NULL,
  reply_to_message_id = NULL,
  chat_id = NULL
)
Arguments
| video | Video to send (required) | 
| duration | Duration of sent video in seconds | 
| caption | Video caption | 
| reply_to_message_id | If the message is a reply, ID of the original message | 
| chat_id | Unique identifier for the target chat or username of the target channel (required) | 
sendVoice
Description
Send .ogg files encoded with OPUS
Usage
sendVoice(
  voice = NULL,
  duration = NULL,
  disable_notification = NULL,
  reply_to_message_id = NULL,
  chat_id = NULL
)
Arguments
| voice | Audio file to send (required) | 
| duration | Duration of sent audio in seconds | 
| disable_notification | Sends the message silently. Users will receive a notification with no sound | 
| reply_to_message_id | If the message is a reply, ID of the original message | 
| chat_id | Unique identifier for the target chat or username of the target channel (required) | 
stopPoll
Description
Use this method to stop a poll which was sent by the bot.
Usage
stopPoll(message_id = NULL, chat_id = NULL)
Arguments
| message_id | Identifier of the original message with the poll | 
| chat_id | Unique identifier for the target chat or username of the target channel (required) | 
user_id
Description
Obtain telegram user id from system variables (in Renviron) set
according to package naming conventions, that is
R_TELEGRAM_USER_X where is the user's name .
Usage
user_id(x)
Arguments
| x | character of length 1 with the name of the user; if
 | 
Examples
## Not run:  user_id('me')