R电报bot命令
我使用RR电报bot命令,r,telegram-bot,r-telegram-bot,R,Telegram Bot,R Telegram Bot,我使用Rtelegram.bot包创建了一个简单的电报bot,下面的代码用于/start命令。问题是,当我在聊天中向这个机器人键入/start时,它工作正常。但是,当我使用botfather为bot创建命令时,在本例中为/start,它将调用命令/start@bot_name。从理论上讲,这应该可以很好地工作,因为您正在调用特定的bot,但不知何故,这根本不适用于我的bot 从本质上讲,运行/start是有效的,/start@bot_name不起作用。我不知道为什么会这样,从我从其他机器人身上看
telegram.bot
包创建了一个简单的电报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()
库(telegram.bot)
我找到了解决办法。它实际上有一个参数:
start_handler <- CommandHandler("start", start, username = "chatbotusername")
start\u处理程序您需要解释为什么您认为这应该有效。它看起来不像是正确的S3代码,如果您有一个以S4方式运行的bot
函数,那么您需要知道它是如何创建的,从头开始。因此,我的投票以不可复制的方式结束。如果你加载了正确的包,我的投票结果总是会被取消。在上面添加了一行以加载正确的包。而且它绝对是可复制的。显然我不会把我的机器人代币放在那里。你必须用你自己的来代替XXX。是的,应该可以。