ášáŽááá«á á°ááá«áŸáœ á ášáá á ášáá°á ááá³ á¥á«á°á áá ᣠáá á ááá¥áá°áá ááŸáµ ᣠá á»ááᜠááá ᣠá»á¶áœ á¥á á á¥ááᥠáŠá¶áœá ášááá á áœáá³ á áá»áœá·áá¢
áŠá¶áœ ášá°áá ááœá áá ááááá¶áœá á á«áµ-á°á ášááµášá ááá® ášá¥á«áµáá á°áá£á®áœá á¥áµáš ááµá°á³á°á áµášáµ áá ááá áá°áá«á© ááááᜠáá«áááá ááœááá¢
á áá°ášá± á áŠáµ á á©á áááááá á áááµ áµá«ááœá áááµá«áµ áŽááá«á áá áá áµáœáááœáá¡ áášá ááá ááá áá ášá ᣠá á áááá© áá áµá«ááœá ááµá¬áµá£ áášáá áá° á³á³á€á áá°á¥á°á¥á£ á¢ááááœá ááá á¥á ášáá³á°ááµá¢
á¥ááŽáµ ááµá«áµ á¥áá³áá¥á á°ášá³á³á áœáááœá ááá»á á¥á
áµ á áá
á áá ášááááªá« áœáá ášáŽááá«á áŠáµá á¥ááŽáµ ááá á á¥áá°áááœá á¥á á áŽááá«á áá³ááá«ááœá áááá á¥áá ááá á³ááá¢
á áá áááá«áµ á ááá¶ááµ á°áá£á ááááá¥á ááµá¥ á«ááµá áááá á°áá£á«áµ ášáášášá»áá á áááá ááá³ ášáááµáœ á¥á á áá³ážáá á¢áá© áá³ááá«ááœá ášááá áŠáµ ááášááá¢
ááá áá ášáá
á°ášá³á³á áá£á¥áᜠá áá áá°áá°á á á£á¥ áµá« áŠá¶á á¥ááŽáµ á¥áá°ááœá áááµá°áá á³ááá á á á ááá ášá¥á
áá á áá£á¥ áááµá°ááá
ááᢠtelegram.bot
, á¥á ášá«áµáá áœáá®áœ áááá³áµ áŠá¶áœá áá»á ášááœáá£ážá ášá®áµ áá³áááœ.
ááá¶áœ
ášááᥠáµáá°á áá ááááµ á«ááµ ášá¥áá áááá ááœáá
ášáŽááá«á áŠáµ ááá á á R ááµá¥ ášáŽááá«á áŠáµ áá áááµá«áµ á¥á á áá«á áš R áá° áŽááá«á ááá¥ááµ á ááá áá ášá°áá£á á áá¶áœá áááµá¬áµ ášáá á°áá³ á áááááµ áá áá°áá°áá«
ášáŽááá«á áŠáµ ááá á
á ááááªá«, áŠáµ ááá á á áá¥á. áá
ášáášáááá áá© áŠáµ á áá áá ááᢠáŠáµá á£áµ, áááµ /start
.
ášáá« á áá ášáµááá áááá ášá«á ááá¥ááµ áá°ááµáá³á-
ášáŠáµá á£áµ ááá¥ááµ
I can help you create and manage Telegram bots. If you're new to the Bot API, please see the manual (https://core.telegram.org/bots).
You can control me by sending these commands:
/newbot - create a new bot
/mybots - edit your bots [beta]
Edit Bots
/setname - change a bot's name
/setdescription - change bot description
/setabouttext - change bot about info
/setuserpic - change bot profile photo
/setcommands - change the list of commands
/deletebot - delete a bot
Bot Settings
/token - generate authorization token
/revoke - revoke bot access token
/setinline - toggle inline mode (https://core.telegram.org/bots/inline)
/setinlinegeo - toggle inline location requests (https://core.telegram.org/bots/inline#location-based-results)
/setinlinefeedback - change inline feedback (https://core.telegram.org/bots/inline#collecting-feedback) settings
/setjoingroups - can your bot be added to groups?
/setprivacy - toggle privacy mode (https://core.telegram.org/bots#privacy-mode) in groups
Games
/mygames - edit your games (https://core.telegram.org/bots/games) [beta]
/newgame - create a new game (https://core.telegram.org/bots/games)
/listgames - get a list of your games
/editgame - edit a game
/deletegame - delete an existing game
á á²áµ áŠáµ áááá á áµáááá ááá©á¢ /newbot
.
BotFather ášáŠáµ áµá á áµáá¥á°á á¥ááµáµáᣠáá áá ááá¢
BotFather, [25.07.20 09:39]
Alright, a new bot. How are we going to call it? Please choose a name for your bot.
Alexey Seleznev, [25.07.20 09:40]
My Test Bot
BotFather, [25.07.20 09:40]
Good. Now let's choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot.
Alexey Seleznev, [25.07.20 09:40]
@my_test_bot
áááááá áµá ááµáá£áµ ááœáá ᣠáá ááá¢á«á á áá
ááá
á áá áµá¢ bot
.
áááá ááá á áµááá á«á°ášááµ, ášáášá°áá ááá¥ááµ áá°ááµáá³á:
Done! Congratulations on your new bot. You will find it at t.me/my_test_bot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands. By the way, when you've finished creating your cool bot, ping our Bot Support if you want a better username for it. Just make sure the bot is fully operational before you do this.
Use this token to access the HTTP API:
123456789:abcdefghijklmnopqrstuvwxyz
For a description of the Bot API, see this page: https://core.telegram.org/bots/api
á ááá á ášá°áá áá á€áá á ááµáá°á« á«áµááááá³á, á á¥á áá³á ááµá¥ áá 123456789:abcdefghijklmnopqrstuvwxyz
.
á áá á°ášá, áŠáµ áááá á ášááá áµ áµá« áá áááá.
á R ááµá¥ ášáŽááá«á áŠáµ áá áááµá«áµ á¥á á áá«á
á áµááµáá
áš R ááá á¥á ášRStudio áááµ á á«á£á¢ á¥áá°á°á«áá
á¥ááá³ááᢠáá³á© áá
á«ááá, áá
áá áááášáµ ááœáá
ášáŽááá«á áŠáµ á€áá á áá áááµá«áµ áš R á¥á
áá á¥áá ááááá¢
á R ááµá¥ áá¬ááœá áá«á á°áá£á©á á áá áá áášáááá install.packages()
, áµááá
ášáá«áµááááá á¥á
á ááá«á, áµáááá áá áá install.packages("telegram.bot")
.
ášá°áá«á© áá¬ááœá áµááá«á ášá áá ááá
ááœááá¢
á¥á áá ášá«á á áá áááááµ á«áµááááá³á:
library(telegram.bot)
áš R áá° áŽááá«á ááá¥ááµ á ááá áá
á¥ááµá ášáá á©áµ áŠáµ á áŽááá«á ááµá¥ á áá¥ášáµ áá ášá°ááážáá ááá¢á« á áá áá ááááµ áá»ááᣠá á¥á ááá³ ááᢠ@my_test_bot
.
á¥áá° "áá áŠáµ" á«á áááááá ááá¥ááµ ááŠáµ ááá©á¢ á á áá ááᣠášáŠáµ áá á«á°ášááµá ááááµ áá³ááá« áááááµ áá áá á¥ááááááá¢
á áá ášáášá°ááá á®áµ á R ááµá¥ á¥ááœááá.
library(telegram.bot)
# ÑПзЎаÑÐŒ ÑкзеЌплÑÑ Ð±ÐŸÑа
bot <- Bot(token = "123456789:abcdefghijklmnopqrstuvwxyz")
# ÐапÑаÑОваеЌ ОМÑПÑЌаÑÐžÑ ÐŸ бПÑе
print(bot$getMe())
# ÐПлÑÑаеЌ ÐŸÐ±ÐœÐŸÐ²Ð»ÐµÐœÐžÑ Ð±ÐŸÑа, Ñ.е. ÑпОÑПк ПÑпÑавлеММÑÑ
ÐµÐŒÑ ÑППбÑеМОй
updates <- bot$getUpdates()
# ÐапÑаÑОваеЌ ОЎеМÑОÑОкаÑÐŸÑ ÑаÑа
# ÐÑОЌеÑаМОе: пеÑеЎ запÑПÑПЌ ПбМПвлеМОй Ð²Ñ ÐŽÐŸÐ»Ð¶ÐœÑ ÐŸÑпÑавОÑÑ Ð±ÐŸÑÑ ÑППбÑеМОе
chat_id <- updates[[1L]]$from_chat_id()
ááááªá« áá ášáŠá³áœáá áá³á ášá°áá£á© áá á¥ááá¥á«áá Bot()
, áá°á á²á ášá°áá áá ááµáá°á« á¥áá° áááá áá° á¥á± áá°ááá á áá áµ.
ááµáá°á«áá á á®áµ ááµá¥ áášáážáµ á¥áá° ááᥠááááµ á°á°áá á ááá áá, áµááá
á á ášá£á¢á á°áááá ááµá¥ áášáážáµ á¥á ášá¥á± ááá ᥠááœáá. á áá£áª á á¥á
á telegram.bot
ááášá°ááµ áµáᜠášá á«á£á¢ á°áááá®áœ áµáá á°á°áá¥á¯áá¡- R_TELEGRAM_BOT_ÐÐЯ_ÐÐКÐÐÐ_ÐÐТÐ
... áááááµ ÐÐЯ_ÐÐКÐÐÐ_ÐÐТÐ
á²áá¥á© ášááá¹áµá áµá áá°á©, á á¥á ááá³ á°áááá áááá R_TELEGRAM_BOT_My Test Bot
.
ášá á«á£á¢ á°áááá áááá á á¥á áááá¶áœ á á ᣠáµá á á£á áááá°áá á¥á ááµášá-á áá«á á¥ááááá³ááᢠá á€áµá ááá« ááµá¥ ááá á© (áµáááá á áá áá áá«áááµ ááœáá path.expand("~")
) ášáœáá ááá ášáµá áá á¬áá«áá®á. áµáááá á áá áá áá
áá ááµášá ááœáá file.edit(path.expand(file.path("~", ".Renviron")))
.
á¥á ášáášá°ááá ááµáá á á¥á± áá ášáá©á áµ.
R_TELEGRAM_BOT_ÐÐЯ_ÐÐКÐÐÐ_ÐÐТÐ=123456789:abcdefghijklmnopqrstuvwxyz
á ááá á á°áá£á©á á áá áá á á ášá£á¢á á°áááá ááµá¥ ášá°ááá áá ááµáá°á« áá áá ááœáá bot_token()
ᣠáááµá á¥.á€.á . áá á¥áá°áá
:
bot <- Bot(token = bot_token("My Test Bot"))
áᎠgetUpdates()
ášáŠáµ áá»á»á«ááœá á¥ááµááá á«áµáœáááᣠáááµá. áá° á¥á± ášá°áá© ááá¥áá¶áœ. áᎠfrom_chat_id()
, ááá¥áá± ášá°áášá áµá ášááááµ áá³ááá« á¥áá²á«áá á«áµáœááá³á. ášáŠáµ ááá¥ááµ áááá áá
áá³ááá« á«áµáááááá¢
á áᎠášá°ááá ááá ášá»áµ áá³ááá« á á°ášá᪠getUpdates()
á¥áá²áá áá á áá áášá á«áááᢠááá³á ááá¥áá±á áµáááš á°á ááá áášáá¢
updates[[1L]]$message$from
$id
[1] 000000000
$is_bot
[1] FALSE
$first_name
[1] "Alexey"
$last_name
[1] "Seleznev"
$username
[1] "AlexeySeleznev"
$language_code
[1] "ru"
áµááá
á áá
á°ášá ášáŠáµ áá° áŽááá«á ááá¥ááµ áááá ášáá«áµááááá áá á áµááµáá á ááá°ááᢠááŽáá á¥áá áá sendMessage()
ášá»áµ áá³ááá«á£ ášááá¥ááµ áœáá á¥á ášááá¥ááµ áœáá ááááµ ááµášáá« á áááµ ááá ášáá«áµáááá áµá¢ ášááááµ ááµášáá«á ááááµ ááá ááá á€áœá²á€áá€á ááá ááœáá á¥á á áááá© á°ááá
á·áᢠparse_mode
.
# ÐÑпÑавка ÑППбÑеМОÑ
bot$sendMessage(chat_id,
text = "ÐÑОвеÑ, *жОÑÐœÑй ÑекÑÑ* _кÑÑÑОв_",
parse_mode = "Markdown"
)
ášááá ááµášáá« á áážáµ áá°ášá³á ááá®áœá¡-
- á°áá
á
ááž-ááá á *: á°á°áááá¢
- áá³á
*жОÑÐœÑй ÑÑОÑÑ*
- áá€áµ á°áá á ááž-ááá
- áá³á
- á°á«á áááá¶áœ á áµá®áœ áá áááá¡-
- áá³á
_кÑÑÑОв_
- áá€áµ á°á«á
- áá³á
- ášáá®áá«á á®áµá áááµáá
á¥ááá áá á¥á
á áá ášáááá áááµááµ á
ááž-ááá ášáááážá á ááµáµá®ááµá á áá áá áá - `:
- áá³áá¡ `áááµááµ áááµ`
- áá€áµ
ЌПМПÑОÑОММÑй ÑÑОÑÑ
ášá€áœá²á€áá€á áááá ášáá
ášáœ áá°ášá³á ááá®áœá¡-
á á€áœá²á€áá€á ááµá¥á£ ášáœááá ááá á ááá«áᜠáá ááµáá
á«áá áµá áá ááááᣠááá³á <Ñег>ÑекÑÑ</Ñег>
.
- <tag> - ášáááá» ááá«
- - ášáááá« ááá«
ášá€áœá²á€áá€á ááááµ ááµášáá« ááá«ááœ
<b>
- á°áá á ááž-ááá- áá³á
<b>жОÑÐœÑй ÑÑОÑÑ</b>
- áá€áµ á°áá á ááž-ááá
- áá³á
<i>
- á°á«á- áá³á
<i>кÑÑÑОв</i>
- áá€áµ á°á«á
- áá³á
- â ЌПМПÑОÑОММÑй ÑÑОÑÑ
- áá³á: ЌПМПÑОÑОММÑй ÑÑОÑÑ
- áá€áµ
ЌПМПÑОÑОММÑй ÑÑОÑÑ
ášáœáá á á°ášá᪠áá© ááŽááœá á áá áá áá áááµ ááá ááœááá¡
# ÐÑпÑавОÑÑ ÐžÐ·ÐŸÐ±ÑажеМОе
bot$sendPhoto(chat_id,
photo = "https://telegram.org/img/t_logo.png"
)
# ÐÑпÑавка гПлПÑПвПгП ÑППбÑеМОÑ
bot$sendAudio(chat_id,
audio = "http://www.largesound.com/ashborytour/sound/brobob.mp3"
)
# ÐÑпÑавОÑÑ ÐŽÐŸÐºÑЌеМÑ
bot$sendDocument(chat_id,
document = "https://github.com/ebeneditos/telegram.bot/raw/gh-pages/docs/telegram.bot.pdf"
)
# ÐÑпÑавОÑÑ ÑÑОкеÑ
bot$sendSticker(chat_id,
sticker = "https://www.gstatic.com/webp/gallery/1.webp"
)
# ÐÑпÑавОÑÑ Ð²ÐžÐŽÐµÐŸ
bot$sendVideo(chat_id,
video = "http://techslides.com/demos/sample-videos/small.mp4"
)
# ÐÑпÑавОÑÑ gif аМОЌаÑОÑ
bot$sendAnimation(chat_id,
animation = "https://media.giphy.com/media/sIIhZliB2McAo/giphy.gif"
)
# ÐÑпÑавОÑÑ Ð»ÐŸÐºÐ°ÑОÑ
bot$sendLocation(chat_id,
latitude = 51.521727,
longitude = -0.117255
)
# ÐЌОÑаÑÐžÑ ÐŽÐµÐ¹ÑÑÐ²ÐžÑ Ð² ÑаÑе
bot$sendChatAction(chat_id,
action = "typing"
)
á¥ááá«á¢ ááá³á ááŽáá á áá áá sendPhoto()
á¥á
áá á°á á
áá á¥áá°áá á©áµ ááµá ášá°ááá áá«á ááá ááœááᢠggplot2
.
ášááá¶ááµ á°áá£á ááááá¥áá ááá°áœ á¥á á£áá°ááá° ááá³ áµááášá¡ á°áá£á«áµ áá³ááá«ááœá á ááá áá
ášááá¶ááµ á°áá£á ááááá¥á áá áááµá«áµ á¥á
áá áá«á á«áµááááá³á taskscheduleR
, á¥á ášáášá áá áááµá«áµ ááŸáµ, á¥á
áá áá«á dplyr
.
# УÑÑаМПвка пакеÑПв
install.packages(c('taskscheduleR', 'dplyr'))
# ÐПЎклÑÑеМОе пакеÑПв
library(taskscheduleR)
library(dplyr)
á ááá á á°áá£á©á á áá áá taskscheduler_ls()
áµá á°áá£á«á± áášá ášáá®áá«ááœá á ááá
á¥áá ááááᢠá°áá£á©á á áá áá filter()
ášá¥á
á dplyr
ášá°áá£á®áœ áááá ááµá¥ á á°á³á« ááá³ ášá°á ááááµá á¥á ášáášášá» ášáá€áµ á°ášá 0 á«áážáá á¥á á áá«áœ á«áá°ááá© á¥á áš 267011 á°ášá á«áážáá ᣠášá á«á áá³á°áᜠá°áá£á«áµá á¥á á á áá áá á¥ášá°á© á«á á°áá£á«áµá á¥ááµááá³ááá¢
# запÑаÑОваеЌ ÑпОÑПк заЎаÑ
task <- task <- taskscheduler_ls() %>%
filter(! `Last Result` %in% c("0", "267011") &
`Scheduled Task State` == "Enabled" &
Status != "Running") %>%
select(TaskName) %>%
unique() %>%
unlist() %>%
paste0(., collapse = "n")
á á¥áá ááµá¥ task
á áá á«áá°á³á«áážá á°áá£á«áµ áááá á áá, áá
áá áááá áá° áŽááá«á ááá á áá¥á.
á¥á«áá³áá±á áµááá á á áá áááá ášá°ááášáµáá¡-
filter()
- ášáá á á°ááá¹áµ ááá³áᜠáá°ášáµ ášá°áá£á®áœá áááá á«á£á«áselect()
- á á áá ášá¡ ááµá¥ ášá°áá£á®á¹á áµá ášá«á á ááµ ááµá á¥á» ááá«áunique()
- ášá°á£á áµááœá á«áµááá³áunlist()
- ášá°áášá áá á°áá ášá¥ á ááµ áá° á¬áá°á áááá áápaste0()
- ášá°áá£á®áœá áµá áá° á ááµ ááµáá á«áááá, á¥á ášááµáá ááá¥á á¥áá° ááá«ášáµ á«áµááá£á, áááµá.n
.
ášáášá áá áá áá€áµ á áŽááá«á ááá á¥á» ááá¢
bot$sendMessage(chat_id,
text = task,
parse_mode = "Markdown"
)
áµááá ᣠá á áá áá áš bot á®áµ á¥áá°áá áááµáá
ášá°áá£á áááá bot á®áµ
# ÐПЎклÑÑеМОе пакеÑа
library(telegram.bot)
library(taskscheduleR)
library(dplyr)
# ОМОÑОалОзОÑÑеЌ бПÑа
bot <- Bot(token = "123456789:abcdefghijklmnopqrstuvwxyz")
# ОЎеМÑОÑОкаÑÐŸÑ ÑаÑа
chat_id <- 123456789
# запÑаÑОваеЌ ÑпОÑПк заЎаÑ
task <- taskscheduler_ls() %>%
filter(! `Last Result` %in% c("0", "267011") &
`Scheduled Task State` == "Enabled" &
Status != "Running") %>%
select(TaskName) %>%
unique() %>%
unlist() %>%
paste0(., collapse = "n")
# еÑлО еÑÑÑ Ð¿ÑПблеЌМÑе заЎаÑО ПÑпÑавлÑеЌ ÑППбÑеМОе
if ( task != "" ) {
bot$sendMessage(chat_id,
text = task,
parse_mode = "Markdown"
)
}
ášáá á«ááá áá³á á²á áá ášáŠáµ á¶ášááá á¥á ášááááµ áá³ááá«áá á á®á± ááµá¥ áá°á©á¢
á°áá£á®áœá ááá£á«áµ ááá³ááœá áášá ááœáá ᣠááá³á ᣠášáá á¯ážáá á°áá£á«áµ á¥á» ᣠášáµááá° áááááœá á³á«á«áµáµ áášááá¥á¢
á¥áá²áá ášá°áá«á© á
áá¥á®áœá áá° ášá°ááš ášáá
á ááá ááµá¥ ááµáá£áµ á¥á á ááµá¡ á«ááá ášááááµ áá³ááá« á¥á ááµáá°á« áášáážáµ ááœááᢠáááá©á ááá³á á¥á
áá á áá áá ááá ᥠááœáá configr
.
áš ini áá ášáµ áá³á
[telegram_bot]
;МаÑÑÑПйкО ÑелегÑаЌ бПÑа О ÑаÑа, в кПÑПÑÑй бÑÐŽÑÑ Ð¿ÑОÑ
ПЎОÑÑ ÑвеЎПЌлеМОÑ
chat_id=12345678
bot_token=123456789:abcdefghijklmnopqrstuvwxyz"
á R ááµá¥ á«áá áá ášáµ á°áááá®áœá ášááá ᥠáá³á
library(configr)
# ÑÑеМОе кПМÑОМа
config <- read.config('C:/пÑÑÑ_к_кПМÑОгÑ/config.cfg', rcmd.parse = TRUE)
bot_token <- config$telegram_bot$bot_token
chat_id <- config$telegram_bot$chat_id
ášá°áá£á á áá¶áœá ááááµ ááá áá¥á á áááááµ áá
á áá ááááá¥á áá ášáµááªáá¶áœá á
áá ášáááááµ áá°áµ á áá
ááµá¥ á á áá áááá á°á¥á«áá·á
ášáŠá±á á®áµ áá° ááá á¥áá³áµááá¥á á¥ááµá¥ check_bot.R
. áá
ááá á áá°á áááµ á¥áá²á°á« ááááá¥á áááµá«á ášáášá°ááµá á°ášááᜠáášá°áá¢
- á áááá± áµáááµ á°áááá ááµá¥ R áá°á°á«áá áµ á áá ášáááµá°áá ááááµ ááá ᣠá ááá¶ááµ ááµá¥ áááá± á¥áá°áá
á«á ááá áááá á¢
C:Program FilesRR-4.0.2bin
. - á á ááµ ááµáá á¥á» ášáá°á« ášáááµ áá ááá ááá á©
R CMD BATCH C:rscriptscheck_botcheck_bot.R
. á°á«C:rscriptscheck_botcheck_bot.R
áá° R áááá áá ááááµá¢ - á ááá á ášááµáááªá« ááá áá¥á ááááááµ ášááá¶ááµ á°áá£á ááááá¥áá áá áá ááá³á á ášááᜠá°áá±á¢
áá°áá°áá«
á áá áœáá ááµá¥ áŠáµ á¥ááŽáµ ááá á á¥áá°áá»á á áááá á¥á á áŽááá«á ááµá¥ ášá°áá«á© ááµá³ááá«ááœá áááá á¥áá ááá á³ááá¢
ášááá¶ááµ á°áá£á ááááá¥áá ášáášá³á°á á¥á«á áááœá©á ᣠáá á áá áœáá ááµá¥ á«ááá áááµ ášá ášá ááá³ áµáá á« á¥áµáš ášá áá²á®á áááᥠá¥á á¶áœá áááá á áá áœáá ááµá¥ á«ááá áœáá áá áá ááœáá ᢠR ášá¥á ášááᥠááá®áœ áá á¥áá²ááá ááá áµááá³á.
á ááá¥áá áááµ ááµá¥ áá³ááá«ááœá ááá á¥á» á³ááá áá áᥠááµá¥áµá¥ ášáá áµááá¶áœá á¥áá²ááœá áµááááœá á¥á ášááá á°áá³á áá° áŠáµ á¥ááŽáµ áášá á¥áá°áá»á á¥ááááá£áá.
ááá: hab.com