The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
The add operator (+
, or more formally
+.TelegramObject
) is an S3 method for class
TelegramObject
that enables you to add any kind of
Handler
to an Updater
’s
Dispatcher
.
Say you want to build a bot with a simple handler for the
/start
command:
start <- function(bot, update) {
bot$sendMessage(
chat_id = update$message$chat_id,
text = sprintf(
"Hello %s!",
update$message$from$first_name
)
)
}
start_handler <- CommandHandler("start", start)
You can then build your updater with:
As things start to get more complex, you can chain multiple handlers in a single call:
echo <- function(bot, update) {
bot$sendMessage(
chat_id = update$message$chat_id,
text = update$message$text
)
}
updater <- Updater("TOKEN") + CommandHandler("start", start) + MessageHandler(echo, MessageFilters$text)
And keep adding…
caps <- function(bot, update, args) {
if (length(args > 0L)) {
text_caps <- toupper(paste(args, collapse = " "))
bot$sendMessage(
chat_id = update$message$chat_id,
text = text_caps
)
}
}
updater <- updater + CommandHandler("caps", caps, pass_args = TRUE)
Give it a try! Start polling the updater:
And send /start to the bot, /caps foo or just a simple text.
The operator is indeed calling the add_handler
method
from an Updater
’s Dispatcher
. Then:
Is equivalent to:
Also, it works with Dispatcher
objects:
So, all in all, the +.TelegramObject
operator simplifies
the construction of an Updater
. However, if you want to add
a handler with advanced settings, let’s say by controlling the
group
in which it is placed, you will need to make an
add_handler
call.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.