Learn R Programming

telegram.bot (version 3.0.0)

Handler: The base of all handlers

Description

The base class for all update handlers. Create custom handlers by inheriting from it.

Usage

Handler(
  callback,
  check_update = NULL,
  handle_update = NULL,
  handlername = NULL
)

is.Handler(x)

Format

An R6Class object.

Arguments

callback

The callback function for this handler. Its inputs will be (bot, update), where bot is a Bot instance and update an Update class.

check_update

Function that will override the default check_update method. Use it if you want to create your own Handler.

handle_update

Function that will override the default handle_update method. Use it if you want to create your own Handler.

handlername

Name of the customized class, which will inherit from Handler. If NULL (default) it will create a Handler class.

x

Object to be tested.

Methods

check_update

Called to determine if an update should be handled by this handler instance.

handle_update

Called if it was determined that an update should indeed be handled by this instance.

Sub-classes

MessageHandler

To handle Telegram messages.

CommandHandler

To handle Telegram commands.

CallbackQueryHandler

To handle Telegram callback queries.

ErrorHandler

To handle errors while polling for updates.

Examples

Run this code
if (FALSE) {
# Example of a Handler
callback_method <- function(bot, update) {
  chat_id <- update$effective_chat()$id
  bot$sendMessage(chat_id = chat_id, text = "Hello")
}

hello_handler <- Handler(callback_method)

# Customizing Handler
check_update <- function(update) {
  TRUE
}

handle_update <- function(update, dispatcher) {
  self$callback(dispatcher$bot, update)
}

foo_handler <- Handler(callback_method,
  check_update = check_update,
  handle_update = handle_update,
  handlername = "FooHandler"
)
}

Run the code above in your browser using DataLab