R เชฎเชพเช‚ เชŸเซ‡เชฒเชฟเช—เซเชฐเชพเชฎ เชฌเซ‹เชŸ เชฒเช–เชตเซเช‚ (เชญเชพเช— 1): เชฌเซ‹เชŸ เชฌเชจเชพเชตเชตเซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชŸเซ‡เชฒเชฟเช—เซเชฐเชพเชฎเชฎเชพเช‚ เชธเช‚เชฆเซ‡เชถเชพ เชฎเซ‹เช•เชฒเชตเชพ เชฎเชพเชŸเซ‡

เชŸเซ‡เชฒเชฟเช—เซเชฐเชพเชฎ เชชเซเชฐเซ‡เช•เซเชทเช•เซ‹ เชฆเชฐเชฐเซ‹เชœ เชเชกเชชเชฅเซ€ เชตเชงเซ€ เชฐเชนเซเชฏเชพ เช›เซ‡, เช† เชฎเซ‡เชธเซ‡เชจเซเชœเชฐเชจเซ€ เชธเช—เชตเชก, เชšเซ‡เชจเชฒเซ‹, เชšเซ‡เชŸเซเชธเชจเซ€ เชนเชพเชœเชฐเซ€ เช…เชจเซ‡ เช…เชฒเชฌเชคเซเชค เชฌเซ‰เชŸเซ‹ เชฌเชจเชพเชตเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชฆเซเชตเชพเชฐเชพ เชธเซเชตเชฟเชงเชพ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชคเชฎเชพเชฐเชพ เช—เซเชฐเชพเชนเช•เซ‹ เชธเชพเชฅเซ‡ เชธเซเชตเชšเชพเชฒเชฟเชค เชธเช‚เชšเชพเชฐเชฅเซ€ เชฒเชˆเชจเซ‡ เชคเชฎเชพเชฐเชพ เชชเซ‹เชคเชพเชจเชพ เช•เชพเชฐเซเชฏเซ‹เชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเชตเชพ เชธเซเชงเซ€, เชฌเซ‰เชŸเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช…เชฒเช— เชนเซ‡เชคเซเช“ เชฎเชพเชŸเซ‡ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡.

เช†เชตเชถเซเชฏเช•เชชเชฃเซ‡, เชคเชฎเซ‡ เชฌเซ‹เชŸ เชฆเซเชตเชพเชฐเชพ เช•เซ‹เชˆเชชเชฃ เช•เชพเชฎเช—เซ€เชฐเซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชŸเซ‡เชฒเชฟเช—เซเชฐเชพเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹: เชกเซ‡เชŸเชพ เชฎเซ‹เช•เชฒเซ‹ เช…เชฅเชตเชพ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเซ‹, เชธเชฐเซเชตเชฐ เชชเชฐ เช•เชพเชฐเซเชฏเซ‹ เชšเชฒเชพเชตเซ‹, เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชฎเชพเชนเชฟเชคเซ€ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเซ‹, เช‡เชฎเซ‡เช‡เชฒเซเชธ เชฎเซ‹เช•เชฒเซ‹, เชตเช—เซ‡เชฐเซ‡.

เชนเซเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚ เชคเซ‡เชจเชพ เชชเชฐ เชฒเซ‡เช–เซ‹เชจเซ€ เชถเซเชฐเซ‡เชฃเซ€ เชฒเช–เชตเชพเชจเซ€ เชฏเซ‹เชœเชจเชพ เช˜เชกเซ€ เชฐเชนเซเชฏเซ‹ เช›เซเช‚ เชŸเซ‡เชฒเชฟเช—เซเชฐเชพเชฎ เชฌเซ‹เชŸ API, เช…เชจเซ‡ เชคเชฎเชพเชฐเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชคเซ‹เชจเซ‡ เช…เชจเซเชฐเซ‚เชช เชฌเซ‰เชŸเซ‹ เชฒเช–เซ‹.

R เชฎเชพเช‚ เชŸเซ‡เชฒเชฟเช—เซเชฐเชพเชฎ เชฌเซ‹เชŸ เชฒเช–เชตเซเช‚ (เชญเชพเช— 1): เชฌเซ‹เชŸ เชฌเชจเชพเชตเชตเซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชŸเซ‡เชฒเชฟเช—เซเชฐเชพเชฎเชฎเชพเช‚ เชธเช‚เชฆเซ‡เชถเชพ เชฎเซ‹เช•เชฒเชตเชพ เชฎเชพเชŸเซ‡

เช† เชชเซเชฐเชฅเชฎ เชฒเซ‡เช–เชฎเชพเช‚ เช†เชชเชฃเซ‡ เชŸเซ‡เชฒเชฟเช—เซเชฐเชพเชฎ เชฌเซ‹เชŸ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเซ‹ เช…เชจเซ‡ เชŸเซ‡เชฒเชฟเช—เซเชฐเชพเชฎเชฎเชพเช‚ เชธเซ‚เชšเชจเชพเช“ เชฎเซ‹เช•เชฒเชตเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ‹ เชคเซ‡ เชถเซ‹เชงเซ€เชถเซเช‚.

เชชเชฐเชฟเชฃเชพเชฎเซ‡, เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชเช• เชฌเซ‹เชŸ เชนเชถเซ‡ เชœเซ‡ เชตเชฟเชจเซเชกเซ‹เช เชŸเชพเชธเซเช• เชถเซ‡เชกเซเชฏเซ‚เชฒเชฐเชฎเชพเช‚เชจเชพ เชคเชฎเชพเชฎ เช•เชพเชฐเซเชฏเซ‹เชจเชพ เช›เซ‡เชฒเซเชฒเชพ เชเช•เซเชเชฟเช•เซเชฏเซเชถเชจเชจเซ€ เชธเซเชฅเชฟเชคเชฟ เชคเชชเชพเชธเชถเซ‡ เช…เชจเซ‡ เชœเซ‹ เชคเซ‡เชฎเชพเช‚เชฅเซ€ เช•เซ‹เชˆเชชเชฃ เชจเชฟเชทเซเชซเชณ เชœเชพเชฏ เชคเซ‹ เชคเชฎเชจเซ‡ เชธเซ‚เชšเชจเชพเช“ เชฎเซ‹เช•เชฒเชถเซ‡.

เชชเชฐเช‚เชคเซ เชฒเซ‡เช–เซ‹เชจเซ€ เช† เชถเซเชฐเซ‡เชฃเซ€เชจเซ‹ เชนเซ‡เชคเซ เชคเชฎเชจเซ‡ เชšเซ‹เช•เซเช•เชธ, เชธเชพเช‚เช•เชกเชพ เช•เชพเชฐเซเชฏ เชฎเชพเชŸเซ‡ เชฌเซ‹เชŸ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฒเช–เชตเซ‹ เชคเซ‡ เชถเซ€เช–เชตเชตเชพเชจเซ‹ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชคเชฎเชจเซ‡ เชชเซ‡เช•เซ‡เชœเชจเซ€ เชตเชพเช•เซเชฏเชฐเชšเชจเชพ เชธเชพเชฅเซ‡ เชชเชฐเชฟเชšเชฏ เช•เชฐเชพเชตเชตเชพเชจเซ‹ เช›เซ‡. telegram.bot, เช…เชจเซ‡ เช•เซ‹เชก เช‰เชฆเชพเชนเชฐเชฃเซ‹ เช•เซ‡ เชœเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชคเชฎเซ‡ เชคเชฎเชพเชฐเซ€ เชชเซ‹เชคเชพเชจเซ€ เชธเชฎเชธเซเชฏเชพเช“ เช‰เช•เซ‡เชฒเชตเชพ เชฎเชพเชŸเซ‡ เชฌเซ‰เชŸเซ‹ เชฒเช–เซ€ เชถเช•เซ‹ เช›เซ‹.

เช…เชจเซเช•เซเชฐเชฎเชฃเชฟเช•เชพ

เชœเซ‹ เชคเชฎเชจเซ‡ เชกเซ‡เชŸเชพ เชตเชฟเชถเซเชฒเซ‡เชทเชฃเชฎเชพเช‚ เชฐเชธ เชนเซ‹เชฏ, เชคเซ‹ เชคเชฎเชจเซ‡ เชฎเชพเชฐเชพเชฎเชพเช‚ เชฐเชธ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡ เชŸเซ‡เชฒเชฟเช—เซเชฐเชพเชฎ ะธ เชฏเซ เชŸเซเชฏเซเชฌ เชšเซ‡เชจเชฒเซ‹ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€ R เชญเชพเชทเชพเชจเซ‡ เชธเชฎเชฐเซเชชเชฟเชค เช›เซ‡.

  1. เชŸเซ‡เชฒเชฟเช—เซเชฐเชพเชฎ เชฌเซ‹เชŸ เชฌเชจเชพเชตเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช
  2. R เชฎเชพเช‚ เชŸเซ‡เชฒเชฟเช—เซเชฐเชพเชฎ เชฌเซ‹เชŸ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเซ‡เช•เซ‡เชœ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเซเช‚
  3. R เชฅเซ€ เชŸเซ‡เชฒเชฟเช—เซเชฐเชพเชฎ เชชเชฐ เชธเช‚เชฆเซ‡เชถเชพ เชฎเซ‹เช•เชฒเชตเชพ
  4. เช•เชพเชฐเซเชฏ เชธเซเช•เซ‡เชจ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชถเซ‡เชกเซเชฏเซ‚เชฒ เชธเซ‡เชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡
  5. เชจเชฟเชทเซเช•เชฐเซเชท

เชŸเซ‡เชฒเชฟเช—เซเชฐเชพเชฎ เชฌเซ‹เชŸ เชฌเชจเชพเชตเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช

เชชเซเชฐเชฅเชฎ, เช†เชชเชฃเซ‡ เชฌเซ‹เชŸ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช† เช–เชพเชธ เชฌเซ‹เชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชฌเซ‹เชŸเชซเซ‡เชงเชฐ, เชชเชฐ เชœเชพเช“ เช•เชกเซ€ เช…เชจเซ‡ เชฌเซ‹เชŸ เชชเชฐ เชฒเช–เซ‹ /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, [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 เชฎเชพเช‚ เชŸเซ‡เชฒเชฟเช—เซเชฐเชพเชฎ เชฌเซ‹เชŸ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเซ‡เช•เซ‡เชœ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเซเช‚

เชนเซเช‚ เชงเชพเชฐเซเช‚ เช›เซเช‚ เช•เซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ R เชญเชพเชทเชพ เช…เชจเซ‡ RStudio เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เชเชจเซเชตเชพเชฏเชฐเซเชจเชฎเซ‡เชจเซเชŸ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒ เช›เซ‡. เชœเซ‹ เช† เช•เชฟเชธเซเชธเซ‹ เชจเชฅเซ€, เชคเซ‹ เชคเชฎเซ‡ เช† เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹ เชตเชฟเชกเชฟเช“ เชชเชพเช  เชคเซ‡เชฎเชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเซเช‚.

Telegram Bot API เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช…เชฎเซ‡ R เชชเซ‡เช•เซ‡เชœเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚ telegram.bot.

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(), เชคเชฎเชจเซ‡ เชšเซ‡เชŸเชจเซ€ ID เชฎเซ‡เชณเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡ เชœเซ‡เชฎเชพเช‚เชฅเซ€ เชธเช‚เชฆเซ‡เชถ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹. เช…เชฎเชจเซ‡ เชฌเซ‹เชŸเชฎเชพเช‚เชฅเซ€ เชธเช‚เชฆเซ‡เชถเชพ เชฎเซ‹เช•เชฒเชตเชพ เชฎเชพเชŸเซ‡ เช† 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(), เชœเซ‡เชฎเชพเช‚ เชคเชฎเชพเชฐเซ‡ เชšเซ‡เชŸ ID, เชฎเซ‡เชธเซ‡เชœ เชŸเซ‡เช•เซเชธเซเชŸ เช…เชจเซ‡ เชฎเซ‡เชธเซ‡เชœ เชŸเซ‡เช•เซเชธเซเชŸ เชฎเชพเชฐเซเช•เช…เชช เชชเซเชฐเช•เชพเชฐ เชชเชพเชธ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชฎเชพเชฐเซเช•เช…เชช เชชเซเชฐเช•เชพเชฐ เชฎเชพเชฐเซเช•เชกเชพเช‰เชจ เช…เชฅเชตเชพ HTML เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เชฆเชฒเซ€เชฒ เชฆเซเชตเชพเชฐเชพ เชธเซ‡เชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ parse_mode.

# ะžั‚ะฟั€ะฐะฒะบะฐ ัะพะพะฑั‰ะตะฝะธั
bot$sendMessage(chat_id,
                text = "ะŸั€ะธะฒะตั‚, *ะถะธั€ะฝั‹ะน ั‚ะตะบัั‚* _ะบัƒั€ัะธะฒ_",
                parse_mode = "Markdown"
)

เชฎเชพเชฐเซเช•เชกเชพเช‰เชจ เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฟเช‚เช— เชฌเซ‡เชเชฟเช•เซเชธ:

  • เชฌเซ‹เชฒเซเชก เชซเซ‹เชจเซเชŸ * เชธเชพเชฅเซ‡ เชชเซเชฐเช•เชพเชถเชฟเชค เชฅเชพเชฏ เช›เซ‡:
    • เช‰เชฆเชพเชนเชฐเชฃ: *ะถะธั€ะฝั‹ะน ัˆั€ะธั‚ั„*
    • เชชเชฐเชฟเชฃเชพเชฎ: เชฌเซ‹เชฒเซเชก เชซเซ‹เชจเซเชŸ
  • เชคเซเชฐเชพเช‚เชธเชพ เช…เชจเซเชกเชฐเชธเซเช•เซ‹เชฐ เชฆเซเชตเชพเชฐเชพ เชธเซ‚เชšเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡:
    • เช‰เชฆเชพเชนเชฐเชฃ: _ะบัƒั€ัะธะฒ_
    • เชชเชฐเชฟเชฃเชพเชฎ: เชคเซเชฐเชพเช‚เชธเซ€
  • เชฎเซ‹เชจเซ‹เชธเซเชชเซ‡เชธ เชซเซ‹เชจเซเชŸ, เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เช•เซ‹เชกเชจเซ‡ เชนเชพเช‡เชฒเชพเช‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡, เชคเซ‡ เชเชชเซ‹เชธเซเชŸเซเชฐเซ‹เชซเซ€เชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เช›เซ‡ - `:
    • เช‰เชฆเชพเชนเชฐเชฃ: `เชฎเซ‹เชจเซ‹เชธเซเชชเซ‡เชธ เชซเซ‹เชจเซเชŸ`
    • เชชเชฐเชฟเชฃเชพเชฎ: ะผะพะฝะพัˆะธั€ะธะฝะฝั‹ะน ัˆั€ะธั„ั‚

HTML เชฎเชพเชฐเซเช•เช…เชช เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฟเช‚เช—เชจเซ€ เชฎเซ‚เชณเชญเซ‚เชค เชฌเชพเชฌเชคเซ‹:
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.

เชตเชฟเชจเซเชกเซ‹เช เชŸเชพเชธเซเช• เชถเซ‡เชกเซเชฏเซ‚เชฒเชฐ เชคเชชเชพเชธเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡ เช…เชจเซ‡ เช…เชธเชพเชงเชพเชฐเชฃ เชฐเซ€เชคเซ‡ เชธเชฎเชพเชชเซเชค เชฅเชฏเซ‡เชฒเชพ เช•เชพเชฐเซเชฏเซ‹ เชตเชฟเชถเซ‡ เชธเซ‚เชšเชจเชพเช“ เชฎเซ‹เช•เชฒเชตเซ€

Windows Task Scheduler เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซ‡ เชชเซ‡เช•เซ‡เชœ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเซเช‚ เชชเชกเชถเซ‡ 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"
  )

}

เช‰เชชเชฐเชจเชพ เช‰เชฆเชพเชนเชฐเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชคเชฎเชพเชฐเชพ เชฌเซ‹เชŸ เชŸเซ‹เช•เชจ เช…เชจเซ‡ เชคเชฎเชพเชฐเชพ เชšเซ‡เชŸ ID เชจเซ‡ เช•เซ‹เชกเชฎเชพเช‚ เชฌเชฆเชฒเซ‹.

เชคเชฎเซ‡ เชซเชฟเชฒเซเชŸเชฐเชฟเช‚เช— เช•เชพเชฐเซเชฏเซ‹ เชฎเชพเชŸเซ‡ เชถเชฐเชคเซ‹ เช‰เชฎเซ‡เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชธเชฟเชธเซเชŸเชฎเชจเซ‡ เชฌเชพเชฆ เช•เชฐเชคเชพเช‚, เชคเชฎเซ‡ เชฌเชจเชพเชตเซ‡เชฒเชพ เช•เชพเชฐเซเชฏเซ‹เชจเซ‡ เชœ เชคเชชเชพเชธเซ‹.

เชคเชฎเซ‡ เช…เชฒเช— เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชซเชพเช‡เชฒเชฎเชพเช‚ เชตเชฟเชตเชฟเชง เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชชเชฃ เชฎเซ‚เช•เซ€ เชถเช•เซ‹ เช›เซ‹, เช…เชจเซ‡ เชคเซ‡เชฎเชพเช‚ เชšเซ‡เชŸ เช†เชˆเชกเซ€ เช…เชจเซ‡ เชŸเซ‹เช•เชจ เชธเซเชŸเซ‹เชฐ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชคเชฎเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพ เชตเชพเช‚เชšเซ€ เชถเช•เซ‹ เช›เซ‹, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชชเซ‡เช•เซ‡เชœเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ 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. เช† เชซเชพเช‡เชฒเชจเซ‡ เชจเชฟเชฏเชฎเชฟเชค เชฐเซ€เชคเซ‡ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชถเซ‡เชกเซเชฏเซ‚เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช† เชชเช—เชฒเชพเช‚ เช…เชจเซเชธเชฐเซ‹:

  1. เชซเซ‹เชฒเซเชกเชฐเชจเซ‹ เชชเชพเชฅ เชฒเช–เซ‹ เชœเซ‡เชฎเชพเช‚ เชชเชพเชฅ เชธเชฟเชธเซเชŸเชฎ เชตเซ‡เชฐเซ€เชเชฌเชฒเชฎเชพเช‚ R เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒเซเช‚ เช›เซ‡; เชตเชฟเชจเซเชกเซ‹เชเชฎเชพเช‚, เชชเชพเชฅ เช•เช‚เชˆเช• เช†เชจเชพ เชœเซ‡เชตเซ‹ เชนเชถเซ‡: C:Program FilesRR-4.0.2bin.
  2. เชฎเชพเชคเซเชฐ เชเช• เชฒเชพเช‡เชจ เชธเชพเชฅเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชฌเซ‡เชŸ เชซเชพเช‡เชฒ เชฌเชจเชพเชตเซ‹ R CMD BATCH C:rscriptscheck_botcheck_bot.R. เชฌเชฆเชฒเซ‹ C:rscriptscheck_botcheck_bot.R เชคเชฎเชพเชฐเซ€ R เชซเชพเช‡เชฒเชจเชพ เชธเช‚เชชเซ‚เชฐเซเชฃ เชชเชพเชฅ เชชเชฐ เชœเชพเช“.
  3. เช†เช—เชณ, เชฒเซ‹เชจเซเชš เชถเซ‡เชกเซเชฏเซ‚เชฒ เชธเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ Windows Task Scheduler เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชฆเชฐ เช…เชกเชงเชพ เช•เชฒเชพเช•เซ‡.

เชจเชฟเชทเซเช•เชฐเซเชท

เช† เชฒเซ‡เช–เชฎเชพเช‚, เช…เชฎเซ‡ เชฌเซ‹เชŸ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเซ‹ เช…เชจเซ‡ เชŸเซ‡เชฒเชฟเช—เซเชฐเชพเชฎเชฎเชพเช‚ เชตเชฟเชตเชฟเชง เชธเซ‚เชšเชจเชพเช“ เชฎเซ‹เช•เชฒเชตเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ‹ เชคเซ‡ เชถเซ‹เชงเซ€ เช•เชพเชขเซเชฏเซเช‚.

เชฎเซ‡เช‚ เชตเชฟเชจเซเชกเซ‹เช เชŸเชพเชธเซเช• เชถเซ‡เชกเซเชฏเซ‚เชฒเชฐเชจเซ‡ เชฎเซ‹เชจเชฟเชŸเชฐ เช•เชฐเชตเชพเชจเชพ เช•เชพเชฐเซเชฏเชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซเชฏเซเช‚ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเชฎเซ‡ เช† เชฒเซ‡เช–เชฎเชพเช‚เชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‹เชˆเชชเชฃ เชธเซ‚เชšเชจเชพเช“ เชฎเซ‹เช•เชฒเชตเชพ เชฎเชพเชŸเซ‡ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชนเชตเชพเชฎเชพเชจเชจเซ€ เช†เช—เชพเชนเซ€เชฅเซ€ เชฒเชˆเชจเซ‡ เชธเซเชŸเซ‹เช• เชเช•เซเชธเชšเซ‡เชจเซเชœ เชชเชฐเชจเชพ เชธเซเชŸเซ‹เช• เช•เซเชตเซ‹เชŸเซเชธ เชธเซเชงเซ€, เช•เชพเชฐเชฃ เช•เซ‡ R เชคเชฎเชจเซ‡ เชฎเซ‹เชŸเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เชกเซ‡เชŸเชพ เชธเซเชคเซเชฐเซ‹เชคเซ‹ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชตเชพ เชฆเซ‡ เช›เซ‡.

เชนเชตเซ‡ เชชเช›เซ€เชจเชพ เชฒเซ‡เช–เชฎเชพเช‚, เช…เชฎเซ‡ เชฌเซ‹เชŸเชฎเชพเช‚ เช†เชฆเซ‡เชถเซ‹ เช…เชจเซ‡ เช•เซ€เชฌเซ‹เชฐเซเชก เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช‰เชฎเซ‡เชฐเชตเซเช‚ เชคเซ‡ เชถเซ‹เชงเซ€เชถเซเช‚ เชœเซ‡เชฅเซ€ เชคเซ‡ เชฎเชพเชคเซเชฐ เชธเซ‚เชšเชจเชพเช“ เชœ เชฎเซ‹เช•เชฒเซ€ เชถเช•เซ‡ เชจเชนเซ€เช‚, เชชเชฐเช‚เชคเซ เชตเชงเซ เชœเชŸเชฟเชฒ เช•เซเชฐเชฟเชฏเชพเช“ เชชเชฃ เช•เชฐเซ€ เชถเช•เซ‡.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹