"R-เตฝ เดเดฐเต เดเตเดฒเดฟเดเตเดฐเดพเด เดฌเตเดเตเดเต เดเดดเตเดคเตเดจเตเดจเต" เดเดจเตเดจ เดชเดฐเดฎเตเดชเดฐเดฏเดฟเดฒเต เดฎเตเดจเตเดจเดพเดฎเดคเตเดคเต เดฒเตเดเดจเดฎเดพเดฃเดฟเดคเต. เดฎเตเตป เดชเตเดฐเดธเดฟเดฆเตเดงเตเดเดฐเดฃเดเตเดเดณเดฟเตฝ, เดเดฐเต เดเตเดฒเดฟเดเตเดฐเดพเด เดฌเตเดเตเดเต เดเดเตเดเดจเต เดธเตเดทเตเดเดฟเดเตเดเดพเดฎเตเดจเตเดจเตเด เด
เดคเดฟเดฒเตเดเต เดธเดจเตเดฆเตเดถเดเตเดเตพ เด
เดฏเดฏเตเดเตเดเดพเดฎเตเดจเตเดจเตเด เดฌเตเดเตเดเดฟเดฒเตเดเตเดเต เดเดฎเดพเตปเดกเตเดเดณเตเด เดธเดจเตเดฆเตเดถ เดซเดฟเตฝเดเตเดเดฑเตเดเดณเตเด เดเดเตเดเดจเต เดเตเตผเดเตเดเดพเดฎเตเดจเตเดจเตเด เดเดเตเดเตพ เดชเด เดฟเดเตเดเต. เด
เดคเดฟเดจเดพเตฝ, เดจเดฟเดเตเดเตพ เด เดฒเตเดเดจเด เดตเดพเดฏเดฟเดเตเดเดพเตป เดคเตเดเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดฎเตเดฎเตเดชเต, เดจเดฟเดเตเดเตพ เดตเดพเดฏเดฟเดเตเดเดพเตป เดเดพเตป เดตเดณเดฐเต เดถเตเดชเดพเตผเดถ เดเตเดฏเตเดฏเตเดจเตเดจเต
เด เดฒเตเดเดจเดคเตเดคเดฟเตฝ, เดเดฐเต เดเตเดฌเตเตผเดกเต เดเตเตผเดคเตเดคเต เดเดเตเดเดณเตเดเต เดฌเตเดเตเดเดฟเดจเตเดฑเต เดเดชเดฏเตเดเดเตเดทเดฎเดค เดเดเตเดเตพ เดฎเตเดเตเดเดชเตเดชเตเดเตเดคเตเดคเตเด, เด เดคเต เดฌเตเดเตเดเต เดเดจเตเดฑเตผเดซเตเดธเต เด เดตเดฌเตเดงเดเดจเตเดฏเดตเตเด เดเดชเดฏเตเดเดฟเดเตเดเดพเตป เดเดณเตเดชเตเดชเดตเตเดฎเดพเดเตเดเตเด.
"R-เตฝ เดเดฐเต เดเตเดฒเดฟเดเตเดฐเดพเด เดฌเตเดเตเดเต เดเดดเตเดคเตเดจเตเดจเต" เดเดจเตเดจ เดชเดฐเดฎเตเดชเดฐเดฏเดฟเดฒเต เดเดฒเตเดฒเดพ เดฒเตเดเดจเดเตเดเดณเตเด
เดเดเตเดเตพ เดเดฐเต เดฌเตเดเตเดเต เดธเตเดทเตเดเดฟเดเตเดเตเดเดฏเตเด เดเตเดฒเดฟเดเตเดฐเดพเดฎเดฟเตฝ เดธเดจเตเดฆเตเดถเดเตเดเตพ เด เดฏเดฏเตเดเตเดเดพเตป เด เดคเต เดเดชเดฏเตเดเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต เดฌเตเดเตเดเดฟเดฒเตเดเตเดเต เดเดฎเดพเตปเดกเต เดชเดฟเดจเตเดคเตเดฃเดฏเตเด เดธเดจเตเดฆเตเดถ เดซเดฟเตฝเดเตเดเดฑเตเดเดณเตเด เดเตเตผเดเตเดเตเด เดเดฐเต เดฌเตเดเตเดเดฟเดฒเตเดเตเดเต เดเตเดฌเตเตผเดกเต เดชเดฟเดจเตเดคเตเดฃ เดเดเตเดเดจเต เดเตเตผเดเตเดเดพเด
เดเดณเตเดณเดเดเตเดเด
เดจเดฟเดเตเดเตพเดเตเดเต เดกเดพเดฑเตเดฑ เดตเดฟเดถเดเดฒเดจเดคเตเดคเดฟเตฝ เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดเตเดเตเดเดฟเตฝ, เดจเดฟเดเตเดเตพเดเตเดเต เดเดจเตเดฑเต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดเดพเดเดพเด
เดเดคเต เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดเตเดฌเตเตผเดกเตเดเดณเดพเดฃเต เดเตเดฒเดฟเดเตเดฐเดพเด เดฌเตเดเตเดเต เดชเดฟเดจเตเดคเตเดฃเดฏเตเดเตเดเตเดจเตเดจเดคเต? เดฎเดฑเตเดชเดเดฟ เดเตเดฌเตเตผเดกเต เดเตปเดฒเตเตป เดเตเดฌเตเตผเดกเต
3.1.เดเตปเดฒเตเตป เดฌเดเตเดเดฃเตเดเตพเดเตเดเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃเดฏเตเดณเตเดณ เดฒเดณเดฟเดคเดฎเดพเดฏ เดฌเตเดเตเดเดฟเดจเตเดฑเต เดเดฐเต เดเดฆเดพเดนเดฐเดฃเด
3.2.เดคเดฟเดฐเดเตเดเตเดเตเดคเตเดค เดจเดเดฐเดคเตเดคเดฟเดจเตเดฑเต เดจเดฟเดฒเดตเดฟเดฒเต เดเดพเดฒเดพเดตเดธเตเดฅ เดฑเดฟเดชเตเดชเตเตผเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจ เดฌเตเดเตเดเดฟเดจเตเดฑเต เดเดฆเดพเดนเดฐเดฃเด
3.3.habr.com-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดจเดฟเตผเดฆเตเดฆเดฟเดทเตโเด เดนเดฌเตเดฌเดฟเดฒเตเดเตเดเตเดณเตเดณ เดฒเดฟเดเตเดเตเดเดณเตเดณเตเดณ เดเดฑเตเดฑเดตเตเด เดชเตเดคเดฟเดฏ เดฒเตเดเดจเดเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจ เดฌเตเดเตเดเดฟเดจเตเดฑเต เดเดฐเต เดเดฆเดพเดนเดฐเดฃเด เดคเตเดฐเตเดฎเดพเดจเด
เดเดคเต เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดเตเดฌเตเตผเดกเตเดเดณเดพเดฃเต เดเตเดฒเดฟเดเตเดฐเดพเด เดฌเตเดเตเดเต เดชเดฟเดจเตเดคเตเดฃเดฏเตเดเตเดเตเดจเตเดจเดคเต?
เดเดคเต เดเดดเตเดคเตเดจเตเดจ เดธเดฎเดฏเดคเตเดคเต telegram.bot
เดฐเดฃเตเดเต เดคเดฐเด เดเตเดฌเตเตผเดกเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเดพเตป เดจเดฟเดเตเดเดณเต เด
เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต:
- เดฎเดฑเตเดชเดเดฟ - เดธเดจเตเดฆเตเดถ เดเตเดเตเดธเตเดฑเตเดฑเต เดเตปเดชเตเดเตเดเต เดชเดพเดจเดฒเดฟเดจเต เดเตเดดเดฟเตฝ เดธเตเดฅเดฟเดคเดฟ เดเตเดฏเตเดฏเตเดจเตเดจ เดชเตเดฐเดงเดพเดจ, เดธเดพเดงเดพเดฐเดฃ เดเตเดฌเตเตผเดกเต. เด เดคเตเดคเดฐเดฎเตเดฐเต เดเตเดฌเตเตผเดกเต เดฌเตเดเตเดเดฟเดฒเตเดเตเดเต เดเดฐเต เดตเดพเดเด เดธเดจเตเดฆเตเดถเด เด เดฏเดฏเตโเดเตเดเตเดจเตเดจเต, เดเตเดเดพเดคเต เดตเดพเดเดเดฎเดพเดฏเดฟ เด เดคเต เดฌเดเตเดเดฃเดฟเตฝ เดคเดจเตเดจเต เดเดดเตเดคเดฟเดฏ เดตเดพเดเดเด เด เดฏเดฏเตโเดเตเดเตเด.
- เดเตปเดฒเตเตป - เดเดฐเต เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเด เดฌเตเดเตเดเต เดธเดจเตเดฆเตเดถเดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเด เดเตเดฌเตเตผเดกเต. เด เดฎเตผเดคเตเดคเดฟเดฏ เดฌเดเตเดเดฃเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเด เดฌเตเดเตเดเต เดกเดพเดฑเตเดฑ เด เดเตเดฌเตเตผเดกเต เด เดฏเดฏเตโเดเตเดเตเดจเตเดจเต; เด เดกเดพเดฑเตเดฑ เดฌเดเตเดเดฃเดฟเตฝ เดเดดเตเดคเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดตเดพเดเดเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟเดฐเดฟเดเตเดเดพเด. เด เดคเตเดคเดฐเด เดฌเดเตเดเดฃเตเดเตพ เดชเตเดฐเตเดธเดธเตเดธเต เดเตเดฏเตเดฏเตเดจเตเดจเต CallbackQueryHandler.
เดฌเตเดเตเดเต เดเตเดฌเตเตผเดกเต เดคเตเดฑเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดฐเตเดคเดฟเดฏเดฟเดฒเตเดเต เดเดฐเต เดธเดจเตเดฆเตเดถเด เด
เดฏเดฏเตเดเตเดเตเดฎเตเดชเตเตพ เด
เดคเต เดเดตเดถเตเดฏเดฎเดพเดฃเต sendMessage()
, เดฎเตเดฎเตเดชเต เดธเตเดทเตเดเดฟเดเตเด เดเตเดฌเตเตผเดกเต เดเดฐเต เดเตผเดเตเดฏเตเดฎเตเดจเตเดฑเดพเดฏเดฟ เดเตเดฎเดพเดฑเตเด reply_markup
.
เดเตเดตเดเต เดเดเตเดเตพ เดจเดฟเดฐเดตเดงเดฟ เดเดฆเดพเดนเดฐเดฃเดเตเดเตพ เดจเตเดเตเดเตเด.
เดฎเดฑเตเดชเดเดฟ เดเตเดฌเตเตผเดกเต
เดเดพเตป เดฎเตเดเดณเดฟเตฝ เดเดดเตเดคเดฟเดฏเดคเตเดชเตเดฒเต, เดเดคเดพเดฃเต เดชเตเดฐเดงเดพเดจ เดฌเตเดเตเดเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃ เดเตเดฌเตเตผเดกเต.
เดเดฆเตเดฏเตเดเดฟเด เดธเดนเดพเดฏเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฐเต เดฎเดฑเตเดชเดเดฟ เดเตเดฌเตเตผเดกเต เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฐเต เดเดฆเดพเดนเดฐเดฃเด
bot <- Bot(token = "TOKEN")
chat_id <- "CHAT_ID"
# Create Custom Keyboard
text <- "Aren't those custom keyboards cool?"
RKM <- ReplyKeyboardMarkup(
keyboard = list(
list(KeyboardButton("Yes, they certainly are!")),
list(KeyboardButton("I'm not quite sure")),
list(KeyboardButton("No..."))
),
resize_keyboard = FALSE,
one_time_keyboard = TRUE
)
# Send Custom Keyboard
bot$sendMessage(chat_id, text, reply_markup = RKM)
เดชเดพเดเตเดเตเดเดฟเดจเตเดฑเต เดเดฆเตเดฏเตเดเดฟเด เดธเดนเดพเดฏเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดเดฐเต เดเดฆเดพเดนเดฐเดฃเดฎเดพเดฃเต เดฎเตเดเดณเดฟเตฝ เดจเตฝเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเดคเต telegram.bot
. เดเดฐเต เดเตเดฌเตเตผเดกเต เดธเตเดทเตเดเดฟเดเตเดเดพเตป, เดซเดเดเตเดทเตป เดเดชเดฏเตเดเดฟเดเตเดเตเด ReplyKeyboardMarkup()
, เดเดคเต เดซเดเดเตเดทเตป เดธเตเดทเตเดเดฟเดเตเด เดฌเดเตเดเดฃเตเดเดณเตเดเต เดฒเดฟเดธเตเดฑเตเดฑเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดเดเตเดเตเดเตเดจเตเดจเต KeyboardButton()
.
เดเดจเตเดคเตเดเตเดฃเตเดเต ReplyKeyboardMarkup()
เดจเดฟเดเตเดเตพ เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดฒเดฟเดธเตเดฑเตเดฑเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดชเดพเดธเดพเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต? เดจเดฟเดเตเดเตพ เดชเตเดฐเดงเดพเดจ เดฒเดฟเดธเตเดฑเตเดฑเต เดเดเดจเตเดจเตเดชเตเดเตเดจเตเดจเต เดเดจเตเดจเดคเดพเดฃเต เดตเดธเตเดคเตเดค, เด
เดคเดฟเตฝ เดเดฐเต เดตเดฐเดฟ เดฌเดเตเดเดฃเตเดเดณเตเด เดชเตเดฐเดคเตเดฏเตเด เดฒเดฟเดธเตเดฑเตเดฑเตเดเดณเดฟเตฝ เดจเดฟเตผเดตเตเดตเดเดฟเดเตเดเตเดจเตเดจเต, เดเดพเดฐเดฃเด เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต เดตเดฐเดฟเดฏเดฟเตฝ เดจเดฟเดฐเดตเดงเดฟ เดฌเดเตเดเดฃเตเดเตพ เดธเตเดฅเดพเดชเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด.
เดตเดพเดฆเด resize_keyboard
เดเตเดฌเตเตผเดกเต เดฌเดเตเดเดฃเตเดเดณเตเดเต เดเดชเตเดฑเตเดฑเดฟเดฎเตฝ เดตเดฒเตเดชเตเดชเดตเตเด เดเตผเดเตเดฏเตเดฎเตเดจเตเดฑเตเด เดธเตเดตเดฏเดฎเตเดต เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเดพเตป เดจเดฟเดเตเดเดณเต เด
เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต one_time_keyboard
เดเดฐเต เดฌเดเตเดเตบ เด
เดฎเตผเดคเตเดคเตเดฎเตเดชเตเดดเตเด เดเตเดฌเตเตผเดกเต เดฎเดฑเดฏเตเดเตเดเดพเตป เดจเดฟเดเตเดเดณเต เด
เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต.
3 เดฌเดเตเดเดฃเตเดเดณเตเดณเตเดณ เดเดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดฌเตเดเตเดเต เดจเดฎเตเดเตเดเต เดเดดเตเดคเดพเด:
- เดเดพเดฑเตเดฑเต เดเดกเดฟ - เดฌเตเดเตเดเตเดฎเดพเดฏเตเดณเตเดณ เดกเดฏเดฒเตเดเดฟเดจเตเดฑเต เดเดพเดฑเตเดฑเต เดเดกเดฟ เด เดญเตเดฏเตผเดคเตเดฅเดฟเดเตเดเตเด
- เดเดจเตเดฑเต เดชเตเดฐเต - เดจเดฟเดเตเดเดณเตเดเต เดชเตเดฐเต เด เดญเตเดฏเตผเดคเตเดฅเดฟเดเตเดเตเด
- เดเดจเตเดฑเต เดฒเตเดเดฟเตป - เดเตเดฒเดฟเดเตเดฐเดพเดฎเดฟเตฝ เดจเดฟเดเตเดเดณเตเดเต เดเดชเดฏเตเดเตเดคเตเดจเดพเดฎเด เด เดญเตเดฏเตผเดคเตเดฅเดฟเดเตเดเตเด
เดเตเดกเต 1: เดฎเดฑเตเดชเดเดฟ เดเตเดฌเตเตผเดกเตเดณเตเดณ เดฒเดณเดฟเดคเดฎเดพเดฏ เดฌเตเดเตเดเต
library(telegram.bot)
# ัะพะทะดะฐัะผ ัะบะทะตะผะฟะปัั ะบะปะฐััะฐ Updater
updater <- Updater('ะขะะะะ ะะะจะะะ ะะะขะ')
# ัะพะทะดะฐัะผ ะผะตัะพะดั
## ะผะตัะพะด ะดะปั ะทะฐะฟััะบะฐ ะบะปะฐะฒะธะฐัััั
start <- function(bot, update) {
# ัะพะทะดะฐัะผ ะบะปะฐะฒะธะฐัััั
RKM <- ReplyKeyboardMarkup(
keyboard = list(
list(KeyboardButton("ะงะฐั ID")),
list(KeyboardButton("ะะพั ะธะผั")),
list(KeyboardButton("ะะพะน ะปะพะณะธะฝ"))
),
resize_keyboard = FALSE,
one_time_keyboard = TRUE
)
# ะพัะฟัะฐะฒะปัะตะผ ะบะปะฐะฒะธะฐัััั
bot$sendMessage(update$message$chat_id,
text = 'ะัะฑะตัะธัะต ะบะพะผะฐะฝะดั',
reply_markup = RKM)
}
## ะผะตัะพะด ะฒะพะทะฒัะฐะทะฐััะธะน id ัะฐัะฐ
chat_id <- function(bot, update) {
bot$sendMessage(update$message$chat_id,
text = paste0("ะงะฐั id ััะพะณะพ ะดะธะฐะปะพะณะฐ: ", update$message$chat_id),
parse_mode = "Markdown")
}
## ะผะตัะพะด ะฒะพะทะฒัะฐัะฐััะธะน ะธะผั
my_name <- function(bot, update) {
bot$sendMessage(update$message$chat_id,
text = paste0("ะะฐั ะทะพะฒัั ", update$message$from$first_name),
parse_mode = "Markdown")
}
## ะผะตัะพะด ะฒะพะทะฒัะฐัะฐััะธะน ะปะพะณะธะฝ
my_username <- function(bot, update) {
bot$sendMessage(update$message$chat_id,
text = paste0("ะะฐั ะปะพะณะธะฝ ", update$message$from$username),
parse_mode = "Markdown")
}
# ัะพะทะดะฐัะผ ัะธะปัััั
## ัะพะพะฑัะตะฝะธั ั ัะตะบััะพะผ ะงะฐั ID
MessageFilters$chat_id <- BaseFilter(function(message) {
# ะฟัะพะฒะตััะตะผ ัะตะบัั ัะพะพะฑัะตะฝะธั
message$text == "ะงะฐั ID"
}
)
## ัะพะพะฑัะตะฝะธั ั ัะตะบััะพะผ ะะพั ะธะผั
MessageFilters$name <- BaseFilter(function(message) {
# ะฟัะพะฒะตััะตะผ ัะตะบัั ัะพะพะฑัะตะฝะธั
message$text == "ะะพั ะธะผั"
}
)
## ัะพะพะฑัะตะฝะธั ั ัะตะบััะพะผ ะะพะน ะปะพะณะธะฝ
MessageFilters$username <- BaseFilter(function(message) {
# ะฟัะพะฒะตััะตะผ ัะตะบัั ัะพะพะฑัะตะฝะธั
message$text == "ะะพะน ะปะพะณะธะฝ"
)
# ัะพะทะดะฐัะผ ะพะฑัะฐะฑะพััะธะบะธ
h_start <- CommandHandler('start', start)
h_chat_id <- MessageHandler(chat_id, filters = MessageFilters$chat_id)
h_name <- MessageHandler(my_name, filters = MessageFilters$name)
h_username <- MessageHandler(my_username, filters = MessageFilters$username)
# ะดะพะฑะฐะฒะปัะตะผ ะพะฑัะฐะฑะพััะธะบะธ ะฒ ะดะธัะฟะตััะตั
updater <- updater +
h_start +
h_chat_id +
h_name +
h_username
# ะทะฐะฟััะบะฐะตะผ ะฑะพัะฐ
updater$start_polling()
เดเดคเดฟเดฒเตเดเต เดฌเตเดเตเดเต เดธเตเดทเตเดเดฟเดเตเดเตเดฎเตเดชเตเตพ เดจเดฟเดเตเดเตพเดเตเดเต เดฒเดญเดฟเดเตเด เดฏเดฅเดพเตผเดคเตเดฅ เดเตเดเตเดเตบ เดเดชเดฏเตเดเดฟเดเตเดเต 'Your BOT TOKEN' เดฎเดพเดฑเตเดฑเดฟ เดชเดเดฐเด เดฎเตเดเดณเดฟเดฒเต เดเตเดกเต เดเดฆเดพเดนเดฐเดฃเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเด เดฌเตเดเตเดเตเดซเดพเดฆเตผ (เดเดพเตป เดเดฐเต เดฌเตเดเตเดเต เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเต เดธเดเดธเดพเดฐเดฟเดเตเดเต
เดเดฆเตเดฏ เดฒเตเดเดจเด ).
เดธเดฎเดพเดฐเดเดญเดฟเดเตเด เดถเตเดทเด, เดฌเตเดเตเดเดฟเดจเต เดเดฐเต เดเดฎเดพเตปเดกเต เดจเตฝเดเตเด /start
, เดเดพเดฐเดฃเด เดเตเดฌเตเตผเดกเต เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเดเตเดเตพ เดจเดฟเตผเดตเตเดตเดเดฟเดเตเดเดคเต เดเดคเดพเดฃเต.
เดฐเตเดคเดฟเดเตพ, เดซเดฟเตฝเดเตเดเดฑเตเดเตพ, เดนเดพเตปเดกเตโเดฒเดฑเตเดเตพ เดเดจเตเดจเดฟเดตเดฏเตเดเต เดธเตเดทเตเดเดฟ เดเดชเดฏเตเดเดฟเดเตเดเต เดจเตฝเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดเตเดกเต เดเดฆเดพเดนเดฐเดฃเด เดชเดพเดดเตโเดธเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเต เดเดชเตเดชเตเตพ เดจเดฟเดเตเดเตพเดเตเดเต เดฌเตเดฆเตเดงเดฟเดฎเตเดเตเดเดพเดฃเตเดเตเดเดฟเตฝ, เดจเดฟเดเตเดเตพ เดฎเตเดฎเตเดชเดคเตเดคเตเดคเดฟเดฒเตเดเตเดเต เดฎเดเดเตเดเดฃเด.
เดเดเตเดเตพ 4 เดฐเตเดคเดฟเดเตพ เดธเตเดทเตเดเดฟเดเตเดเต:
- เดเดฐเดเดญเดฟเดเตเดเตเด - เดเตเดฌเตเตผเดกเต เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเด
- chat_id - เดเดพเดฑเตเดฑเต เดเดกเดฟ เด เดญเตเดฏเตผเดคเตเดฅเดฟเดเตเดเตเด
- my_name - เดจเดฟเดเตเดเดณเตเดเต เดชเตเดฐเต เด เดญเตเดฏเตผเดคเตเดฅเดฟเดเตเดเตเด
- my_username - เดจเดฟเดเตเดเดณเตเดเต เดฒเตเดเดฟเตป เด เดญเตเดฏเตผเดคเตเดฅเดฟเดเตเดเตเด
เดเดคเดฟเตผเดเตเดเดพเตป เดธเดจเตเดฆเตเดถเด เดซเดฟเตฝเดเตเดเดฑเตเดเตพ เดเตเดเตโเดธเตโเดฑเตเดฑเต เด เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟ 3 เดธเดจเตเดฆเตเดถ เดซเดฟเตฝเดเตเดเดฑเตเดเตพ เดเตเตผเดคเตเดคเต:
- chat_id - เดเตเดเตโเดธเตโเดฑเตเดฑเต เดเดณเตเดณ เดธเดจเตเดฆเตเดถเดเตเดเตพ
"ะงะฐั ID"
- เดชเตเดฐเต - เดเตเดเตเดธเตเดฑเตเดฑเต เดเดณเตเดณ เดธเดจเตเดฆเตเดถเดเตเดเตพ
"ะะพั ะธะผั"
- เดเดชเดฏเตเดเตเดคเตเดจเดพเดฎเด - เดตเดพเดเดเดคเตเดคเตเดเตเดเตเดเดฟเดฏ เดธเดจเตเดฆเตเดถเดเตเดเตพ
"ะะพะน ะปะพะณะธะฝ"
เดเดเตเดเตพ 4 เดนเดพเตปเดกเตโเดฒเดฑเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเต, เดจเตฝเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดเดฎเดพเตปเดกเตเดเดณเตเด เดซเดฟเตฝเดเตเดเดฑเตเดเดณเตเด เด เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟ, เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเด เดฐเตเดคเดฟเดเตพ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเด.
# ัะพะทะดะฐัะผ ะพะฑัะฐะฑะพััะธะบะธ
h_start <- CommandHandler('start', start)
h_chat_id <- MessageHandler(chat_id, filters = MessageFilters$chat_id)
h_name <- MessageHandler(my_name, filters = MessageFilters$name)
h_username <- MessageHandler(my_username, filters = MessageFilters$username)
เดเตเดฌเตเตผเดกเต เดคเดจเตเดจเต เดฎเตเดคเตเดคเตเดกเดฟเดจเตเดณเตเดณเดฟเตฝ เดธเตเดทเตเดเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต start()
เดเตเด ReplyKeyboardMarkup()
.
RKM <- ReplyKeyboardMarkup(
keyboard = list(
list(KeyboardButton("ะงะฐั ID")),
list(KeyboardButton("ะะพั ะธะผั")),
list(KeyboardButton("ะะพะน ะปะพะณะธะฝ"))
),
resize_keyboard = FALSE,
one_time_keyboard = TRUE
)
เดเดเตเดเดณเตเดเต เดเดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดเดเตเดเตพ เดเดฒเตเดฒเดพ เดฌเดเตเดเดฃเตเดเดณเตเด เดชเดฐเดธเตเดชเดฐเด เดเตเดดเดฟเดฒเดพเดเตเดเดฟ, เดชเดเตเดทเต เดฌเดเตเดเตบ เดฒเดฟเดธเตเดฑเตเดฑเตเดเดณเตเดเต เดชเดเตเดเดฟเดเดฏเดฟเตฝ เดฎเดพเดฑเตเดฑเดเตเดเตพ เดตเดฐเตเดคเตเดคเดฟเดเตเดเตเดฃเตเดเต เดจเดฎเตเดเตเดเต เด เดตเดฏเต เดเดฐเต เดตเดฐเดฟเดฏเดฟเตฝ เดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเดพเด. เดเดพเดฐเดฃเด เดเตเดฌเตเตผเดกเดฟเดจเตเดณเตเดณเดฟเดฒเต เดเดฐเต เดตเดฐเดฟ เดฌเดเตเดเดฃเตเดเดณเตเดเต เดเดฐเต เดจเตเดธเตเดฑเตเดฑเดกเต เดฒเดฟเดธเตเดฑเตเดฑเดฟเดฒเตเดเต เดธเตเดทเตโเดเดฟเดเตเดเดชเตเดชเตเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต, เดคเตเดเตผเดจเตเดจเต เดเดเตเดเดณเตเดเต เดฌเดเตเดเดฃเตเดเตพ เดเดฐเต เดตเดฐเดฟเดฏเดฟเตฝ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเตเดฌเตเตผเดกเต เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเตเดกเดฟเดจเตเดฑเต เดเดฐเต เดญเดพเดเด เดเดคเตเดชเตเดฒเต เดตเตเดฃเตเดเตเด เดเดดเตเดคเตเดฃเตเดเดคเตเดฃเตเดเต:
RKM <- ReplyKeyboardMarkup(
keyboard = list(
list(
KeyboardButton("ะงะฐั ID"),
KeyboardButton("ะะพั ะธะผั"),
KeyboardButton("ะะพะน ะปะพะณะธะฝ")
)
),
resize_keyboard = FALSE,
one_time_keyboard = TRUE
)
เดฐเตเดคเดฟ เดเดชเดฏเตเดเดฟเดเตเดเต เดเดพเดฑเตเดฑเดฟเดฒเตเดเตเดเต เดเตเดฌเตเตผเดกเต เด
เดฏเดฏเตเดเตเดเตเดจเตเดจเต sendMessage()
, เดตเดพเดฆเดคเตเดคเดฟเตฝ reply_markup
.
bot$sendMessage(update$message$chat_id,
text = 'ะัะฑะตัะธัะต ะบะพะผะฐะฝะดั',
reply_markup = RKM)
เดเตปเดฒเตเตป เดเตเดฌเตเตผเดกเต
เดเดพเตป เดฎเตเดเดณเดฟเตฝ เดเดดเตเดคเดฟเดฏเดคเตเดชเตเดฒเต, เดเตปเดฒเตเตป เดเตเดฌเตเตผเดกเต เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดธเดจเตเดฆเตเดถเดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต. เดชเตเดฐเดงเดพเดจ เดเตเดฌเตเตผเดกเดฟเดจเตเดเตเดเดพเตพ เดเดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเต เดเตเดฑเดเตเดเต เดฌเตเดฆเตเดงเดฟเดฎเตเดเตเดเดพเดฃเต.
เดคเตเดเดเตเดเดคเตเดคเดฟเตฝ, เดเตปเดฒเตเตป เดเตเดฌเตเตผเดกเดฟเดฒเตเดเตเดเต เดตเดฟเดณเดฟเดเตเดเดพเตป เดจเดฟเดเตเดเตพ เดฌเตเดเตเดเดฟเดฒเตเดเตเดเต เดเดฐเต เดฐเตเดคเดฟ เดเตเตผเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต.
เดเดฐเต เดเตปเดฒเตเตป เดฌเดเตเดเตบ เดเตเดฒเดฟเดเตเดเดฟเดจเตเดเต เดชเตเดฐเดคเดฟเดเดฐเดฟเดเตเดเดพเตป, เดจเดฟเดเตเดเตพเดเตเดเต เดฌเตเดเตเดเต เดฐเตเดคเดฟเดฏเตเด เดเดชเดฏเตเดเดฟเดเตเดเดพเด answerCallbackQuery()
, เดเตปเดฒเตเตป เดฌเดเตเดเตบ เด
เดฎเตผเดคเตเดคเตเดจเตเดจ เดเดชเดฏเตเดเตเดคเดพเดตเดฟเดจเต เดเตเดฒเดฟเดเตเดฐเดพเด เดเดจเตเดฑเตผเดซเตเดธเดฟเตฝ เดเดฐเต เด
เดฑเดฟเดฏเดฟเดชเตเดชเต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด.
เดเตปเดฒเตเตป เดฌเดเตเดเดฃเดฟเตฝ เดจเดฟเดจเตเดจเต เด
เดฏเดเตเด เดกเดพเดฑเตเดฑ เดเตเดเตเดธเตเดฑเตเดฑเต เด
เดฒเตเดฒ, เด
เดคเดฟเดจเดพเตฝ เดเดคเต เดชเตเดฐเตเดธเดธเตเดธเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดจเดฟเดเตเดเตพ เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดนเดพเตปเดกเตเดฒเตผ เดธเตเดทเตเดเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต CallbackQueryHandler()
.
เดชเดพเดเตเดเตเดเดฟเดจเตเดฑเต เดเดฆเตเดฏเตเดเดฟเด เดธเดนเดพเดฏเดคเตเดคเดฟเตฝ เดจเตฝเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดเตปเดฒเตเตป เดเตเดฌเตเตผเดกเต เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเตเดกเต telegram.bot
.
เดเดฆเตเดฏเตเดเดฟเด เดธเดนเดพเดฏเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดเตปเดฒเตเตป เดเตเดฌเตเตผเดกเต เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเตเดกเต
# Initialize bot
bot <- Bot(token = "TOKEN")
chat_id <- "CHAT_ID"
# Create Inline Keyboard
text <- "Could you type their phone number, please?"
IKM <- InlineKeyboardMarkup(
inline_keyboard = list(
list(
InlineKeyboardButton(1),
InlineKeyboardButton(2),
InlineKeyboardButton(3)
),
list(
InlineKeyboardButton(4),
InlineKeyboardButton(5),
InlineKeyboardButton(6)
),
list(
InlineKeyboardButton(7),
InlineKeyboardButton(8),
InlineKeyboardButton(9)
),
list(
InlineKeyboardButton("*"),
InlineKeyboardButton(0),
InlineKeyboardButton("#")
)
)
)
# Send Inline Keyboard
bot$sendMessage(chat_id, text, reply_markup = IKM)
เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฟเดเตเดเตพ เดเดฐเต เดเตปเดฒเตเตป เดเตเดฌเตเตผเดกเต เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต InlineKeyboardMarkup()
, เดฎเดฑเตเดชเดเดฟ เดเตเดฌเตเตผเดกเดฟเดจเตเดฑเต เด
เดคเต เดคเดคเตเดตเดคเตเดคเดฟเตฝ. IN InlineKeyboardMarkup()
เดเตปเดฒเตเตป เดฌเดเตเดเดฃเตเดเดณเตเดเต เดฒเดฟเดธเตเดฑเตเดฑเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดชเดพเดธเดพเดเตเดเตเดฃเตเดเดคเต เดเดตเดถเตเดฏเดฎเดพเดฃเต, เดเดฐเต เดตเตเดฏเดเตเดคเดฟเดเดค เดฌเดเตเดเดฃเตเด เดซเดเดเตเดทเตป เดตเดดเดฟ เดธเตเดทเตเดเดฟเดเตเดเดชเตเดชเตเดเตเดจเตเดจเต InlineKeyboardButton()
.
เดเดฐเต เดเตปเดฒเตเตป เดฌเดเตเดเดฃเดฟเดจเต เดเดฐเต เดเตผเดเตเดฏเตเดฎเตเดจเตเดฑเต เดเดชเดฏเตเดเดฟเดเตเดเต เดฌเตเดเตเดเดฟเดฒเตเดเตเดเต เดเตเดฑเดเตเดเต เดกเดพเดฑเตเดฑ เดเตเดฎเดพเดฑเดพเตป เดเดดเดฟเดฏเตเด callback_data
, เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเตผเดเตเดฏเตเดฎเตเดจเตเดฑเต เดเดชเดฏเตเดเดฟเดเตเดเต เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเดฟเดฏ เดเดคเตเดเตเดเดฟเดฒเตเด HTML เดชเตเดเต เดคเตเดฑเดเตเดเตเด url
.
เดซเดฒเด เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดเดฏเดฟเดฐเดฟเดเตเดเตเด, เด เดคเดฟเตฝ เดเดฐเต เดเดฒเดฎเตเดจเตเดฑเตเด เดเดฐเต เดตเดฐเดฟเดฏเดพเดฏเดฟ เดธเดเดฏเตเดเดฟเดชเตเดชเดฟเดเตเดเตเดฃเตเด เดเตปเดฒเตเตป เดฌเดเตเดเดฃเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดเตเดเดฟเดฏเดพเดฃเต.
เด เดเตเดคเตเดคเดคเดพเดฏเดฟ เดจเดฎเตเดฎเตพ เดเตปเดฒเตเตป เดฌเดเตเดเดฃเตเดเดณเตเดณเตเดณ เดฌเตเดเตเดเตเดเดณเตเดเต เดจเดฟเดฐเดตเดงเดฟ เดเดฆเดพเดนเดฐเดฃเดเตเดเตพ เดจเตเดเตเดเตเด.
เดเตปเดฒเตเตป เดฌเดเตเดเดฃเตเดเตพเดเตเดเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃเดฏเตเดณเตเดณ เดฒเดณเดฟเดคเดฎเดพเดฏ เดฌเตเดเตเดเดฟเดจเตเดฑเต เดเดฐเต เดเดฆเดพเดนเดฐเดฃเด
เดเดฆเตเดฏเด, เดเตเดตเดฟเดกเต-19-เดจเตเดณเตเดณ เดเดเตเดธเตเดชเตเดฐเดธเต เดเตเดธเตเดฑเตเดฑเดฟเดเดเดฟเดจเดพเดฏเดฟ เดเดเตเดเตพ เดเดฐเต เดฌเตเดเตเดเต เดเดดเตเดคเตเด. เดเตฝเดชเตเดชเดจ เดชเตเดฐเดเดพเดฐเด /test
, เดเดคเต เดฐเดฃเตเดเต เดฌเดเตเดเดฃเตเดเดณเตเดณเตเดณ เดเดฐเต เดเตเดฌเตเตผเดกเต เดจเดฟเดเตเดเตพเดเตเดเต เด
เดฏเดฏเตโเดเตเดเตเด, เด
เดฎเตผเดคเตเดคเตเดจเตเดจ เดฌเดเตเดเดฃเดฟเดจเต เดเดถเตเดฐเดฏเดฟเดเตเดเต เด
เดคเต เดจเดฟเดเตเดเดณเตเดเต เดชเดฐเดฟเดถเตเดงเดจเดพ เดซเดฒเดเตเดเดณเดเดเตเดเดฟเดฏ เดเดฐเต เดธเดจเตเดฆเตเดถเด เด
เดฏเดฏเตโเดเตเดเตเด.
เดเตเดกเต 2: เดเตปเดฒเตเตป เดเตเดฌเตเตผเดกเตเดณเตเดณ เดเดฑเตเดฑเดตเตเด เดฒเดณเดฟเดคเดฎเดพเดฏ เดฌเตเดเตเดเต
library(telegram.bot)
# ัะพะทะดะฐัะผ ัะบะทะตะผะฟะปัั ะบะปะฐััะฐ Updater
updater <- Updater('ะขะะะะ ะะะจะะะ ะะะขะ')
# ะผะตัะพะด ะดะปั ะพัะฟัะฐะฒะบะธ InLine ะบะปะฐะฒะธะฐัััั
test <- function(bot, update) {
# ัะพะทะดะฐัะผ InLine ะบะปะฐะฒะธะฐัััั
IKM <- InlineKeyboardMarkup(
inline_keyboard = list(
list(
InlineKeyboardButton("ะะฐ", callback_data = 'yes'),
InlineKeyboardButton("ะะตั", callback_data = 'no')
)
)
)
# ะัะฟัะฐะฒะปัะตะผ ะบะปะฐะฒะธะฐัััั ะฒ ัะฐั
bot$sendMessage(update$message$chat_id,
text = "ะั ะฑะพะปะตัะต ะบะพัะพะฝะฐะฒะธัััะพะผ?",
reply_markup = IKM)
}
# ะผะตัะพะด ะดะปั ะพะฑัะฐะฑะพัะบะธ ะฝะฐะถะฐัะธั ะบะฝะพะฟะบะธ
answer_cb <- function(bot, update) {
# ะฟะพะปััะตะฝะฝัะต ะดะฐะฝะฝัะต ั ะบะฝะพะฟะบะธ
data <- update$callback_query$data
# ะฟะพะปััะฐะตะผ ะธะผั ะฟะพะปัะทะพะฒะฐัะตะปั, ะฝะฐะถะฐะฒัะตะณะพ ะบะฝะพะฟะบั
uname <- update$effective_user()$first_name
# ะพะฑัะฐะฑะพัะบะฐ ัะตะทัะปััะฐัะฐ
if ( data == 'no' ) {
msg <- paste0(uname, ", ะฟะพะทะดัะฐะฒะปัั, ะฒะฐั ัะตัั ะฝะฐ covid-19 ะพััะธัะฐัะตะปัะฝัะน.")
} else {
msg <- paste0(uname, ", ะบ ัะพะถะฐะปะตะฝะธ ะฒะฐั ัะตัั ะฝะฐ covid-19 ะฟะพะปะพะถะธัะตะปัะฝัะน.")
}
# ะัะฟัะฐะฒะบะฐ ัะพะพะฑัะตะฝะธั
bot$sendMessage(chat_id = update$from_chat_id(),
text = msg)
# ัะพะพะฑัะฐะตะผ ะฑะพัั, ััะพ ะทะฐะฟัะพั ั ะบะฝะพะฟะบะธ ะฟัะธะฝัั
bot$answerCallbackQuery(callback_query_id = update$callback_query$id)
}
# ัะพะทะดะฐัะผ ะพะฑัะฐะฑะพััะธะบะธ
inline_h <- CommandHandler('test', test)
query_handler <- CallbackQueryHandler(answer_cb)
# ะดะพะฑะฐะฒะปัะตะผ ะพะฑัะฐะฑะพััะธะบะธ ะฒ ะดะธัะฟะตััะตั
updater <- updater + inline_h + query_handler
# ะทะฐะฟััะบะฐะตะผ ะฑะพัะฐ
updater$start_polling()
เดเดคเดฟเดฒเตเดเต เดฌเตเดเตเดเต เดธเตเดทเตเดเดฟเดเตเดเตเดฎเตเดชเตเตพ เดจเดฟเดเตเดเตพเดเตเดเต เดฒเดญเดฟเดเตเด เดฏเดฅเดพเตผเดคเตเดฅ เดเตเดเตเดเตบ เดเดชเดฏเตเดเดฟเดเตเดเต 'Your BOT TOKEN' เดฎเดพเดฑเตเดฑเดฟ เดชเดเดฐเด เดฎเตเดเดณเดฟเดฒเต เดเตเดกเต เดเดฆเดพเดนเดฐเดฃเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเด เดฌเตเดเตเดเตเดซเดพเดฆเตผ (เดเดพเตป เดเดฐเต เดฌเตเดเตเดเต เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเต เดธเดเดธเดพเดฐเดฟเดเตเดเต
เดเดฆเตเดฏ เดฒเตเดเดจเด ).
เดซเดฒเด:
เดเดเตเดเตพ เดฐเดฃเตเดเต เดฐเตเดคเดฟเดเตพ เดธเตเดทเตเดเดฟเดเตเดเต:
- เดชเดฐเดฟเดถเตเดพเดงเดจ โ เดเดพเดฑเตเดฑเดฟเดฒเตเดเตเดเต เด เดฏเดเตเดเดพเตป เดเตปเดฒเตเตป เดเตเดฌเตเตผเดกเต
- เดเดคเตเดคเดฐเด_เดธเดฟเดฌเดฟ - เดเตเดฌเตเตผเดกเดฟเตฝ เดจเดฟเดจเตเดจเต เด เดฏเดเตเด เดกเดพเดฑเตเดฑ เดชเตเดฐเตเดธเดธเตเดธเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต.
เดเดฐเต เดฌเดเตเดเดฃเดฟเตฝ เดจเดฟเดจเตเดจเตเด เด
เดฏเดฏเตโเดเตเดเตเดจเตเดจ เดกเดพเดฑเตเดฑ เดเตผเดเตเดฏเตเดฎเตเดจเตเดฑเดฟเตฝ เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเดฟเดฏเดฟเดเตเดเตเดฃเตเดเต callback_data
, เดเดฐเต เดฌเดเตเดเตบ เดธเตเดทเตเดเดฟเดเตเดเตเดฎเตเดชเตเตพ. เดฌเดเตเดเดฃเดฟเตฝ เดจเดฟเดจเตเดจเต เด
เดฏเดเตเด เดกเดพเดฑเตเดฑ เดจเดฟเดเตเดเตพเดเตเดเต เดเตบเดธเตเดเตเดฐเดเตโเดฑเตเดฑเต เดเดชเดฏเตเดเดฟเดเตเดเต เดธเตเดตเตเดเดฐเดฟเดเตเดเดพเด update$callback_query$data
, เดฐเตเดคเดฟ เดเดณเตเดณเดฟเตฝ เดเดคเตเดคเดฐเด_เดธเดฟเดฌเดฟ.
เดฌเตเดเตเดเต เดเตปเดฒเตเตป เดเตเดฌเตเตผเดกเดฟเดจเตเดเต เดชเตเดฐเดคเดฟเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดฐเตเดคเดฟ เดเดคเตเดคเดฐเด_เดธเดฟเดฌเดฟ เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดนเดพเตปเดกเตโเดฒเตผ เดชเตเดฐเตเดธเดธเตเดธเต เดเตเดฏเตเดฏเตเดจเตเดจเต: CallbackQueryHandler(answer_cb)
. เดเตปเดฒเตเตป เดฌเดเตเดเดฃเดฟเตฝ เดเตเดฒเดฟเดเตเดเต เดเตเดฏเตเดฏเตเดฎเตเดชเตเตพ เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเด เดฐเตเดคเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเต. เดนเดพเตปเดกเตเดฒเตผ CallbackQueryHandler เดฐเดฃเตเดเต เดตเดพเดฆเดเตเดเตพ เดเดเตเดเตเดเตเดจเตเดจเต:
callback
- เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดฃเตเด เดฐเตเดคเดฟpattern
โ เดเดฐเต เดเตผเดเตเดฏเตเดฎเตเดจเตเดฑเต เดเดชเดฏเตเดเดฟเดเตเดเต เดฌเดเตเดเดฃเดฟเดฒเตเดเตเดเต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดกเดพเดฑเตเดฑ เดชเตเดฐเดเดพเดฐเด เดซเดฟเตฝเดเตเดเตผ เดเตเดฏเตเดฏเตเดcallback_data
.
เด
เดคเดจเตเดธเดฐเดฟเดเตเดเต, เดตเดพเดฆเด เดเดชเดฏเตเดเดฟเดเตเดเต pattern
เดเดฐเต เดฌเดเตเดเดฃเตเด เด
เดฎเตผเดคเตเดคเตเดจเตเดจเดคเดฟเดจเต เดจเดฎเตเดเตเดเต เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดฐเตเดคเดฟ เดเดดเตเดคเดพเด:
เดเตเดกเต 3: เดเดฐเต เดเตปเดฒเตเตป เดฌเดเตเดเดฃเดฟเดจเตเด เดชเตเดฐเดคเตเดฏเตเด เดฐเตเดคเดฟเดเตพ
library(telegram.bot)
# ัะพะทะดะฐัะผ ัะบะทะตะผะฟะปัั ะบะปะฐััะฐ Updater
updater <- Updater('ะขะะะะ ะะะจะะะ ะะะขะ')
# ะผะตัะพะด ะดะปั ะพัะฟัะฐะฒะบะธ InLine ะบะปะฐะฒะธะฐัััั
test <- function(bot, update) {
# ัะพะทะดะฐัะผ InLine ะบะปะฐะฒะธะฐัััั
IKM <- InlineKeyboardMarkup(
inline_keyboard = list(
list(
InlineKeyboardButton("ะะฐ", callback_data = 'yes'),
InlineKeyboardButton("ะะตั", callback_data = 'no')
)
)
)
# ะัะฟัะฐะฒะปัะตะผ ะบะปะฐะฒะธะฐัััั ะฒ ัะฐั
bot$sendMessage(update$message$chat_id,
text = "ะั ะฑะพะปะตัะต ะบะพัะพะฝะฐะฒะธัััะพะผ?",
reply_markup = IKM)
}
# ะผะตัะพะด ะดะปั ะพะฑัะฐะฑะพัะบะธ ะฝะฐะถะฐัะธั ะบะฝะพะฟะบะธ ะะฐ
answer_cb_yes <- function(bot, update) {
# ะฟะพะปััะฐะตะผ ะธะผั ะฟะพะปัะทะพะฒะฐัะตะปั, ะฝะฐะถะฐะฒัะตะณะพ ะบะฝะพะฟะบั
uname <- update$effective_user()$first_name
# ะพะฑัะฐะฑะพัะบะฐ ัะตะทัะปััะฐัะฐ
msg <- paste0(uname, ", ะบ ัะพะถะฐะปะตะฝะธ ะฒะฐั ัะตะบัั ะฝะฐ covid-19 ะฟะพะปะพะถะธัะตะปัะฝัะน.")
# ะัะฟัะฐะฒะบะฐ ัะพะพะฑัะตะฝะธั
bot$sendMessage(chat_id = update$from_chat_id(),
text = msg)
# ัะพะพะฑัะฐะตะผ ะฑะพัั, ััะพ ะทะฐะฟัะพั ั ะบะฝะพะฟะบะธ ะฟัะธะฝัั
bot$answerCallbackQuery(callback_query_id = update$callback_query$id)
}
# ะผะตัะพะด ะดะปั ะพะฑัะฐะฑะพัะบะธ ะฝะฐะถะฐัะธั ะบะฝะพะฟะบะธ ะะตั
answer_cb_no <- function(bot, update) {
# ะฟะพะปััะฐะตะผ ะธะผั ะฟะพะปัะทะพะฒะฐัะตะปั, ะฝะฐะถะฐะฒัะตะณะพ ะบะฝะพะฟะบั
uname <- update$effective_user()$first_name
msg <- paste0(uname, ", ะฟะพะทะดัะฐะฒะปัั, ะฒะฐั ัะตะบัั ะฝะฐ covid-19 ะพััะธัะฐัะตะปัะฝัะน.")
# ะัะฟัะฐะฒะบะฐ ัะพะพะฑัะตะฝะธั
bot$sendMessage(chat_id = update$from_chat_id(),
text = msg)
# ัะพะพะฑัะฐะตะผ ะฑะพัั, ััะพ ะทะฐะฟัะพั ั ะบะฝะพะฟะบะธ ะฟัะธะฝัั
bot$answerCallbackQuery(callback_query_id = update$callback_query$id)
}
# ัะพะทะดะฐัะผ ะพะฑัะฐะฑะพััะธะบะธ
inline_h <- CommandHandler('test', test)
query_handler_yes <- CallbackQueryHandler(answer_cb_yes, pattern = 'yes')
query_handler_no <- CallbackQueryHandler(answer_cb_no, pattern = 'no')
# ะดะพะฑะฐะฒะปัะตะผ ะพะฑัะฐะฑะพััะธะบะธ ะฒ ะดะธัะฟะตััะตั
updater <- updater +
inline_h +
query_handler_yes +
query_handler_no
# ะทะฐะฟััะบะฐะตะผ ะฑะพัะฐ
updater$start_polling()
เดเดคเดฟเดฒเตเดเต เดฌเตเดเตเดเต เดธเตเดทเตเดเดฟเดเตเดเตเดฎเตเดชเตเตพ เดจเดฟเดเตเดเตพเดเตเดเต เดฒเดญเดฟเดเตเด เดฏเดฅเดพเตผเดคเตเดฅ เดเตเดเตเดเตบ เดเดชเดฏเตเดเดฟเดเตเดเต 'Your BOT TOKEN' เดฎเดพเดฑเตเดฑเดฟ เดชเดเดฐเด เดฎเตเดเดณเดฟเดฒเต เดเตเดกเต เดเดฆเดพเดนเดฐเดฃเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเด เดฌเตเดเตเดเตเดซเดพเดฆเตผ (เดเดพเตป เดเดฐเต เดฌเตเดเตเดเต เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเต เดธเดเดธเดพเดฐเดฟเดเตเดเต
เดเดฆเตเดฏ เดฒเตเดเดจเด ).
เดเดชเตเดชเตเตพ เดเดเตเดเตพ 2 เดตเตเดฏเดคเตเดฏเดธเตเดค เดฐเตเดคเดฟเดเตพ เดเดดเตเดคเดฟเดฏเดฟเดเตเดเตเดฃเตเดเต, เด
เดคเดพเดฏเดคเต. เดเดฐเต เดฐเตเดคเดฟ, เดเดฐเต เดฌเดเตเดเตบ เด
เดฎเตผเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเด, เดเตผเดเตเดฏเตเดฎเตเดจเตเดฑเต เดเดชเดฏเตเดเดฟเดเตเดเต pattern
, เด
เดตเดฐเตเดเต เดนเดพเตปเดกเตเดฒเดฑเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเดฎเตเดชเตเตพ:
query_handler_yes <- CallbackQueryHandler(answer_cb_yes, pattern = 'yes')
query_handler_no <- CallbackQueryHandler(answer_cb_no, pattern = 'no')
เดฐเตเดคเดฟ เดเตเดกเต เด
เดตเดธเดพเดจเดฟเดเตเดเตเดจเตเดจเต เดเดคเตเดคเดฐเด_เดธเดฟเดฌเดฟ เดเตเด bot$answerCallbackQuery(callback_query_id = update$callback_query$id)
, เดเดคเต เดเตปเดฒเตเตป เดเตเดฌเตเตผเดกเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดกเดพเดฑเตเดฑ เดฒเดญเดฟเดเตเดเดคเดพเดฏเดฟ เดฌเตเดเตเดเดฟเดจเตเดเต เดชเดฑเดฏเตเดจเตเดจเต.
เดคเดฟเดฐเดเตเดเตเดเตเดคเตเดค เดจเดเดฐเดคเตเดคเดฟเดจเตเดฑเต เดจเดฟเดฒเดตเดฟเดฒเต เดเดพเดฒเดพเดตเดธเตเดฅ เดฑเดฟเดชเตเดชเตเตผเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจ เดฌเตเดเตเดเดฟเดจเตเดฑเต เดเดฆเดพเดนเดฐเดฃเด
เดเดพเดฒเดพเดตเดธเตเดฅเดพ เดกเดพเดฑเตเดฑ เด เดญเตเดฏเตผเดคเตเดฅเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดฌเตเดเตเดเต เดเดดเตเดคเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเดพเด.
เด
เดคเดฟเดจเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเตเดฑเต เดฏเตเดเตเดคเดฟ เดเดชเตเดฐเดเดพเดฐเดฎเดพเดฏเดฟเดฐเดฟเดเตเดเตเด. เดคเตเดเดเตเดเดคเตเดคเดฟเตฝ เดเตเดฎเดพเดฃเต /start
เดเดฐเต "เดเดพเดฒเดพเดตเดธเตเดฅ" เดฌเดเตเดเตบ เดฎเดพเดคเตเดฐเดฎเตเดณเตเดณ เดชเตเดฐเดงเดพเดจ เดเตเดฌเตเตผเดกเดฟเดจเต เดจเดฟเดเตเดเตพ เดตเดฟเดณเดฟเดเตเดเตเดจเตเดจเต. เด เดฌเดเตเดเดฃเดฟเตฝ เดเตเดฒเดฟเดเตเดเตเดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดฒเตเดเต, เดจเดฟเดฒเดตเดฟเดฒเต เดเดพเดฒเดพเดตเดธเตเดฅ เดเดฃเตเดเตเดคเตเดคเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจ เดจเดเดฐเด เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเตปเดฒเตเตป เดเตเดฌเตเตผเดกเต เดธเดนเดฟเดคเดฎเตเดณเตเดณ เดเดฐเต เดธเดจเตเดฆเตเดถเด เดจเดฟเดเตเดเตพเดเตเดเต เดฒเดญเดฟเดเตเดเตเด. เดจเดเดฐเดเตเดเดณเดฟเดฒเตเดจเตเดจเต เดคเดฟเดฐเดเตเดเตเดเตเดคเตเดคเต เดจเดฟเดฒเดตเดฟเดฒเต เดเดพเดฒเดพเดตเดธเตเดฅ เดจเตเดเตเด.
เด เดเตเดกเต เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ เดเดเตเดเตพ เดจเดฟเดฐเดตเดงเดฟ เด เดงเดฟเด เดชเดพเดเตเดเตเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเด:
httr
- เดเดเตเดเตเดเดฟเดเดฟเดชเดฟ เด เดญเตเดฏเตผเดคเตเดฅเดจเดเตพเดเตเดเตเดชเตเดชเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฐเต เดชเดพเดเตเดเตเดเต, เดเดคเต เดเดชเดฟเดเดฏเตเดฎเดพเดฏเตเดณเตเดณ เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเตเดฑเต เด เดเดฟเดธเตเดฅเดพเดจเดคเตเดคเดฟเดฒเดพเดฃเต เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเดคเต. เดเดเตเดเดณเตเดเต เดเดพเดฐเตเดฏเดคเตเดคเดฟเตฝ เดเดเตเดเตพ เดธเตเดเดจเตเดฏ API เดเดชเดฏเตเดเดฟเดเตเดเตเดopenweathermap.org .stringr
โ เดเตเดเตเดธเตเดฑเตเดฑเตเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฐเต เดชเดพเดเตเดเตเดเต, เดเดเตเดเดณเตเดเต เดเดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดคเดฟเดฐเดเตเดเตเดเตเดคเตเดค เดจเดเดฐเดคเตเดคเดฟเดฒเต เดเดพเดฒเดพเดตเดธเตเดฅเดฏเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดเดฐเต เดธเดจเตเดฆเตเดถเด เดธเตเดทเตเดเดฟเดเตเดเดพเตป เดเดเตเดเตพ เด เดคเต เดเดชเดฏเตเดเดฟเดเตเดเตเด.
เดเตเดกเต 4: เดคเดฟเดฐเดเตเดเตเดเตเดคเตเดค เดจเดเดฐเดคเตเดคเดฟเดจเตเดฑเต เดจเดฟเดฒเดตเดฟเดฒเต เดเดพเดฒเดพเดตเดธเตเดฅ เดฑเดฟเดชเตเดชเตเตผเดเตเดเตเดเตเดฏเตเดฏเตเดจเตเดจ เดเดฐเต เดฌเตเดเตเดเต
library(telegram.bot)
library(httr)
library(stringr)
# ัะพะทะดะฐัะผ ัะบะทะตะผะฟะปัั ะบะปะฐััะฐ Updater
updater <- Updater('ะขะะะะ ะะะจะะะ ะะะขะ')
# ัะพะทะดะฐัะผ ะผะตัะพะดั
## ะผะตัะพะด ะดะปั ะทะฐะฟััะบะฐ ะพัะฝะพะฒะฝะพะน ะบะปะฐะฒะธะฐัััั
start <- function(bot, update) {
# ัะพะทะดะฐัะผ ะบะปะฐะฒะธะฐัััั
RKM <- ReplyKeyboardMarkup(
keyboard = list(
list(
KeyboardButton("ะะพะณะพะดะฐ")
)
),
resize_keyboard = TRUE,
one_time_keyboard = TRUE
)
# ะพัะฟัะฐะฒะปัะตะผ ะบะปะฐะฒะธะฐัััั
bot$sendMessage(update$message$chat_id,
text = 'ะัะฑะตัะธัะต ะบะพะผะฐะฝะดั',
reply_markup = RKM)
}
## ะะตัะพะด ะฒัะทะพะฒะฐ Inine ะบะปะฐะฒะธะฐัััั
weather <- function(bot, update) {
IKM <- InlineKeyboardMarkup(
inline_keyboard = list(
list(
InlineKeyboardButton(text = 'ะะพัะบะฒะฐ', callback_data = 'New York,us'),
InlineKeyboardButton(text = 'ะกะฐะฝะบั-ะะตัะตัะฑััะณ', callback_data = 'Saint Petersburg'),
InlineKeyboardButton(text = 'ะัั-ะะพัะบ', callback_data = 'New York')
),
list(
InlineKeyboardButton(text = 'ะะบะฐัะตัะธะฝะฑััะณ', callback_data = 'Yekaterinburg,ru'),
InlineKeyboardButton(text = 'ะะตัะปะธะฝ', callback_data = 'Berlin,de'),
InlineKeyboardButton(text = 'ะะฐัะธะถ', callback_data = 'Paris,fr')
),
list(
InlineKeyboardButton(text = 'ะ ะธะผ', callback_data = 'Rome,it'),
InlineKeyboardButton(text = 'ะะดะตััะฐ', callback_data = 'Odessa,ua'),
InlineKeyboardButton(text = 'ะะธะตะฒ', callback_data = 'Kyiv,fr')
),
list(
InlineKeyboardButton(text = 'ะขะพะบะธะพ', callback_data = 'Tokyo'),
InlineKeyboardButton(text = 'ะะผััะตัะดะฐะผ', callback_data = 'Amsterdam,nl'),
InlineKeyboardButton(text = 'ะะฐัะธะฝะณัะพะฝ', callback_data = 'Washington,us')
)
)
)
# Send Inline Keyboard
bot$sendMessage(chat_id = update$message$chat_id,
text = "ะัะฑะตัะธัะต ะณะพัะพะด",
reply_markup = IKM)
}
# ะผะตัะพะด ะดะปั ัะพะพะฑัะตะฝะธั ะฟะพะณะพะดั
answer_cb <- function(bot, update) {
# ะฟะพะปััะฐะตะผ ะธะท ัะพะพะฑัะตะฝะธั ะณะพัะพะด
city <- update$callback_query$data
# ะพัะฟัะฐะฒะปัะตะผ ะทะฐะฟัะพั
ans <- GET('https://api.openweathermap.org/data/2.5/weather',
query = list(q = city,
lang = 'ru',
units = 'metric',
appid = '4776568ccea136ffe4cda9f1969af340'))
# ะฟะฐััะธะผ ะพัะฒะตั
result <- content(ans)
# ัะพัะผะธััะตะผ ัะพะพะฑัะตะฝะธะต
msg <- str_glue("{result$name} ะฟะพะณะพะดะฐ:n",
"ะขะตะบััะฐั ัะตะผะฟะตัะฐัััะฐ: {result$main$temp}n",
"ะกะบะพัะพััั ะฒะตััะฐ: {result$wind$speed}n",
"ะะฟะธัะฐะฝะธะต: {result$weather[[1]]$description}")
# ะพัะฟัะฐะฒะปัะตะผ ะธะฝัะพัะผะฐัะธั ะพ ะฟะพะณะพะดะต
bot$sendMessage(chat_id = update$from_chat_id(),
text = msg)
bot$answerCallbackQuery(callback_query_id = update$callback_query$id)
}
# ัะพะทะดะฐัะผ ัะธะปัััั
## ัะพะพะฑัะตะฝะธั ั ัะตะบััะพะผ ะะพะณะพะดะฐ
MessageFilters$weather <- BaseFilter(function(message) {
# ะฟัะพะฒะตััะตะผ ัะตะบัั ัะพะพะฑัะตะฝะธั
message$text == "ะะพะณะพะดะฐ"
}
)
# ัะพะทะดะฐัะผ ะพะฑัะฐะฑะพััะธะบะธ
h_start <- CommandHandler('start', start)
h_weather <- MessageHandler(weather, filters = MessageFilters$weather)
h_query_handler <- CallbackQueryHandler(answer_cb)
# ะดะพะฑะฐะฒะปัะตะผ ะพะฑัะฐะฑะพััะธะบะธ ะฒ ะดะธัะฟะตััะตั
updater <- updater +
h_start +
h_weather +
h_query_handler
# ะทะฐะฟััะบะฐะตะผ ะฑะพัะฐ
updater$start_polling()
เดเดคเดฟเดฒเตเดเต เดฌเตเดเตเดเต เดธเตเดทเตเดเดฟเดเตเดเตเดฎเตเดชเตเตพ เดจเดฟเดเตเดเตพเดเตเดเต เดฒเดญเดฟเดเตเด เดฏเดฅเดพเตผเดคเตเดฅ เดเตเดเตเดเตบ เดเดชเดฏเตเดเดฟเดเตเดเต 'Your BOT TOKEN' เดฎเดพเดฑเตเดฑเดฟ เดชเดเดฐเด เดฎเตเดเดณเดฟเดฒเต เดเตเดกเต เดเดฆเดพเดนเดฐเดฃเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเด เดฌเตเดเตเดเตเดซเดพเดฆเตผ (เดเดพเตป เดเดฐเต เดฌเตเดเตเดเต เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเต เดธเดเดธเดพเดฐเดฟเดเตเดเต
เดเดฆเตเดฏ เดฒเตเดเดจเด ).
เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดเดเตเดเดณเตเดเต เดฌเตเดเตเดเต เดเดคเตเดชเตเดฒเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเด:
เดเดธเตเดคเตเดฐเดฟเดคเดฎเดพเดฏเดฟ, เด เดฌเตเดเตเดเดฟเดจเต เดเดคเตเดชเตเดฒเต เดเดฟเดคเตเดฐเตเดเดฐเดฟเดเตเดเดพเด:
เดเดเตเดเดณเตเดเต เดเดพเดฒเดพเดตเดธเตเดฅ เดฌเตเดเตเดเดฟเตฝ เดฒเดญเตเดฏเดฎเดพเดฏ 3 เดฐเตเดคเดฟเดเตพ เดเดเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเต:
- เดคเตเดเดเตเดเด - เดชเตเดฐเดงเดพเดจ เดฌเตเดเตเดเต เดเตเดฌเตเตผเดกเต เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเด
- เดเดพเดฒเดพเดตเดธเตเดฅ โ เดเดฐเต เดจเดเดฐเด เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเดพเตป เดเตปเดฒเตเตป เดเตเดฌเตเตผเดกเต เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเด
- เดเดคเตเดคเดฐเด_เดธเดฟเดฌเดฟ - เดจเตฝเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดจเดเดฐเดคเตเดคเดฟเดจเดพเดฏเดฟ API-เดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดพเดฒเดพเดตเดธเตเดฅ เด เดญเตเดฏเตผเดคเตเดฅเดฟเดเตเดเตเดเดฏเตเด เด เดคเต เดเดพเดฑเตเดฑเดฟเดฒเตเดเตเดเต เด เดฏเดฏเตเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจ เดชเตเดฐเดงเดพเดจ เดฐเตเดคเดฟ.
เดฐเตเดคเดฟ เดคเตเดเดเตเดเด เดเดเตเดเตพ เด
เดคเต เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเต /start
, เดเดคเต เดนเดพเตปเดกเตเดฒเตผ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดจเตเดจเต CommandHandler('start', start)
.
เดเดฐเต เดฐเตเดคเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดเดพเดฒเดพเดตเดธเตเดฅ เดเดเตเดเตพ เด เดคเต เดชเตเดฐเดฟเตฝ เดเดฐเต เดซเดฟเตฝเดเตเดเตผ เดธเตเดทเตเดเดฟเดเตเดเต:
# ัะพะทะดะฐัะผ ัะธะปัััั
## ัะพะพะฑัะตะฝะธั ั ัะตะบััะพะผ ะะพะณะพะดะฐ
MessageFilters$weather <- BaseFilter(function(message) {
# ะฟัะพะฒะตััะตะผ ัะตะบัั ัะพะพะฑัะตะฝะธั
message$text == "ะะพะณะพะดะฐ"
}
)
เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดธเดจเตเดฆเตเดถ เดนเดพเตปเดกเตโเดฒเตผ เดเดชเดฏเตเดเดฟเดเตเดเต เดเดเตเดเตพ เด เดฐเตเดคเดฟเดฏเต เดตเดฟเดณเดฟเดเตเดเตเดจเตเดจเต: MessageHandler(weather, filters = MessageFilters$weather)
.
เด
เดตเดธเดพเดจเด, เดเดเตเดเดณเตเดเต เดชเตเดฐเดงเดพเดจ เดฐเตเดคเดฟ เดเดคเตเดคเดฐเด_เดธเดฟเดฌเดฟ เดเตปเดฒเตเตป เดฌเดเตเดเดฃเตเดเตพ เด
เดฎเตผเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเดเต เดชเตเดฐเดคเดฟเดเดฐเดฟเดเตเดเตเดจเตเดจเต, เดเดคเต เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดนเดพเตปเดกเตโเดฒเตผ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดจเตเดจเต: CallbackQueryHandler(answer_cb)
.
เดเดฐเต เดฐเตเดคเดฟเดฏเตเดเต เดเดณเตเดณเดฟเตฝ เดเดคเตเดคเดฐเด_เดธเดฟเดฌเดฟ, เดเดเตเดเตพ เดเตเดฌเตเตผเดกเดฟเตฝ เดจเดฟเดจเตเดจเต เด
เดฏเดเตเด เดกเดพเดฑเตเดฑ เดตเดพเดฏเดฟเดเตเดเตเดเดฏเตเด เดเดฐเต เดตเตเดฐเดฟเดฏเดฌเดฟเดณเดฟเดฒเตเดเตเดเต เดเดดเตเดคเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต city
: city <- update$callback_query$data
. เดคเตเดเตผเดจเตเดจเต เดเดเตเดเตพ API-เดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดพเดฒเดพเดตเดธเตเดฅเดพ เดกเดพเดฑเตเดฑ เด
เดญเตเดฏเตผเดคเตเดฅเดฟเดเตเดเตเดเดฏเตเด เดเดฐเต เดธเดจเตเดฆเตเดถเด เดเดจเดฑเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดเดฏเตเด เด
เดฏเดฏเตเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด, เด
เดตเดธเดพเดจเด เดฐเตเดคเดฟ เดเดชเดฏเตเดเดฟเดเตเดเตเด answerCallbackQuery
เดเดเตเดเตพ เดเตปเดฒเตเตป เดฌเดเตเดเดฃเดฟเดจเตเดฑเต เดเตเดฒเดฟเดเตเดเต เดชเตเดฐเตเดธเดธเตเดธเต เดเตเดฏเตเดคเตเดตเตเดจเตเดจเต เดฌเตเดเตเดเดฟเดจเต เด
เดฑเดฟเดฏเดฟเดเตเดเดพเตป.
เดจเดฟเตผเดฆเตเดฆเดฟเดทเตโเด เดนเดฌเตเดฌเดฟเดฒเตเดเตเดเตเดณเตเดณ เดฒเดฟเดเตเดเตเดเดณเตเดณเตเดณ เดเดฑเตเดฑเดตเตเด เดชเตเดคเดฟเดฏ เดฒเตเดเดจเดเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจ เดฌเตเดเตเดเดฟเดจเตเดฑเต เดเดฐเต เดเดฆเดพเดนเดฐเดฃเด www.habr.com .
เดตเตเดฌเต เดชเตเดเตเดเดณเดฟเดฒเตเดเตเดเต เดจเดฏเดฟเดเตเดเตเดจเตเดจ เดเตปเดฒเตเตป เดฌเดเตเดเดฃเตเดเตพ เดเดเตเดเดจเต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเดพเดฎเตเดจเตเดจเต เดเดพเดฃเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเดพเดฃเต เดเดพเตป เด เดฌเตเดเตเดเต เด เดตเดคเดฐเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเต.
เด เดฌเตเดเตเดเดฟเดจเตเดฑเต เดฒเตเดเดฟเดเต เดฎเตเดฎเตเดชเดคเตเดคเตเดคเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฃเต; เดคเตเดเดเตเดเดคเตเดคเดฟเตฝ เดเดเตเดเตพ เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต เดชเตเดฐเดงเดพเดจ เดเตเดฌเตเตผเดกเต เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเต /start
. เด
เดเตเดคเตเดคเดคเดพเดฏเดฟ, เดฌเตเดเตเดเต เดเดเตเดเตพเดเตเดเต เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเดพเดจเตเดณเตเดณ 6 เดนเดฌเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดจเตฝเดเตเดจเตเดจเต, เดเดเตเดเตพเดเตเดเต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดณเตเดณ เดนเดฌเต เดเดเตเดเตพ เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตเดเดฏเตเด เดคเดฟเดฐเดเตเดเตเดเตเดคเตเดค เดนเดฌเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฑเตเดฑเดตเตเด เดชเตเดคเดฟเดฏ 5 เดชเตเดฐเดธเดฟเดฆเตเดงเตเดเดฐเดฃเดเตเดเตพ เดธเตเดตเตเดเดฐเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต.
เดจเดฟเดเตเดเตพ เดฎเดจเดธเตเดธเดฟเดฒเดพเดเตเดเตเดจเตเดจเดคเตเดชเตเดฒเต, เด เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ เดเดเตเดเตพเดเตเดเต เดฒเตเดเดจเดเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดฒเดญเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต, เดเดคเดฟเดจเดพเดฏเดฟ เดเดเตเดเตพ เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดชเดพเดเตเดเตเดเต เดเดชเดฏเตเดเดฟเดเตเดเตเด habR
, เดนเดฌเตเดฐเดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฒเตเดเดจเดเตเดเดณเตเด เด
เดตเดฏเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดเดฟเดฒ เดธเตเดฅเดฟเดคเดฟเดตเดฟเดตเดฐเดเตเดเดฃเดเตเดเตเดเดณเตเด R-เตฝ เด
เดญเตเดฏเตผเดคเตเดฅเดฟเดเตเดเดพเตป เดจเดฟเดเตเดเดณเต เด
เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต.
เดชเดพเดเตเดเตเดเต เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเตเด habR
github-เตฝ เดจเดฟเดจเตเดจเต เดฎเดพเดคเตเดฐเดฎเต เดธเดพเดงเตเดฏเดฎเดพเดเต, เด
เดคเดฟเดจเดพเดฏเดฟ เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต เด
เดงเดฟเด เดชเดพเดเตเดเตเดเต เดเดตเดถเตเดฏเดฎเดพเดฃเต devtools
. เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเดพเตป, เดเตเดตเดเตเดฏเตเดณเตเดณ เดเตเดกเต เดเดชเดฏเตเดเดฟเดเตเดเตเด.
install.packages('devtools')
devtools::install_github('selesnow/habR')
เดเดชเตเดชเตเตพ เดฎเตเดเดณเดฟเตฝ เดตเดฟเดตเดฐเดฟเดเตเด เดฌเตเดเตเดเต เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเตเดกเต เดจเตเดเตเดเดพเด:
เดเตเดกเต 5: เดคเดฟเดฐเดเตเดเตเดเตเดคเตเดค เดนเดฌเดฟเดฒเต เดเดฑเตเดฑเดตเตเด เดชเตเดคเดฟเดฏ เดฒเตเดเดจเดเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดฌเตเดเตเดเต
library(telegram.bot)
library(habR)
# ัะพะทะดะฐัะผ ัะบะทะตะผะฟะปัั ะบะปะฐััะฐ Updater
updater <- Updater('ะขะะะะ ะะะจะะะ ะะะขะ')
# ัะพะทะดะฐัะผ ะผะตัะพะดั
## ะผะตัะพะด ะดะปั ะทะฐะฟััะบะฐ ะพัะฝะพะฒะฝะพะน ะบะปะฐะฒะธะฐัััั
start <- function(bot, update) {
# ัะพะทะดะฐัะผ ะบะปะฐะฒะธะฐัััั
RKM <- ReplyKeyboardMarkup(
keyboard = list(
list(
KeyboardButton("ะกะฟะธัะพะบ ััะฐัะตะน")
)
),
resize_keyboard = TRUE,
one_time_keyboard = TRUE
)
# ะพัะฟัะฐะฒะปัะตะผ ะบะปะฐะฒะธะฐัััั
bot$sendMessage(update$message$chat_id,
text = 'ะัะฑะตัะธัะต ะบะพะผะฐะฝะดั',
reply_markup = RKM)
}
## ะะตัะพะด ะฒัะทะพะฒะฐ Inine ะบะปะฐะฒะธะฐัััั
habs <- function(bot, update) {
IKM <- InlineKeyboardMarkup(
inline_keyboard = list(
list(
InlineKeyboardButton(text = 'R', callback_data = 'R'),
InlineKeyboardButton(text = 'Data Mining', callback_data = 'data_mining'),
InlineKeyboardButton(text = 'Data Engineering', callback_data = 'data_engineering')
),
list(
InlineKeyboardButton(text = 'Big Data', callback_data = 'bigdata'),
InlineKeyboardButton(text = 'Python', callback_data = 'python'),
InlineKeyboardButton(text = 'ะะธะทัะฐะปะธะทะฐัะธั ะดะฐะฝะฝัั
', callback_data = 'data_visualization')
)
)
)
# Send Inline Keyboard
bot$sendMessage(chat_id = update$message$chat_id,
text = "ะัะฑะตัะธัะต ะฅะฐะฑ",
reply_markup = IKM)
}
# ะผะตัะพะด ะดะปั ัะพะพะฑัะตะฝะธั ะฟะพะณะพะดั
answer_cb <- function(bot, update) {
# ะฟะพะปััะฐะตะผ ะธะท ัะพะพะฑัะตะฝะธั ะณะพัะพะด
hub <- update$callback_query$data
# ัะพะพะฑัะตะฝะธะต ะพ ัะพะผ, ััะพ ะดะฐะฝะฝัะต ะฟะพ ะบะฝะพะฟะบะต ะฟะพะปััะตะฝั
bot$answerCallbackQuery(callback_query_id = update$callback_query$id,
text = 'ะะพะดะพะถะดะธัะต ะฝะตัะบะพะปัะบะพ ะผะธะฝัั, ะทะฐะฟัะพั ะพะฑัะฐะฑะฐััะฒะฐะตััั')
# ัะพะพะฑัะตะฝะธะต ะพ ัะพะผ, ััะพ ะฝะฐะดะพ ะฟะพะดะพะถะดะฐัั ะฟะพะบะฐ ะฑะพั ะฟะพะปััะธั ะดะฐะฝะฝัะต
mid <- bot$sendMessage(chat_id = update$from_chat_id(),
text = "ะะพะดะพะถะดะธัะต ะฝะตัะบะพะปัะบะพ ะผะธะฝัั ะฟะพะบะฐ, ั ัะพะฑะตัั ะดะฐะฝะฝัะต ะฟะพ ะฒัะฑัะฐะฝะฝะพะผั ะฅะฐะฑั")
# ะฟะฐััะธะผ ะฅะฐะฑั
posts <- head(habr_hub_posts(hub, 1), 5)
# ัะดะฐะปัะตะผ ัะพะพะฑัะตะฝะธะต ะพ ัะพะผ, ััะพ ะฝะฐะดะพ ะฟะพะดะพะถะดะฐัั
bot$deleteMessage(update$from_chat_id(), mid$message_id)
# ัะพัะผะธััะตะผ ัะฟะธัะพะบ ะบะฝะพะฟะพะบ
keys <- lapply(1:5, function(x) list(InlineKeyboardButton(posts$title[x], url = posts$link[x])))
# ัะพัะผะธััะตะผ ะบะปะฐะฒะธะฐัััั
IKM <- InlineKeyboardMarkup(
inline_keyboard = keys
)
# ะพัะฟัะฐะฒะปัะตะผ ะธะฝัะพัะผะฐัะธั ะพ ะฟะพะณะพะดะต
bot$sendMessage(chat_id = update$from_chat_id(),
text = paste0("5 ะฝะฐะธะฑะพะปะตะต ัะฒะตะถะธั
ััะฐัะตะน ะธะท ะฅะฐะฑะฐ ", hub),
reply_markup = IKM)
}
# ัะพะทะดะฐัะผ ัะธะปัััั
## ัะพะพะฑัะตะฝะธั ั ัะตะบััะพะผ ะะพะณะพะดะฐ
MessageFilters$hubs <- BaseFilter(function(message) {
# ะฟัะพะฒะตััะตะผ ัะตะบัั ัะพะพะฑัะตะฝะธั
message$text == "ะกะฟะธัะพะบ ััะฐัะตะน"
}
)
# ัะพะทะดะฐัะผ ะพะฑัะฐะฑะพััะธะบะธ
h_start <- CommandHandler('start', start)
h_hubs <- MessageHandler(habs, filters = MessageFilters$hubs)
h_query_handler <- CallbackQueryHandler(answer_cb)
# ะดะพะฑะฐะฒะปัะตะผ ะพะฑัะฐะฑะพััะธะบะธ ะฒ ะดะธัะฟะตััะตั
updater <- updater +
h_start +
h_hubs +
h_query_handler
# ะทะฐะฟััะบะฐะตะผ ะฑะพัะฐ
updater$start_polling()
เดเดคเดฟเดฒเตเดเต เดฌเตเดเตเดเต เดธเตเดทเตเดเดฟเดเตเดเตเดฎเตเดชเตเตพ เดจเดฟเดเตเดเตพเดเตเดเต เดฒเดญเดฟเดเตเด เดฏเดฅเดพเตผเดคเตเดฅ เดเตเดเตเดเตบ เดเดชเดฏเตเดเดฟเดเตเดเต 'Your BOT TOKEN' เดฎเดพเดฑเตเดฑเดฟ เดชเดเดฐเด เดฎเตเดเดณเดฟเดฒเต เดเตเดกเต เดเดฆเดพเดนเดฐเดฃเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเด เดฌเตเดเตเดเตเดซเดพเดฆเตผ (เดเดพเตป เดเดฐเต เดฌเตเดเตเดเต เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเต เดธเดเดธเดพเดฐเดฟเดเตเดเต
เดเดฆเตเดฏ เดฒเตเดเดจเด ).
เดซเดฒเดฎเดพเดฏเดฟ, เดเดเตเดเตพเดเตเดเต เด เดซเดฒเด เดฒเดญเดฟเดเตเดเตเด:
เดฐเตเดคเดฟเดฏเดฟเตฝ เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเดพเตป เดฒเดญเตเดฏเดฎเดพเดฏ เดนเดฌเตเดเดณเตเดเต เดฒเดฟเดธเตเดฑเตเดฑเต เดเดเตเดเตพ เดนเดพเตผเดกเตเดเตเดกเต เดเตเดฏเตเดคเต habs
:
## ะะตัะพะด ะฒัะทะพะฒะฐ Inine ะบะปะฐะฒะธะฐัััั
habs <- function(bot, update) {
IKM <- InlineKeyboardMarkup(
inline_keyboard = list(
list(
InlineKeyboardButton(text = 'R', callback_data = 'r'),
InlineKeyboardButton(text = 'Data Mining', callback_data = 'data_mining'),
InlineKeyboardButton(text = 'Data Engineering', callback_data = 'data_engineering')
),
list(
InlineKeyboardButton(text = 'Big Data', callback_data = 'bigdata'),
InlineKeyboardButton(text = 'Python', callback_data = 'python'),
InlineKeyboardButton(text = 'ะะธะทัะฐะปะธะทะฐัะธั ะดะฐะฝะฝัั
', callback_data = 'data_visualization')
)
)
)
# Send Inline Keyboard
bot$sendMessage(chat_id = update$message$chat_id,
text = "ะัะฑะตัะธัะต ะฅะฐะฑ",
reply_markup = IKM)
}
เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเด เดนเดฌเตเดฌเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเดฎเตเดเตเดเต เดฒเตเดเดจเดเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดฒเดญเดฟเดเตเดเตเด habr_hub_posts()
, เดชเดพเดเตเดเตเดเดฟเตฝ เดจเดฟเดจเตเดจเต habR
. เด
เดคเตเดธเดฎเดฏเด, เดฎเตเดดเตเดตเตป เดธเดฎเดฏเดคเตเดคเตเดเตเดเตเดณเตเดณ เดฒเตเดเดจเดเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดเดเตเดเตพเดเตเดเต เดเดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ, 20 เดฒเตเดเดจเดเตเดเตพ เดธเตเดฅเดฟเดคเดฟเดเตเดฏเตเดฏเตเดจเตเดจ เดเดฆเตเดฏ เดชเตเดเต เดฎเดพเดคเตเดฐเดฎเต เดเดตเดถเตเดฏเดฎเตเดณเตเดณเต เดเดจเตเดจเต เดเดเตเดเตพ เดเตเดฃเตเดเดฟเดเตเดเดพเดฃเดฟเดเตเดเตเดจเตเดจเต. เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต เดฒเดญเดฟเดเตเด เดชเดเตเดเดฟเดเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต head()
เดเดฑเตเดฑเดตเตเด เดชเตเดคเดฟเดฏ เดฒเตเดเดจเดเตเดเดณเดพเดฏ เดเดฑเตเดฑเดตเตเด เดฎเดฟเดเดเตเด 5 เดฎเดพเดคเตเดฐเด เดเดเตเดเตพ เด
เดตเดถเตเดทเดฟเดเตเดเตเดจเตเดจเต.
# ะฟะฐััะธะผ ะฅะฐะฑั
posts <- head(habr_hub_posts(hub, 1), 5)
เดฒเตเดเดฟเดเตเดเต เดฎเตเดฎเตเดชเดคเตเดคเต เดฌเตเดเตเดเตเดฎเดพเดฏเดฟ เดตเดณเดฐเต เดธเดพเดฎเตเดฏเดฎเตเดณเตเดณเดคเดพเดฃเต, เดเดจเตเดจเดพเตฝ เด เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดซเดเดเตเดทเตป เดเดชเดฏเตเดเดฟเดเตเดเต เดเดฒเดจเดพเดคเตเดฎเดเดฎเดพเดฏเดฟ เดฒเตเดเดจเดเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดเดเตเดเตพ เดเดฐเต เดเตปเดฒเตเตป เดเตเดฌเตเตผเดกเต เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต. lapply()
.
# ัะพัะผะธััะตะผ ัะฟะธัะพะบ ะบะฝะพะฟะพะบ
keys <- lapply(1:5, function(x) list(InlineKeyboardButton(posts$title[x], url = posts$link[x])))
# ัะพัะผะธััะตะผ ะบะปะฐะฒะธะฐัััั
IKM <- InlineKeyboardMarkup(
inline_keyboard = keys
)
เดเดเตเดเตพ เดฒเตเดเดจเดคเตเดคเดฟเดจเตเดฑเต เดคเดฒเดเตเดเตเดเตเดเต เดฌเดเตเดเตบ เดเตเดเตเดธเตเดฑเตเดฑเดฟเดฒเตเดเตเดเต เดคเดฟเดฐเตเดเตเดจเตเดจเต posts$title[x]
เดตเดพเดฆเดคเตเดคเดฟเดฒเตเด url
เดฒเตเดเดจเดคเตเดคเดฟเดฒเตเดเตเดเตเดณเตเดณ เดฒเดฟเดเตเดเต: url = posts$link[x]
.
เด เดเตเดคเตเดคเดคเดพเดฏเดฟ, เดเดเตเดเตพ เดเดฐเต เดซเดฟเตฝเดเตเดเดฑเตเด เดนเดพเตปเดกเตโเดฒเดฑเตเดเดณเตเด เดธเตเดทเตเดเดฟเดเตเดเต เดเดเตเดเดณเตเดเต เดฌเตเดเตเดเต เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเต.
เดคเตเดฐเตเดฎเดพเดจเด
เดเดชเตเดชเตเตพ เดจเดฟเดเตเดเตพ เดเดดเตเดคเตเดจเตเดจ เดฌเตเดเตเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเดพเตป เดเตเดเตเดคเตฝ เดธเตเดเดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏเดฟเดฐเดฟเดเตเดเตเด, เดเดพเดฐเดฃเด เด เดต เดเดฎเดพเตปเดกเตเดเตพ เดจเตฝเดเตเดจเตเดจเดคเดฟเดจเตเดชเดเดฐเด เดเตเดฌเตเตผเดกเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดเตเดเดชเตเดชเตเดเตเด. เดเตเดฑเดเตเดเดคเต, เดเดฐเต เดธเตเดฎเดพเตผเดเตเดเตโเดซเตเตบ เดตเดดเดฟ เดเดฐเต เดฌเตเดเตเดเตเดฎเดพเดฏเดฟ เดเดเดชเดดเดเตเดฎเตเดชเตเตพ, เดเตเดฌเตเตผเดกเต เด เดคเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจ เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเต เดเดฃเตเดฏเดฎเดพเดฏเดฟ เดฒเดณเดฟเดคเดฎเดพเดเตเดเตเด.
เด เดเตเดคเตเดค เดฒเตเดเดจเดคเตเดคเดฟเตฝ, เดเดฐเต เดฌเตเดเตเดเตเดฎเดพเดฏเดฟ เดเดฐเต เดฒเตเดเดฟเดเตเดเตฝ เดกเดฏเดฒเตเดเต เดเดเตเดเดจเต เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเดพเดฎเตเดจเตเดจเตเด เดกเดพเดฑเตเดฑเดพเดฌเตเดธเตเดเดณเดฟเตฝ เดเดเตเดเดจเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดพเดฎเตเดจเตเดจเตเด เดเดเตเดเตพ เดเดฃเตเดเตเดคเตเดคเตเด.
เด เดตเดฒเดเดฌเด: www.habr.com