Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R电报bot命令_R_Telegram Bot_R Telegram Bot - Fatal编程技术网

R电报bot命令

R电报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不起作用。我不知道为什么会这样,从我从其他机器人身上看

我使用R
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。是的,应该可以。