R Telegram bot命令

时间:2019-08-23 01:23:59

标签: r telegram-bot r-telegram-bot

我已经使用R telegram.bot软件包创建了一个简单的电报机器人,并使用了以下/start命令的代码。问题是,当我在聊天中为此机器人输入/start时,它就可以正常工作。但是,当我使用botfather为该bot创建命令时,在本例中为/start,它将调用命令/start@bot_name。从理论上讲,这应该可以正常工作,因为您正在调用特定的bot,但是对于我的bot来说,这根本无法运行。

从本质上讲,运行/start是有效的,而/start@bot_name不起作用。从我从其他机器人看到的结果来看,都不能确定为什么会这样。不确定我应该通过Botfather打开哪些其他设置。

library(telegram.bot)

bot_token <- XXX
bot <- Bot(token = bot_token)
chat_id <- YYY

updater <- Updater(token = bot_token)

#start function
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)
updater <- updater + start_handler


# start bot
updater$start_polling()

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。实际上有一个参数:

start_handler <- CommandHandler("start", start, username = "chatbotusername")

如果包含username参数,它将监听也包含用户名的命令,例如/start@chatbotusername