Π Bot
αα·αααααΆαααα·ααΈααΆαααααααααΆαααααΎααΆααααααααΎααΆα
αα
αααα»αα’αααααααααααα»ααααααααααΆαααααα ααΌα
αααααααα»αααΌαααααΆαα±ααα
αΆααααααΎαα’αΆαα’αααααααααααααααΆααααΈα’αΆααα½α
ααΎααααααΎαααΉαααααααααααΈααααααααΎα±αα bot ααααααΎααααα‘αΎααα·α αα·αααααααααΆαααΆααααααΆααααααααΆαα
ααΆ α αΎαααααααΆααααααΆαααααααα Updater
.
αααα»αα’αα‘α»ααααααα’ααααα ααΎαααΉαααααα bots ααΆαααααα½αα
ααα½α αααααααααααααααΉαααα’ααααΎααΆαααα·α
αααααααααΆααααααα±αα αα·ααααααΌααααααα αααααααΆααΎαα½ααααααα
αααα»ααααααααααααΆααααααα±ααααΊααΆα
α»ααααααΆα α α¬ααααααααΎααΆααααααααα
ααΆαααααα·αα·αααα·αααααα ααα»ααααααΌα
ααΈαα»α αααααααααα’αααααααΊααΎααααΈααααΆααα’αααααΆαα½αααΉαα
ααα»α
αααααΆαααααα
αα telegram.bot
ααΎααααΈαααααααΆααααα αΆααααΆαααααα½αααααα’αααα
α’αααααααΆααα’ααααΈαααααΈ "ααΆααααααααΆαααΌααααααΆα’αααα R"
ααΎααααααΎα bot α αΎαααααΎααΆααΎααααΈααααΎααΆααααα»αααΌαααα ααααααααΆαααΆααααααΆααααααααΆ αα·ααααααααΆααα bot
ααΆαα·ααΆ
ααααα·αααΎα’αααα
αΆααα’αΆααααααααΎααΆααα·ααΆααα·αααααα α’ααααααα ααααΆα
αΆααα’αΆααααααααΎαααααααα»α
ααααΆααα’αααααααΎαα αα α»ααααααααΆα α’ααααααααααΆα - α’ααααααααααΆα ααααααααΆααααααααΆααααΌααα bot α’ααααααααααααααΆααααααααΆ ααααΎαααΆαααΆαα’ααααα αα·αααααα ααΆαααααααααΆααααααααΆααΆαα½ααααΆαααΆαααααα ααααΎαααΆα bot αα ααααααΆαααααα ααα ααααΈααααα·ααααΆα
ααααΆααα’αααααααΎαα αα α»ααααααααΆα
Updater
ααΊααΆααααΆαααααααααΎα±ααααΆααΆααααααΆααααα½ααααααΆααα’ααααααα»αααΆαα’αα·αααααα Telegram bot α αΎαααααΎααααΆααααααααααααΆαα Dispetcher
. αα·α
αα
ααΆαααααΆαα Updater
ααΊααΎααααΈααα½αααΆαααΆαα’αΆαααααααΈ bot (αα
αααα»αα’ααααααα»α ααΎαααΆαααααΎαα·ααΈααΆααααααααααΆααααααααααααα getUpdates()
) α αΎαααααααα½αααΆααααααααααα
Dispetcher
.
αα
αααα»ααααααααααΆα Dispetcher
ααΆαα§ααααααααααααΆααααα’αααααΆααααααΎα α§α ααααα»ααααΆαα Handler
.
α’ααααααααααΆα - α’ααααααααααΆα
ααΆαα½αααΉαα§ααααααααααααΆααααα’ααααααααααα
Dispetcher
ααααα·αααα bot α
ααααααααΉαααα·ααΆαααααααααα αα
ααααααααα’αααααααααα
αααα»α telegram.bot
ααααααα§ααααααααααααΆαααΆααααααααααΌαααΆαααααααα
- MessageHandler - αααααα·ααΈαααααααααααΆα
- CommandHandler - αααααα·ααΈαααααααααααΆααααααααΆ
- CallbackQueryHandler - α§ααααααααααααΆααα·αααααααααααΆααααααΆαα α»α αααααΆαααααΎααΈαααα»ααααααΆα
- ErrorHandler - αααααα·ααΈαααααααΆαααα α»ααα αααααααΎαα»αααΆαα’αΆαααααααΈ bot
ααααααααΆααααααααΆααααΌααα bot α’ααααααααααααααΆααααααααΆ
ααααα·αααΎα’ααααα·αααααΆααααααΎ bots ααΈαα»ααα α αΎααα·αααΉαααΆα’αααΈααΆ command ααα commands αα
ααΆαα bot ααααΌαααααααΎαααααααΎαααααΆ forward /
ααΆαα»αααααα
ααΎαααΉαα
αΆααααααΎαααΆαα½αααΆααααααααΆααΆαααα i.e. ααααααααα bot ααααααΎαα±αααα·ααΆααα½ααααΈααΆαααΆααααααααΆ /hi
.
αααααΌα 1: αααααα bot α±αααα·ααΆααα½ααααΈ
library(telegram.bot)
# ΡΠΎΠ·Π΄Π°ΡΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° Updater
updater <- Updater('Π’ΠΠΠΠ ΠΠΠ¨ΠΠΠ ΠΠΠ’Π')
# ΠΠΈΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠ²ΠΈΡ
say_hello <- function(bot, update) {
# ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π½Π°Π΄ΠΎ ΠΏΠΎΠ·Π΄Π°ΡΠΎΠ²Π°ΡΡΡΡ
user_name <- update$message$from$first_name
# ΠΡΠΏΡΠ°Π²ΠΊΠ° ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
bot$sendMessage(update$message$chat_id,
text = paste0("ΠΠΎΡ ΠΏΠΎΡΡΠ΅Π½ΠΈΠ΅, ", user_name, "!"),
parse_mode = "Markdown")
}
# ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ
hi_hendler <- CommandHandler('hi', say_hello)
# Π΄ΠΎΠ±Π°Π»ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ
updater <- updater + hi_hendler
# Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π±ΠΎΡΠ°
updater$start_polling()
ααααΎαααΆαα§ααΆα αααααΌαααΆαααΎ αααααΆααααΈαααα½α 'YOUR BOT TOKEN' ααΆαα½αααΉααα·αα·ααααααααΆαα·ααααα’αααααΆαααα½ααα ααααααααΎα bot ααΆαααα ααΌα ααα ααα (αααα»αααΆααα·ααΆαα’αααΈααΆααααααΎα bot αα αααα»α
α’αααααααααΌα ).
αα·ααΈααΆααααα start_polling()
ΠΊΠ»Π°ΡΡΠ° Updater
αααααααΌαααΆαααααΎαα
α
α»ααααα
ααααααΌα α
αΆααααααΎαααααα·ααα»αααααΆαααΈαααα
ααααααΆαααααΎαα»α αα·αααααΎαααΆααα
αα
α»ααααααααΆαααΈ bot α
α₯α‘αΌααααααΌαααΎα Telegram α αΎααααααααΆααααααααΆααααΌααα
ααΆαα bot ααααααΎαα /hi
.
α₯α‘αΌαααα bot ααααααΎααααααΈααΆααααααααΆ /hi
α αΎαααΉαααΈααααααααΆααααααΎαα
ααΆααααααααΆααα ααααΎαααΆαααααΆααααααΎα bot ααΆααααααααααα’αΆα ααααΌαααΆααααα αΆαααΌα ααΆααααααα
- αααααΎαα§ααΆα αααααααααΆαα
Updater
; - ααΎααααααΎααα·ααΈααΆααααα i.e. αα»αααΆαααα bot ααααααΎαααΉαα’αα»ααααα αα
αααα»αα§ααΆα αααααΌααααααΊααΆαα»αααΆα
say_hello()
. αα»αααΆααααα’αααααΉαααααΎααΆαα·ααΈααΆααααα bot ααααΌαααααΆαα’αΆαα»αααααααΈααααααααΌαααΆα - bot ΠΈ ααααΎα±ααααΆαααααααα·ααααααΎααα½α - args. α’αΆαα»ααααα botαααααΊααΆ bot ααααα’ααα αααααΆααααα½αααααααΆ α’αααα’αΆα ααααΎαααααΆα ααααΎααΆα α¬ααααΎαα·ααΈαααααααααααααΆααααααΆαα bot α α’αΆαα»ααααα ααααΎα±ααααΆαααααα αααααΊααΆα’αααΈααα bot ααΆαααα½αααΈα’αααααααΎααααΆαα ααΆααα·ααα α’αααΈαααααΎαααΆαααα½ααα αααα»αα’αααααααααΌααααααααΎαα·ααΈααΆαααααgetUpdates()
. α’αΆαα»ααααα args α’αα»ααααΆαα±ααα’αααααααΎαααΆααα·αααααααααααααααααααΎαααα’αααααααΎααααΆαααα½αααΆαα½αααΉαααΆααααααααΆ ααΎαααΉααααααααα αααααΆααααααααααα·α αααααααα - ααΎααααααΎαα’ααααααααααΆα, i.e. ααΎαααααΆαααααααααΆαα’αααααααΎααααΆαααα½αα
ααα½αααΆαα½ααα·ααΈααΆααααααααααΆααααααΎααα
ααα αΆααα»αα ααααΆαα α’ααααααααααΆαααΊααΆααα ααααΉαααα·ααΆααααααα α
αα»αααΆα bot αα½αα
ααα½αα αααα»αα§ααΆα αααααααααΎα αααααΉααααααααααα»αααααΎααΆααααααααΆ
/hi
αα·αααααΌαααΆαα’αα»ααααααααααα»αhi_hendler <- CommandHandler('hi', say_hello)
. α’αΆαα»ααααααα»αααΆαααααΌαCommandHandler()
α’αα»ααααΆαα±ααα’ααααααααΆααααΆααααααααΆ αααα»αααααΈααααααΎααhi
ααα bot ααΉαααααΎαααα α’αΆαα»αααααααΈααΈαα’αα»ααααΆαα±ααα’ααααααααΆαααα·ααΈααΆααααα bot ααΎαααΉαα α αα·ααΈααΆαααααsay_hello
αααααΉαααααΌαααΆαααααα·ααααα·ααααα·αααΎα’αααααααΎααΆαα α ααΆααααααααΆαααααΆααααααΆαααα αααα»αα’αΆαα»αααααααααΌαα - αααααΆαααα ααΎαααααααα§ααααααααααααΆααααααΆααααααΎααα
α’ααααααααΌαααα§ααΆα αααααααΆααααααααΎαα
Updater
. α’αααβα’αΆα βααααααβα’αααβαααααααΆαβααΆαβαα·ααΈβααΆβα αααΎαβαααα»αβα§ααΆα αααβααΆαβααΎ αααα»αβααΆαβααααΎβαααααΆβααΆααααβαααα»αβαααβααααΎβαααααΆ+
, i.e.updater <- updater + hi_hendler
. ααΌα ααααΆααααααα’αΆα ααααΌαααΆαααααΎαααααααΎαα·ααΈααΆαααααadd_handler()
αααααΆαααααα·αααα·ααααααααΆααDispatcher
α’αααα’αΆα ααααΎααα·ααΈααΆαααααααΌα ααααupdater$dispatcher$add_handler()
; - ααΎαααααΎαααΆα bot αααααααΎααΆααααααααΆ
start_polling()
.
ααααΎαααΆαααΆαα’ααααα αα·αααααα
ααΎαααΆαααααααααααΈααααααααΎααΆααααααααΆαα bot ααα»αααααααααααααΎαααααΌαααΆα bot ααΎααααΈααααΎααααα·αααααΉαααααΆααααααααΆααα»ααααααα ααα»ααααααααΆαααΆαααααααΆαα½αα ααα½ααααααα ααΎααααΈααααΎααΌα αααα’αααααααΌαααααΎαααααα·ααΈαααααααΆαααΆα β αααααα·ααΈαααααααααααΆα.
ααααααΆ αααααα·ααΈαααααααααααΆα ααΉαααααΎααααα
ααΉαααΆαα
αΌαααΆααα’ααα ααΌα
αααα ααΆααΉαααΆααα§ααααααααααααΆαααΆαααααΌαααΆαααααΎαα½αααααΆααΆαα½ααααααα α
αΌαααΎααααααα bot α±αααα·ααΆαααΆααααΆααα½α αα·αααααΉααααα
ααΎααΆααααααααΆααα»ααααααα /hi
ααα»αααααααα
ααααααααΆααααα½ααααα»αα
ααααααΆαααααΆααααααααα
α‘αΎααα
αααα»αααΆααααααΆαααααΎαα
ααΆαα bot: ααααΆααα½α, ααααΆααα½α, ααααΆααα½α, hai, bonjour α
αααααΆαααααααα ααΎαααΉααα·αααααααα·ααΈααΆαααααααααΈαα ααααα... ααΎαααΆααα·ααΈααΆααααααα½αααα bot ααααΆααααααΎααα½α α αΎαα α’αααΈαααααΎαααααΌαααααΎααΊαααααΎαααααα αα·ααααααα·ααΈαααααααΆαααΆααααααααΌαααΆαα
αααααΌαααΈ 2α αααααααααααα·ααΈαααααααααααΆαα’ααααα αα·αααααα
library(telegram.bot)
# ΡΠΎΠ·Π΄Π°ΡΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° Updater
updater <- Updater('Π’ΠΠΠΠ ΠΠΠ¨ΠΠΠ ΠΠΠ’Π')
# ΠΠΈΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠ²ΠΈΡ
## ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΈΠ²Π΅ΡΠ²ΠΈΡ
say_hello <- function(bot, update) {
# ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π½Π°Π΄ΠΎ ΠΏΠΎΠ·Π΄Π°ΡΠΎΠ²Π°ΡΡΡΡ
user_name <- update$message$from$first_name
# ΠΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
bot$sendMessage(update$message$chat_id,
text = paste0("ΠΠΎΡ ΠΏΠΎΡΡΠ΅Π½ΠΈΠ΅, ", user_name, "!"),
parse_mode = "Markdown",
reply_to_message_id = update$message$message_id)
}
# ΡΠΎΠ·Π΄Π°ΡΠΌ ΡΠΈΠ»ΡΡΡΡ
MessageFilters$hi <- BaseFilter(function(message) {
# ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π»ΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ»ΠΎΠ²Π°: ΠΏΡΠΈΠ²Π΅Ρ, Π·Π΄ΡΠ°Π²ΡΡΠ²ΡΠΉ, ΡΠ°Π»ΡΡ, Ρ
Π°ΠΉ, Π±ΠΎΠ½ΠΆΡΡ
grepl(x = message$text,
pattern = 'ΠΏΡΠΈΠ²Π΅Ρ|Π·Π΄ΡΠ°Π²ΡΡΠ²ΡΠΉ|ΡΠ°Π»ΡΡ|Ρ
Π°ΠΉ|Π±ΠΎΠ½ΠΆΡΡ',
ignore.case = TRUE)
}
)
# ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ
hi_hendler <- CommandHandler('hi', say_hello) # ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρ hi
hi_txt_hnd <- MessageHandler(say_hello, filters = MessageFilters$hi)
# Π΄ΠΎΠ±Π°Π»ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π² Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ
updater <- updater +
hi_hendler +
hi_txt_hnd
# Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π±ΠΎΡΠ°
updater$start_polling()
ααααΎαααΆαα§ααΆα αααααΌαααΆαααΎ αααααΆααααΈαααα½α 'YOUR BOT TOKEN' ααΆαα½αααΉααα·αα·ααααααααΆαα·ααααα’αααααΆαααα½ααα ααααααααΎα bot ααΆαααα ααΌα ααα ααα (αααα»αααΆααα·ααΆαα’αααΈααΆααααααΎα bot αα αααα»α
α’αααααααααΌα ).
α₯α‘αΌαβαααβααΎαβααααΆααΆαβααααΎβααΆαβααΆβα
αααΎαβαα
βααΌαβαααβααΆαβααΆαααβααααΆααααβαααβααΆαβααΆαβααΆαβααΎαα
ααΌα
αααα ααΆααααΌα αα½αααΎαααΆααααααα bot αα·αααααΉααααα·ααΆαααααΆααα½αααα»ααααααα ααα»ααααααΎααααΈααααΎααααα
ααΉαααΆαααααΆααααα ααΎαααΆαααααΎααΆαααααααΎα’αΆαα»ααααα ααααΎααα_to_message_idαααααΆααα
αααα»ααα·ααΈααΆααααα sendMessage()
αααα’αααα
αΆαααΆα
αααααΌααααααααααααααΆααααΆααααα’αααα
ααααααΎαααα α’αααα’αΆα
ααα½αααΆαααααααααΆααααΆαααΌα
αααα update$message$message_id
.
ααα»ααααααΏαααααΆαααααααΎαααΆαααααΎααΊααααααααααααα
bot αααααααΎαα»αααΆα BaseFilter()
:
# ΡΠΎΠ·Π΄Π°ΡΠΌ ΡΠΈΠ»ΡΡΡΡ
MessageFilters$hi <- BaseFilter(
# Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ ΡΠΈΠ»ΡΡΡΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ
function(message) {
# ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π»ΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ»ΠΎΠ²Π° ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΡ
grepl(x = message$text,
pattern = 'ΠΏΡΠΈΠ²Π΅Ρ|Π·Π΄ΡΠ°Π²ΡΡΠ²ΡΠΉ|ΡΠ°Π»ΡΡ|Ρ
Π°ΠΉ|Π±ΠΎΠ½ΠΆΡΡ',
ignore.case = TRUE)
}
)
ααΌα αααα’ααααααα ααααΆααΆαααααααααΆαα αααααα αΆαααΆα αααααΌααααααααα ααααα» αααααααΆααααααααΌαα‘αΎαααΆααααα»αααΌα αα½αααααααααααααααααα½α ααΆααααα α αααα»αα§ααΆα αααααααααΎαα ααααααααα» αααααααΆα ααΎαααΆαααααααααΆαα»αα½αα hiαααβααΆβαααααβααααΈα
ααΎααααΈααααΎαααΆα BaseFilter()
α’αααααααΌαααααααΆαααα»αααΆααααααα ααααΆαα αααααααΊααααΆααααααΆαα»αααΆααααααα½αααΆα αα·ααααα‘αα αα·α α¬ αα·ααα·α. αααα»αα§ααΆα αααααααααΎα ααΎαααΆαααααααα»αααΆαααΆαααααα½α αααααααΎαα»αααΆαααΆααΌαααααΆα grepl()
αα·αα·αααα’αααααααΆα α αΎαααααα·αααΎααΆααααΌαααααΆααΉαααααααααααααΆα ΠΏΡΠΈΠ²Π΅Ρ|Π·Π΄ΡΠ°Π²ΡΡΠ²ΡΠΉ|ΡΠ°Π»ΡΡ|Ρ
Π°ΠΉ|Π±ΠΎΠ½ΠΆΡΡ
αααα‘αααααα·α αα·α.
αααααΆααααΎααααααΎααααααα·ααΈαααααααααααΆα hi_txt_hnd <- MessageHandler(say_hello, filters = MessageFilters$hi)
. α’αΆαα»ααααααα»αααΆαααααΌα MessageHandler()
ααΊααΆαα·ααΈααΆααααααααααΉαα α
α’ααααααααααΆα α αΎαα’αΆαα»αααααααΈααΈαααΊααΆααααααααααΆααΉαααααΌαααΆαα α
α αααα»αααααΈααααααΎααααααΊααΆααααααααααΎαααΆααααααΎα MessageFilters$hi
.
ααΆααΆααααααΎαααΆαα, αα ααΈαααα αα, ααΎααααααααα α’ααααααααΌαα’ααααααααααΆααααααΆααααααΎα hi_txt_hnd.
updater <- updater +
hi_hendler +
hi_txt_hnd
ααΌα
ααααααα»αααΆααααααααΆαααΎαα
αααα»ααααα
αα telegram.bot
αα·αααααα» αααααααΆα ααΆααααα»αααααααααααααααΆααααααΆαα½ααα½α
α αΎα αααα’αααα’αΆα
ααααΎα
- ααΆααα’αα - ααΆαααΆααα’ααα
- α’ααααα - ααΆαα’ααααα
- ααΆααααααααΆ - ααΆααααααααΆ, α§α ααΆααααα
αΆααααααΎαααΆαα½α
/
- ααααΎααα - ααΆααααααΆααΆαααααΎααααα ααΉαααΆαααααααααα
- α’αΌααΈαααΌ - ααΆααααααΆαα―αααΆαα’αΌααΈαααΌ
- α―αααΆα - ααΆαααΆαα½αα―αααΆααααααΆαααααΎ
- ααΌααα - ααΆαααΆαα½αααΌαααΆααααααΆαααααΎ
- ααααΈααα - ααΆααααααΆαααααΈαααααααΎ
- ααΈααα’αΌ - ααΆαααΆαα½αααΈααα’αΌ
- ααα‘αα - ααΆαααΆααα‘αα
- ααααΆαααααα - ααΆααααααΆαααΆαα·ααΆααα‘αααααΆαααααα’αααααααΎ
- ααΈααΆαα - ααΆααααααΆαααΈααΆααααΌαα·ααΆααααα
- ααΈαααααα - ααΆααααααΌααααα
- α αααα - α αααα
ααααα·αααΎα’αααα
αααααα
αΌαααααΆααΌαααααααα½αα
ααα½ααα
αααα»αα§ααααααααααααΆααα½αααααΆααααααααΎαααααΆ |
- ααΆα‘αΌααΈαα α¬αα·αα
α»αα αααααααΆ &
ααΆα‘αΌααΈαα Π. α§ααΆα ααα ααααα·αααΎα’αααα
ααα±αα bot α α
αα·ααΈααΆαααααααΌα
ααααΆαα
αααααΆααα½αααΆαααΈααα’αΌ ααΌαααΆα α¬α―αααΆα ααΌαααααΎα§ααΆα αααααΆααααααααΎααααΈαααααΎααααααα·ααΈαααααααΆαααΆαα
handler <- MessageHandler(callback,
MessageFilters$video | MessageFilters$photo | MessageFilters$document
)
ααΆαααααααααΆααααααααΆααΆαα½ααααΆαααΆαααααα
ααΎαααΉααα½α α αΎαααΆα’αααΈααΆααΆααααααααΆ αααααααααΎααα½αααΆ αα·ααααααααααα±αα bot ααααα·ααααα·ααΆααααααααΆαααα ααααΆαα ααα»αααααααα»αααααΈαααα ααααααααΈααΎαααααααΆααααααααΆ ααΎαααααΌαααααααΆαααα·αααααααα½αα ααα½αααΎααααΈααααα·ααααα·ααΆα
ααΆαααααααααααΆα§ααΆα ααααα bot ααααααααααΆαααα·α αααα αα·ααααααααααααΆααααααα±ααα’ααα αααα‘ααααααααααααααΈααααα·αα·αααα·αααααα
bot ααΆααααααααααΎ API ααααα·αα·αααα·ααααα
αααααΌαααΈ 3α ααΌααααααΆαααΆαααααΆαααΆαααα·α αααα αα·ααααααα
library(telegram.bot)
# ΡΠΎΠ·Π΄Π°ΡΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° Updater
updater <- Updater('1165649194:AAFkDqIzQ6Wq5GV0YU7PmEZcv1gmWIFIB_8')
# ΠΠΈΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠ²ΠΈΡ
## ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΈΠ²Π΅ΡΠ²ΠΈΡ
check_date <- function(bot, update, args) {
# Π²Ρ
ΠΎΠ΄ΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅
day <- args[1] # Π΄Π°ΡΠ°
country <- args[2] # ΡΡΡΠ°Π½Π°
# ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π²Π²Π΅Π΄ΡΠ½Π½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
if ( !grepl('\d{4}-\d{2}-\d{2}', day) ) {
# Send Custom Keyboard
bot$sendMessage(update$message$chat_id,
text = paste0(day, " - Π½Π΅ΠΊΠΎΡΡΠ΅ΡΠΊΠ½Π°Ρ Π΄Π°ΡΠ°, Π²Π²Π΅Π΄ΠΈΡΠ΅ Π΄Π°ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΠΠΠ-ΠΠ-ΠΠ"),
parse_mode = "Markdown")
} else {
day <- as.Date(day)
# ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΠΌ Π² ΡΠΎΡΠΌΠ°Ρ POSIXtl
y <- format(day, "%Y")
m <- format(day, "%m")
d <- format(day, "%d")
}
# ΡΡΡΠ°Π½Π° Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ
## ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π·Π°Π΄Π°Π½Π° Π»ΠΈ ΡΡΡΠ°Π½Π°
## Π΅ΡΠ»ΠΈ Π½Π΅ Π·Π°Π΄Π°Π½Π° ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ru
if ( ! country %in% c('ru', 'ua', 'by', 'kz', 'us') ) {
# Send Custom Keyboard
bot$sendMessage(update$message$chat_id,
text = paste0(country, " - Π½Π΅ΠΊΠΎΡΡΠ΅ΡΠΊΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΡΡΠ°Π½Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: ru, by, kz, ua, us. ΠΠ°ΠΏΡΠΎΡΠ΅Π½Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ Π ΠΎΡΡΠΈΠΈ."),
parse_mode = "Markdown")
country <- 'ru'
}
# Π·Π°ΠΏΡΠΎΡ Π΄Π°Π½Π½ΡΡ
ΠΈΠ· API
# ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° HTTP Π·Π°ΠΏΡΠΎΡΠ°
url <- paste0("https://isdayoff.ru/api/getdata?",
"year=", y, "&",
"month=", m, "&",
"day=", d, "&",
"cc=", country, "&",
"pre=1&",
"covid=1")
# ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΡΠ²Π΅Ρ
res <- readLines(url)
# ΠΈΠ½ΡΡΠ΅ΠΏΡΠ΅ΡΠ°ΡΠΈΡ ΠΎΡΠ²Π΅ΡΠ°
out <- switch(res,
"0" = "Π Π°Π±ΠΎΡΠΈΠΉ Π΄Π΅Π½Ρ",
"1" = "ΠΠ΅ΡΠ°Π±ΠΎΡΠΈΠΉ Π΄Π΅Π½Ρ",
"2" = "Π‘ΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ Π΄Π΅Π½Ρ",
"4" = "covid-19",
"100" = "ΠΡΠΈΠ±ΠΊΠ° Π² Π΄Π°ΡΠ΅",
"101" = "ΠΠ°Π½Π½ΡΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Ρ",
"199" = "ΠΡΠΈΠ±ΠΊΠ° ΡΠ΅ΡΠ²ΠΈΡΠ°")
# ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
bot$sendMessage(update$message$chat_id,
text = paste0(day, " - ", out),
parse_mode = "Markdown")
}
# ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ
date_hendler <- CommandHandler('check_date', check_date, pass_args = TRUE)
# Π΄ΠΎΠ±Π°Π»ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ
updater <- updater + date_hendler
# Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π±ΠΎΡΠ°
updater$start_polling()
ααααΎαααΆαα§ααΆα αααααΌαααΆαααΎ αααααΆααααΈαααα½α 'YOUR BOT TOKEN' ααΆαα½αααΉααα·αα·ααααααααΆαα·ααααα’αααααΆαααα½ααα ααααααααΎα bot ααΆαααα ααΌα ααα ααα (αααα»αααΆααα·ααΆαα’αααΈααΆααααααΎα bot αα αααα»α
α’αααααααααΌα ).
ααΎαααΆααααααΎα bot αααααΆααα·ααΈααΆααααααααα½αααααα
αααα»αααααΆααααααααΆα check_date
αα·ααΈααΆααααααααααααΌαααΆαα α
αααααΆααααααααΆαααααααααΌα
ααααΆα
ααα»ααααααααααααΈααΎαααααααΆααααααααΆ αα·ααΈααΆαααααααααααααΌαα±ααα’ααααααα αΌααααΆαααΆααααααααΈα ααΊαααααΌααααααα αα·αααΆαααα·α ααααα αααααΆαααα bot αα·αα·αααααΎαααΆααΎαααααααααΆααααααα±αααα αααα»ααααααααααααΆααααααΆααααΊααΆα α»ααααααΆα α ααααααααΈ α¬ααααααααΎααΆαααααααααΆαααααα·αα·αααα·αααααααααΌαααΆαα
ααΎααααΈα±αααα·ααΈααΆααααααααααΎααααααΎαααΎααααΈααα½ααααααΆαααΆαααααααααααααα½αααΆαα½αααΆααααααααΆ ααΌαααααΎα’αΆαα»ααααα pass_args = TRUE
αα
αααα»ααα»αααΆα CommandHandler()
α αΎααα
ααααααααΎααα·ααΈααΆααααα ααααααααΈααΎα’αΆαα»ααααααααααααΌαααΆα bot, ααααΎα±ααααΆαααααα αααααΎααααααΎααα½α - args. αα·ααΈααΆααααααααααΆααααααΎαααΆααααααααααΉαααα½ααααααΆαααΆαααααααααα’ααααααααΌααα
ααΆαα bot αααααΆααααΈαααααααΆααααααααΆα αααΆαααΆααααααβααααΌαβααβαααααβαααβααααααΆ αα½αααΆβααΉαβααααΌαβααΆαβααααΎβαα
βαα·ααΈααΆαααααβααΆβααα·α
αααβα’αααααα
αααα αΆααααααΎα αα·αααΆααααα bot ααααααΎαα
ααααΎαααΆα bot αα ααααααΆαααααα
ααα αΆαα α»αααααααααααΎαααααΌααααα ααααΊααααΌαααΎαααααΎαααΆα bot αα ααααααΆααααααα
ααΎααααΈααααΎααΌα αααα ααΌαα’αα»ααααααΆααααα½ααααααααΆααααααΆααα·αααααΆααΆααααααα
- αααααΆαα»αααΌαααΌααα αααα»αα―αααΆααααααΆαααααααααααα R. αα αααααααΎααΆααα αααα»α RStudio ααΆααααΌαααΆαααααΎααΆαααααααΊαα»α α―αααΆα, αααα»α αααααΆαα»αβααΆ ....
- ααααααααααΌααα
ααΆααααα―αααΆα bin αααααΆαααΈααΆαααα
αααα»ααααααα’αααααΆαααα‘αΎαααΆααΆ R αα
α’αααααααΌα ααΆαααααΆα
αα ααΈααα . - αααααΎαα―αααΆαα’αααααααααααΆαααααααα 1 αααααΆααα
R CMD BATCH C:UsersAlseyDocumentsmy_bot.R
. αααα½αβα’αα C:UsersAlseyDocumentsmy_bot.R αααααααααΌααα ααΆααααααααΈα bot ααααα’αααα αααα»ααααααΆαα½αααααΆααα ααΆααΆααΆαααααΆααααΆααααααα·αααΆααα½α’αααα Cyrillic α¬α ααααααα ααΆαααααΌαααααα ααΈααααα ααΆα’αΆα αααααΆαα±ααααΆααααα αΆαα αααααααΎαααΆα bot α αααααΆαα»αααΆ α αΎααααα½ααααααααααααααααααΆααΆαα½α txt αα ααΎ bat. - ααΎα Windows Task Scheduler ααΆααα·ααΈααΆα
αααΎαααΎααααΈααααΎααΆ α§ααΆα ααα ααΎα Folder ααΆαα½α α αΎααααα
αΌαα’αΆααααααΆα
%windir%system32taskschd.msc /s
. αα·ααΈααΆαααααααααΆαααΎαααααΎαααΆαααααααααα’αΆα ααααΆααα ααΈααα . - αα αααα»ααααΊαα»αααΆαααααΆαααΆαααΎαααααααα·ααΈααααααααααΌαα α»α "αααααΎαααΆααα·α αα ... " α
- αα ααΎααααΆαα "ααΌαα " αααααα±ααααΆααα·α αα ααααα’αααααΌααααααααααΆαααααα½α α αΎαααααΌααα»αααΆαααα ααααΆαααΆα "ααααΎαααΆααααααΆααα’αααααααΎααααΆααααΆααα’αα"α
- α αΌααα ααΆααααααΆαα "αααααααΆα" α α»α "αααααΎα" α αα αααα»αααΆα "αααααα·ααΈ α¬ααααααΈα" α α»α "ααααΎα" αααααααα’αααΈαααααΆααααααΎααααα»αααα αΆαααΈααΈα bat α―αααΆαα αΎαα α»α αααααααα
- α α»α ααααααα α αΎαααααα·αααΎα αΆαααΆα α αααα αΌαααΆααααααααΆαααααααΆααααααΈααααααααααααα·ααααα·ααΆαααααα’αααα
- ααααααααα·α αα ααΆααααααΆααααααΎααα αααα»ααααααα·ααΈαααααααα ααααΎαααΎαααΆ α αΎαα α»α αααΌαα»α "ααα" αα αααα»αααΆαααααΆαααΆααααααα
bot ααααααΎαααααΎαααΆααααα»αααααααΆαααααα α αΎαααΉαααααΎαααΆααα αΌααααα’ααααααααααα·α αα ααΆα α¬αα·ααα»αααααΌααα α¬αααΆαααΈαααααααα’ααααααααΆααααΌαααΆαααΆααα±ααααααΎαααΆαα
ααα ααααΈααααα·ααααΆα
αα αααα»αα’αααααααα ααΎαααΆαααααααααααΈααααααααα bot αααααα ααααα·αααααΉαααα’αΆα ααααΎααΆαααα»ααααααα ααα»αααααααααΆααααααΎααααα ααΉαααΆαα αΌα αα·αααΆααααααααΆαααααα α ααααααΉααααααα½αααΆαααΊαααααααααΆααα αΎααααα»αααΆααααααααΆααααα αΆααΆαα αααΎαααααα’αααα
α’ααααααααααΆααααΉααα·ααΆαα’αααΈααααααααααααααΆαα α»α αα bot αααααΆααααΆαααΆαααΆααααααΆααααα½αα
ααΆααααααααα»α
ααααα: www.habr.com