рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХреЗ рджрд░реНрд╢рдХ рд╣рд░ рджрд┐рди рддреЗрдЬреА рд╕реЗ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВ, рдпрд╣ рдореИрд╕реЗрдВрдЬрд░ рдХреА рд╕реБрд╡рд┐рдзрд╛, рдЪреИрдирд▓реЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐, рдЪреИрдЯ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмреЙрдЯ рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╕реЗ рд╕реБрдЧрдо рд╣реИред
рдмреЙрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдкрдХреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рд╕реЗ рд▓реЗрдХрд░ рдЖрдкрдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рддрдХ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рдЖрдк рдмреЙрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЛрдИ рднреА рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдбреЗрдЯрд╛ рднреЗрдЬрдирд╛ рдпрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛, рд╕рд░реНрд╡рд░ рдкрд░ рдХрд╛рд░реНрдп рдЪрд▓рд╛рдирд╛, рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рдирд╛, рдИрдореЗрд▓ рднреЗрдЬрдирд╛, рдЗрддреНрдпрд╛рджрд┐ред
рдореИрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ рдЗрд╕ рдкрд░ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд▓рд┐рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ
рдЗрд╕ рдкрд╣рд▓реЗ рд▓реЗрдЦ рдореЗрдВ рд╣рдо рдЬрд╛рдиреЗрдВрдЧреЗ рдХрд┐ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдФрд░ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмреЙрдЯ рд╣реЛрдЧрд╛ рдЬреЛ рд╡рд┐рдВрдбреЛрдЬ рдЯрд╛рд╕реНрдХ рд╢реЗрдбреНрдпреВрд▓рд░ рдореЗрдВ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрдВрддрд┐рдо рдирд┐рд╖реНрдкрд╛рджрди рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рдЖрдкрдХреЛ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬреЗрдЧрд╛ред
рд▓реЗрдХрд┐рди рд▓реЗрдЦреЛрдВ рдХреА рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЖрдкрдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ, рд╕рдВрдХреАрд░реНрдг рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдмреЙрдЯ рд▓рд┐рдЦрдирд╛ рд╕рд┐рдЦрд╛рдирд╛ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдЖрдо рддреМрд░ рдкрд░ рдЖрдкрдХреЛ рдкреИрдХреЗрдЬ рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдирд╛ рд╣реИред telegram.bot
, рдФрд░ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдЬрд┐рдирдХреЗ рд╕рд╛рде рдЖрдк рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЙрдЯ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рд╛рдордЧреНрд░реА
рдпрджрд┐ рдЖрдк рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдореЗрд░реА рд░реБрдЪрд┐ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИ
рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдмрдирд╛рдирд╛ рдЖрд░ рдореЗрдВ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЖрд░ рд╕реЗ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдкрд░ рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛ рдХрд╛рд░реНрдп рд╕реНрдХреИрди рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реЗрдбреНрдпреВрд▓ рд╕реЗрдЯ рдХрд░рдирд╛ рдирд┐рд╖реНрдХрд░реНрд╖
рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдмрдирд╛рдирд╛
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдПрдХ рдмреЙрдЯ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдмреЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдмреЛрдЯрдлрд╛рджрд░, рдЬрд╛рдУ /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, [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 рднрд╛рд╖рд╛ рдФрд░ RStudio рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реНрдерд╛рдкрд┐рдд рд╣реИред рдЕрдЧрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рддреЛ рдЖрдк рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдЖрд░ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ
R рдореЗрдВ рдкреИрдХреЗрдЬ рдЗрдВрд╕реНрдЯрд╛рд▓реЗрд╢рди рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ install.packages()
, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЬрд┐рд╕ рдкреИрдХреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЙрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ install.packages("telegram.bot")
.
рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВ
рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЗрд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
library(telegram.bot)
рдЖрд░ рд╕реЗ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдкрд░ рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛
рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдмреЙрдЯ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓реЙрдЧрд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдРрд╕рд╛ рд╣реИ @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()
, рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЛ рдЪреИрдЯ рдЖрдИрдбреА, рд╕рдВрджреЗрд╢ рдЯреЗрдХреНрд╕реНрдЯ рдФрд░ рд╕рдВрджреЗрд╢ рдЯреЗрдХреНрд╕реНрдЯ рдорд╛рд░реНрдХрдЕрдк рдкреНрд░рдХрд╛рд░ рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдорд╛рд░реНрдХрдЕрдк рдкреНрд░рдХрд╛рд░ рдорд╛рд░реНрдХрдбрд╛рдЙрди рдпрд╛ HTML рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рддрд░реНрдХ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ parse_mode
.
# ╨Ю╤В╨┐╤А╨░╨▓╨║╨░ ╤Б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╤П
bot$sendMessage(chat_id,
text = "╨Я╤А╨╕╨▓╨╡╤В, *╨╢╨╕╤А╨╜╤Л╨╣ ╤В╨╡╨║╤Б╤В* _╨║╤Г╤А╤Б╨╕╨▓_",
parse_mode = "Markdown"
)
рдорд╛рд░реНрдХрдбрд╛рдЙрди рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ рдореВрд▓ рдмрд╛рддреЗрдВ:
- рдмреЛрд▓реНрдб рдлрд╝реЙрдиреНрдЯ рдХреЛ * рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
- рдЙрджрд╛рд╣рд░рдг:
*╨╢╨╕╤А╨╜╤Л╨╣ ╤И╤А╨╕╤В╤Д*
- рдкрд░рд┐рдгрд╛рдо: рдмреЛрд▓реНрдб рдлрд╝реЙрдиреНрдЯ
- рдЙрджрд╛рд╣рд░рдг:
- рдЗрдЯреИрд▓рд┐рдХ рдХреЛ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
- рдЙрджрд╛рд╣рд░рдг:
_╨║╤Г╤А╤Б╨╕╨▓_
- рдкрд░рд┐рдгрд╛рдо: рдЗрдЯреИрд▓рд┐рдХ
- рдЙрджрд╛рд╣рд░рдг:
- рдореЛрдиреЛрд╕реНрдкреЗрд╕ рдлрд╝реЙрдиреНрдЯ, рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдкреЛрд╕реНрдЯреНрд░реЛрдл рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - `:
- рдЙрджрд╛рд╣рд░рдг: `рдореЛрдиреЛрд╕реНрдкреЗрд╕ рдлрд╝реЙрдиреНрдЯ`
- рдкрд░рд┐рдгрд╛рдо:
╨╝╨╛╨╜╨╛╤И╨╕╤А╨╕╨╜╨╜╤Л╨╣ ╤И╤А╨╕╤Д╤В
HTML рдорд╛рд░реНрдХрдЕрдк рдлрд╝реЙрд░реНрдореЗрдЯ рдХрд░рдиреЗ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ:
HTML рдореЗрдВ, рдЖрдк рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рдЙрд╕ рднрд╛рдЧ рдХреЛ рд▓рдкреЗрдЯрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЯреИрдЧ рдореЗрдВ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП <╤В╨╡╨│>╤В╨╡╨║╤Б╤В</╤В╨╡╨│>
.
- <рдЯреИрдЧ> - рдУрдкрдирд┐рдВрдЧ рдЯреИрдЧ
- - рд╕рдорд╛рдкрди рдЯреИрдЧ
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 config
[telegram_bot]
;╨╜╨░╤Б╤В╤А╨╛╨╣╨║╨╕ ╤В╨╡╨╗╨╡╨│╤А╨░╨╝ ╨▒╨╛╤В╨░ ╨╕ ╤З╨░╤В╨░, ╨▓ ╨║╨╛╤В╨╛╤А╤Л╨╣ ╨▒╤Г╨┤╤Г╤В ╨┐╤А╨╕╤Е╨╛╨┤╨╕╤В╤М ╤Г╨▓╨╡╨┤╨╛╨╝╨╗╨╡╨╜╨╕╤П
chat_id=12345678
bot_token=123456789:abcdefghijklmnopqrstuvwxyz"
рдЖрд░ рдореЗрдВ рдПрдХ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╕реЗ рд╡реЗрд░рд┐рдПрдмрд▓ рдкрдврд╝рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг
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
. рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реЗрдбреНрдпреВрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрди рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ:
- рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдкрде рд▓рд┐рдЦреЗрдВ рдЬрд┐рд╕рдореЗрдВ рдкрде рд╕рд┐рд╕реНрдЯрдо рдЪрд░ рдореЗрдВ рдЖрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ; рд╡рд┐рдВрдбреЛрдЬрд╝ рдореЗрдВ, рдкрде рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛:
C:Program FilesRR-4.0.2bin
. - рдХреЗрд╡рд▓ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмреИрдЯ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ
R CMD BATCH C:rscriptscheck_botcheck_bot.R
. рдмрджрд▓рдиреЗ рдХреЗC:rscriptscheck_botcheck_bot.R
рдЖрдкрдХреА R рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреВрд░рд╛ рдкрдеред - рдЗрд╕рдХреЗ рдмрд╛рдж, рд▓реЙрдиреНрдЪ рд╢реЗрдбреНрдпреВрд▓ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рдЯрд╛рд╕реНрдХ рд╢реЗрдбреНрдпреВрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рд░ рдЖрдзреЗ рдШрдВрдЯреЗ рдореЗрдВред
рдирд┐рд╖реНрдХрд░реНрд╖
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдордиреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдХрд┐ рдПрдХ рдмреЙрдЯ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдФрд░ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдореИрдВрдиреЗ рд╡рд┐рдВрдбреЛрдЬ рдЯрд╛рд╕реНрдХ рд╢реЗрдбреНрдпреВрд▓рд░ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рдХрд╛рд░реНрдп рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдореМрд╕рдо рдХреЗ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рд╕реЗ рд▓реЗрдХрд░ рд╕реНрдЯреЙрдХ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдкрд░ рд╕реНрдЯреЙрдХ рдХреЛрдЯреНрд╕ рддрдХ рдХреЛрдИ рднреА рдЕрдзрд┐рд╕реВрдЪрдирд╛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЖрд▓реЗрдЦ рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрд░ рдЖрдкрдХреЛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗ рдХрд┐ рдмреЙрдЯ рдореЗрдВ рдХрдорд╛рдВрдб рдФрд░ рдПрдХ рдХреАрдмреЛрд░реНрдб рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП рддрд╛рдХрд┐ рдпрд╣ рди рдХреЗрд╡рд▓ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬ рд╕рдХреЗ, рдмрд▓реНрдХрд┐ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХреНрд░рд┐рдпрд╛рдПрдВ рднреА рдХрд░ рд╕рдХреЗред
рд╕реНрд░реЛрдд: www.habr.com