рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдордЪреЗ рдкреНрд░реЗрдХреНрд╖рдХ рджрд░рд░реЛрдЬ рд╡реЗрдЧрд╛рдиреЗ рд╡рд╛рдврдд рдЖрд╣реЗрдд, рд╣реЗ рдореЗрд╕реЗрдВрдЬрд░рдЪреНрдпрд╛ рд╕реЛрдпреАрдореБрд│реЗ, рдЪреЕрдиреЗрд▓рдЪреА рдЙрдкрд╕реНрдерд┐рддреА, рдЪреЕрдЯреНрд╕ рдЖрдгрд┐ рдЕрд░реНрдерд╛рддрдЪ рдмреЙрдЯреНрд╕ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдпрд╛рдореБрд│реЗ рд╕реБрд▓рдн рд╣реЛрддреЗ.
рддреБрдордЪреНрдпрд╛ рдЧреНрд░рд╛рд╣рдХрд╛рдВрд╢реА рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рд╕рдВрдкреНрд░реЗрд╖рдг рдХрд░рдгреНрдпрд╛рдкрд╛рд╕реВрди рддреЗ рддреБрдордЪреА рд╕реНрд╡рддрдГрдЪреА рдХрд╛рд░реНрдпреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдкрд░реНрдпрдВрдд рдмреЙрдЯреНрд╕рдЪрд╛ рд╡рд╛рдкрд░ рдкреВрд░реНрдгрдкрдгреЗ рднрд┐рдиреНрди рд╣реЗрддреВрдВрд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.
рдореВрд▓рдд:, рддреБрдореНрд╣реА рдмреЙрдЯрджреНрд╡рд╛рд░реЗ рдХреЛрдгрддреЗрд╣реА рдСрдкрд░реЗрд╢рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдо рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛: рдбреЗрдЯрд╛ рдкрд╛рдард╡рдгреЗ рдХрд┐рдВрд╡рд╛ рд╡рд┐рдирдВрддреА рдХрд░рдгреЗ, рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдХрд╛рд░реНрдпреЗ рдЪрд╛рд▓рд╡рдгреЗ, рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдорд╛рд╣рд┐рддреА рдЧреЛрд│рд╛ рдХрд░рдгреЗ, рдИрдореЗрд▓ рдкрд╛рдард╡рдгреЗ рдЗ.
рдореА рд╕реЛрдмрдд рдХрд╕реЗ рдХрд╛рдо рдХрд░рд╛рд╡реЗ рдпрд╛рдмрджреНрджрд▓ рд▓реЗрдЦрд╛рдВрдЪреА рдорд╛рд▓рд┐рдХрд╛ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрдЦрдд рдЖрд╣реЗ
рдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рд▓реЗрдЦрд╛рдд рдЖрдкрдг рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдХрд╕рд╛ рдмрдирд╡рд╛рдпрдЪрд╛ рдЖрдгрд┐ рддреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдЯреЗрд▓реАрдЧреНрд░рд╛рдордордзреНрдпреЗ рд╕реВрдЪрдирд╛ рдкрд╛рдард╡рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╕рд╛ рдХрд░рд╛рдпрдЪрд╛ рддреЗ рд╕рдордЬреВрди рдШреЗрдК.
рдкрд░рд┐рдгрд╛рдореА, рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдПрдХ рдмреЙрдЯ рдЕрд╕реЗрд▓ рдЬреЛ рд╡рд┐рдВрдбреЛрдЬ рдЯрд╛рд╕реНрдХ рд╢реЗрдбреНрдпреБрд▓рд░рдордзреАрд▓ рд╕рд░реНрд╡ рдЯрд╛рд╕реНрдХрдЪреНрдпрд╛ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреА рд╕реНрдерд┐рддреА рддрдкрд╛рд╕реЗрд▓ рдЖрдгрд┐ рддреНрдпрд╛рдкреИрдХреА рдХреЛрдгрддреАрд╣реА рдЕрдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реНрдпрд╛рд╕ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реВрдЪрдирд╛ рдкрд╛рдард╡реЗрд▓.
рдкрд░рдВрддреБ рд▓реЗрдЦрд╛рдВрдЪреНрдпрд╛ рдпрд╛ рдорд╛рд▓рд┐рдХреЗрдЪрд╛ рдЙрджреНрджреЗрд╢ рд╡рд┐рд╢рд┐рд╖реНрдЯ, рдЕрд░реБрдВрдж рдХрд╛рд░реНрдпрд╛рд╕рд╛рдареА рдмреЙрдЯ рдХрд╕рд╛ рд▓рд┐рд╣рд╛рдпрдЪрд╛ рд╣реЗ рд╢рд┐рдХрд╡рдгреЗ рд╣рд╛ рдирд╛рд╣реА рддрд░ рд╕рд╛рдорд╛рдиреНрдпрдд: рдкреЕрдХреЗрдЬрдЪреНрдпрд╛ рд╡рд╛рдХреНрдпрд░рдЪрдирд╛рд╢реА рддреБрдордЪреА рдУрд│рдЦ рдХрд░реВрди рджреЗрдгреЗ рд╣рд╛ рдЖрд╣реЗ. telegram.bot
, рдЖрдгрд┐ рдХреЛрдб рдЙрджрд╛рд╣рд░рдгреЗ рдЬреНрдпрд╛рд╕рд╣ рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдмреЙрдЯреНрд╕ рд▓рд┐рд╣реВ рд╢рдХрддрд╛.
рд╕рд╛рдордЧреНрд░реА
рддреБрдореНрд╣рд╛рд▓рд╛ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рдордзреНрдпреЗ рд╕реНрд╡рд╛рд░рд╕реНрдп рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣рд╛рд▓рд╛ рдорд╛рдЭреНрдпрд╛рдордзреНрдпреЗ рд╕реНрд╡рд╛рд░рд╕реНрдп рдЕрд╕реЗрд▓
рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрд░ рдордзреНрдпреЗ рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдо рдмреЙрдЯрд╕рд╣ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреЕрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ R рд╡рд░реВрди рдЯреЗрд▓реАрдЧреНрд░рд╛рдорд╡рд░ рд╕рдВрджреЗрд╢ рдкрд╛рдард╡рдд рдЖрд╣реЗ рдХрд╛рд░реНрдп рд╕реНрдХреЕрди рдЪрд╛рд▓рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рд╡реЗрд│рд╛рдкрддреНрд░рдХ рд╕реЗрдЯ рдХрд░рдгреЗ рдирд┐рд╖реНрдХрд░реНрд╖
рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рддрдпрд╛рд░ рдХрд░рдгреЗ
рдкреНрд░рдердо, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдПрдХ рдмреЙрдЯ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╣реЗ рд╡рд┐рд╢реЗрд╖ рдмреЙрдЯ рд╡рд╛рдкрд░реВрди рдХреЗрд▓реЗ рдЬрд╛рддреЗ рдмреЙрдЯ рдлреЗрджрд░, рдЬрд╛ /start
.
рддреНрдпрд╛рдирдВрддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрджреЗрд╢рд╛рдВрдЪреНрдпрд╛ рд╕реВрдЪреАрд╕рд╣ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдИрд▓:
BotFather рдХрдбреВрди рд╕рдВрджреЗрд╢
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
рдкреБрдвреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдкреНрд░рд╛рдкреНрдд API рдЯреЛрдХрдирдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓, рдорд╛рдЭреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд рддреЗ рдЖрд╣реЗ 123456789:abcdefghijklmnopqrstuvwxyz
.
рдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░, рдмреЙрдЯ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддрдпрд╛рд░реАрдЪреЗ рдХрд╛рдо рдкреВрд░реНрдг рдЭрд╛рд▓реЗ рдЖрд╣реЗ.
рдЖрд░ рдордзреНрдпреЗ рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдо рдмреЙрдЯрд╕рд╣ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреЕрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ
рдореА рдЕрд╕реЗ рдЧреГрд╣реАрдд рдзрд░рддреЛ рдХреА рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдЖрдзреАрдкрд╛рд╕реВрдирдЪ R рднрд╛рд╖рд╛ рдЖрдгрд┐ RStudio рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реНрдерд╛рдкрд┐рдд рдЖрд╣реЗ. рдЬрд░ рдЕрд╕реЗ рдирд╕реЗрд▓ рддрд░ рдЖрдкрдг рд╣реЗ рдкрд╛рд╣реВ рд╢рдХрддрд╛
Telegram Bot API рд╕рд╣ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА 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"
)
рдорд╛рд░реНрдХрдбрд╛рдЙрди рд╕реНрд╡рд░реВрдкрди рдореВрд▓рднреВрдд рдЧреЛрд╖реНрдЯреА:
- рдард│рдХ рдлреЙрдиреНрдЯ * рд╕рд╣ рд╣рд╛рдпрд▓рд╛рдЗрдЯ рдХреЗрд▓рд╛ рдЖрд╣реЗ:
- рдЙрджрд╛рд╣рд░рдгрдГ
*╨╢╨╕╤А╨╜╤Л╨╣ ╤И╤А╨╕╤В╤Д*
- рдкрд░рд┐рдгрд╛рдо: рдард│рдХ рдлреЙрдиреНрдЯ
- рдЙрджрд╛рд╣рд░рдгрдГ
- рддрд┐рд░реНрдпрдХ рдЕрдВрдбрд░рд╕реНрдХреЛрдЕрд░рджреНрд╡рд╛рд░реЗ рджрд░реНрд╢рд╡рд▓реЗ рдЬрд╛рддрд╛рдд:
- рдЙрджрд╛рд╣рд░рдгрдГ
_╨║╤Г╤А╤Б╨╕╨▓_
- рдкрд░рд┐рдгрд╛рдо: рддрд┐рд░реНрдпрдХ
- рдЙрджрд╛рд╣рд░рдгрдГ
- рдореЛрдиреЛрд╕реНрдкреЗрд╕ рдлреЙрдиреНрдЯ, рдЬреЛ рд╕рд╣рд╕рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рд╣рд╛рдпрд▓рд╛рдЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ, рдНрдкреЛрд╕реНрдЯреНрд░реЙрдлреА рд╡рд╛рдкрд░реВрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ - `:
- рдЙрджрд╛рд╣рд░рдг: `рдореЛрдиреЛрд╕реНрдкреЗрд╕ рдлреЙрдиреНрдЯ`
- рдкрд░рд┐рдгрд╛рдо:
╨╝╨╛╨╜╨╛╤И╨╕╤А╨╕╨╜╨╜╤Л╨╣ ╤И╤А╨╕╤Д╤В
HTML рдорд╛рд░реНрдХрдЕрдк рдлреЙрд░рдореЕрдЯрд┐рдВрдЧрдЪреА рдореВрд▓рднреВрдд рдорд╛рд╣рд┐рддреА:
рдПрдЪрдЯреАрдПрдордПрд▓рдордзреНрдпреЗ, рддреБрдореНрд╣реА рдордЬрдХреВрд░рд╛рдЪрд╛ рднрд╛рдЧ рд▓рдкреЗрдЯрддрд╛ рдЬреНрдпрд╛рд▓рд╛ рдЯреЕрдЧрдордзреНрдпреЗ рд╣рд╛рдпрд▓рд╛рдЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде <╤В╨╡╨│>╤В╨╡╨║╤Б╤В</╤В╨╡╨│>
.
- <tag> - рдУрдкрдирд┐рдВрдЧ рдЯреЕрдЧ
- - рдХреНрд▓реЛрдЬрд┐рдВрдЧ рдЯреЕрдЧ
HTML рдорд╛рд░реНрдХрдЕрдк рдЯреЕрдЧ
<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"
)
рддрд░, рдпрд╛рдХреНрд╖рдгреА рдмреЙрдЯ рдХреЛрдб рдЕрд╕рд╛ рджрд┐рд╕рддреЛ:
рдХрд╛рд░реНрдп рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди рдмреЙрдЯ рдХреЛрдб
# ╨Я╨╛╨┤╨║╨╗╤О╤З╨╡╨╜╨╕╨╡ ╨┐╨░╨║╨╡╤В╨░
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 рдЗрдиреНрд╕реНрдЯреЙрд▓ рдХреЗрд▓реЗ рдЖрд╣реЗ рддреНрдпрд╛ рдлреЛрд▓реНрдбрд░рдЪрд╛ рдорд╛рд░реНрдЧ рд▓рд┐рд╣рд╛; Windows рдордзреНрдпреЗ, рдкрде рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рдЕрд╕реЗрд▓:
C:Program FilesRR-4.0.2bin
. - рдлрдХреНрдд рдПрдХрд╛ рдУрд│реАрдиреЗ рдПрдХ рдПрдХреНрдЭрд┐рдХреНрдпреВрдЯреЗрдмрд▓ рдмреЕрдЯ рдлрд╛рдЗрд▓ рддрдпрд╛рд░ рдХрд░рд╛
R CMD BATCH C:rscriptscheck_botcheck_bot.R
. рдмрджрд▓рд╛C:rscriptscheck_botcheck_bot.R
рддреБрдордЪреНрдпрд╛ рдЖрд░ рдлрд╛рдЗрд▓рдЪреНрдпрд╛ рдкреВрд░реНрдг рдорд╛рд░реНрдЧрд╛рд╡рд░. - рдкреБрдвреЗ, рд▓реЙрдиреНрдЪ рд╢реЗрдбреНрдпреВрд▓ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд┐рдВрдбреЛрдЬ рдЯрд╛рд╕реНрдХ рд╢реЗрдбреНрдпреБрд▓рд░ рд╡рд╛рдкрд░рд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рджрд░ рдЕрд░реНрдзреНрдпрд╛ рддрд╛рд╕рд╛рдиреЗ.
рдирд┐рд╖реНрдХрд░реНрд╖
рдпрд╛ рд▓реЗрдЦрд╛рдд, рдЖрдореНрд╣реА рдмреЙрдЯ рдХрд╕рд╛ рддрдпрд╛рд░ рдХрд░рд╛рдпрдЪрд╛ рдЖрдгрд┐ рдЯреЗрд▓реАрдЧреНрд░рд╛рдордордзреНрдпреЗ рд╡рд┐рд╡рд┐рдз рд╕реВрдЪрдирд╛ рдкрд╛рдард╡рдгреНрдпрд╛рд╕рд╛рдареА рддреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХрд╕рд╛ рдХрд░рд╛рдпрдЪрд╛ рддреЗ рд╢реЛрдзреВрди рдХрд╛рдврд▓реЗ.
рдореА рд╡рд┐рдВрдбреЛрдЬ рдЯрд╛рд╕реНрдХ рд╢реЗрдбреНрдпреБрд▓рд░рдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдЪреЗ рд╡рд░реНрдгрди рдХреЗрд▓реЗ рдЖрд╣реЗ, рдкрд░рдВрддреБ рдЖрдкрдг рдпрд╛ рд▓реЗрдЦрд╛рддреАрд▓ рд╕рд╛рдордЧреНрд░реАрдЪрд╛ рд╡рд╛рдкрд░ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕реВрдЪрдирд╛ рдкрд╛рдард╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдХрд░реВ рд╢рдХрддрд╛, рд╣рд╡рд╛рдорд╛рди рдЕрдВрджрд╛рдЬрд╛рдкрд╛рд╕реВрди рд╕реНрдЯреЙрдХ рдПрдХреНрд╕рдЪреЗрдВрдЬрд╡рд░реАрд▓ рд╕реНрдЯреЙрдХ рдХреЛрдЯреНрд╕рдкрд░реНрдпрдВрдд, рдХрд╛рд░рдг R рддреБрдореНрд╣рд╛рд▓рд╛ рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдбреЗрдЯрд╛ рд╕реНрд░реЛрддрд╛рдВрд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ.
рдкреБрдвреАрд▓ рд▓реЗрдЦрд╛рдд, рдЖрдореНрд╣реА рдмреЙрдЯрдордзреНрдпреЗ рдХрдорд╛рдВрдбреНрд╕ рдЖрдгрд┐ рдХреАрдмреЛрд░реНрдб рдХрд╕рд╛ рдЬреЛрдбрд╛рдпрдЪрд╛ рддреЗ рд╢реЛрдзреВрди рдХрд╛рдвреВ рдЬреЗрдгреЗрдХрд░реВрди рддреЗ рдХреЗрд╡рд│ рд╕реВрдЪрдирд╛рдЪ рдкрд╛рдард╡реВ рд╢рдХрдд рдирд╛рд╣реА рддрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХреНрд░рд┐рдпрд╛ рджреЗрдЦреАрд▓ рдХрд░реВ рд╢рдХреЗрд▓.
рд╕реНрддреНрд░реЛрдд: www.habr.com