เจ†เจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจฌเฉ‹เจŸ เจฒเจฟเจ–เจฃเจพ (เจญเจพเจ— 1): เจ‡เฉฑเจ• เจฌเฉ‹เจŸ เจฌเจฃเจพเจ‰เจฃเจพ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจตเจฟเฉฑเจš เจธเฉฐเจฆเฉ‡เจธเจผ เจญเฉ‡เจœเจฃ เจฒเจˆ เจตเจฐเจคเจฃเจพ

เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจฆเฉ‡ เจฆเจฐเจธเจผเจ• เจนเจฐ เจฆเจฟเจจ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจตเจง เจฐเจนเฉ‡ เจนเจจ, เจ‡เจน เจฎเฉˆเจธเฉ‡เจ‚เจœเจฐ เจฆเฉ€ เจธเจนเฉ‚เจฒเจค, เจšเฉˆเจจเจฒเจพเจ‚, เจšเฉˆเจŸเจพเจ‚ เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจ—เฉ€, เจ…เจคเฉ‡ เจฌเฉ‡เจธเจผเจ• เจฌเฉ‹เจŸ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจฆเฉเจ†เจฐเจพ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจนเฉˆเฅค

เจฌเฉ‹เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจคเฉเจนเจพเจกเฉ‡ เจ—เจพเจนเจ•เจพเจ‚ เจจเจพเจฒ เจธเจตเฉˆเจšเจฒเจฟเจค เจธเฉฐเจšเจพเจฐ เจคเฉ‹เจ‚ เจฒเฉˆ เจ•เฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจ†เจชเจฃเฉ‡ เจ•เฉฐเจฎเจพเจ‚ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจจ เจคเฉฑเจ•, เจฌเจฟเจฒเจ•เฉเจฒ เจตเฉฑเจ–เจฐเฉ‡ เจ‰เจฆเฉ‡เจธเจผเจพเจ‚ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจœเจผเจฐเฉ‚เจฐเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡, เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจฌเฉ‹เจŸ เจฆเฉเจ†เจฐเจพ เจ•เฉ‹เจˆ เจตเฉ€ เจ•เจพเจฐเจตเจพเจˆ เจ•เจฐเจจ เจฒเจˆ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹: เจกเฉ‡เจŸเจพ เจญเฉ‡เจœเฉ‹ เจœเจพเจ‚ เจฌเฉ‡เจจเจคเฉ€ เจ•เจฐเฉ‹, เจธเจฐเจตเจฐ 'เจคเฉ‡ เจ•เฉฐเจฎ เจšเจฒเจพเจ“, เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจœเจพเจฃเจ•เจพเจฐเฉ€ เจ‡เจ•เฉฑเจ เฉ€ เจ•เจฐเฉ‹, เจˆเจฎเฉ‡เจฒ เจญเฉ‡เจœเฉ‹, เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจฌเจนเฉเจค เจ•เฉเจเฅค

เจฎเฉˆเจ‚ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจฒเฉ‡เจ–เจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจฒเฉœเฉ€ เจฒเจฟเจ–เจฃ เจฆเฉ€ เจฏเฉ‹เจœเจจเจพ เจฌเจฃเจพ เจฐเจฟเจนเจพ เจนเจพเจ‚ เจ•เจฟ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจนเฉˆ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจฌเฉ‹เจŸ API, เจ…เจคเฉ‡ เจคเฉเจนเจพเจกเฉ€เจ†เจ‚ เจฒเฉ‹เฉœเจพเจ‚ เจฎเฉเจคเจพเจฌเจ• เจฌเฉ‹เจŸ เจฒเจฟเจ–เฉ‹เฅค

เจ†เจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจฌเฉ‹เจŸ เจฒเจฟเจ–เจฃเจพ (เจญเจพเจ— 1): เจ‡เฉฑเจ• เจฌเฉ‹เจŸ เจฌเจฃเจพเจ‰เจฃเจพ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจตเจฟเฉฑเจš เจธเฉฐเจฆเฉ‡เจธเจผ เจญเฉ‡เจœเจฃ เจฒเจˆ เจตเจฐเจคเจฃเจพ

เจ‡เจธ เจชเจนเจฟเจฒเฉ‡ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจ‡เจน เจชเจคเจพ เจฒเจ—เจพเจตเจพเจ‚เจ—เฉ‡ เจ•เจฟ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจฌเฉ‹เจŸ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจ‡เจ† เจœเจพเจตเฉ‡ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจตเจฟเฉฑเจš เจธเฉ‚เจšเจจเจพเจตเจพเจ‚ เจญเฉ‡เจœเจฃ เจฒเจˆ เจ•เจฟเจตเฉ‡เจ‚ เจตเจฐเจคเจฟเจ† เจœเจพเจตเฉ‡เฅค

เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจฌเฉ‹เจŸ เจนเฉ‹เจตเฉ‡เจ—เจพ เจœเฉ‹ เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจŸเจพเจธเจ• เจธเจผเจกเจฟเจŠเจฒเจฐ เจตเจฟเฉฑเจš เจธเจพเจฐเฉ‡ เจ•เจพเจฐเจœเจพเจ‚ เจฆเฉ‡ เจ†เจ–เจฐเฉ€ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเฉ‡เจ—เจพ, เจ…เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเฉ‚เจšเจจเจพเจตเจพเจ‚ เจญเฉ‡เจœเฉ‡เจ—เจพ เจœเฉ‡เจ•เจฐ เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เฉ‹เจˆ เจตเฉ€ เจ…เจธเจซเจฒ เจนเฉ‹ เจ—เจฟเจ† เจนเฉˆเฅค

เจชเจฐ เจฒเฉ‡เจ–เจพเจ‚ เจฆเฉ€ เจ‡เจธ เจฒเฉœเฉ€ เจฆเจพ เจ‰เจฆเฉ‡เจธเจผ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจธเจฟเจ–เจพเจ‰เจฃเจพ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟ เจ•เจฟเจธเฉ‡ เจ–เจพเจธ, เจคเฉฐเจ— เจ•เจพเจฐเจœ เจฒเจˆ เจฌเฉ‹เจŸ เจ•เจฟเจตเฉ‡เจ‚ เจฒเจฟเจ–เจฃเจพ เจนเฉˆ, เจชเจฐ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเฉˆเจ•เฉ‡เจœ เจฆเฉ‡ เจธเฉฐเจŸเฉˆเจ•เจธ เจจเจพเจฒ เจœเจพเจฃเฉ‚ เจ•เจฐเจตเจพเจ‰เจฃเจพ เจนเฉˆเฅค telegram.bot, เจ…เจคเฉ‡ เจ•เฉ‹เจก เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเจพเจฒ เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ€เจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ เจฌเฉ‹เจŸ เจฒเจฟเจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจธเจฎเฉฑเจ—เจฐเฉ€

เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจกเฉ‡เจŸเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจตเจฟเฉฑเจš เจฆเจฟเจฒเจšเจธเจชเฉ€ เจฐเฉฑเจ–เจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฎเฉ‡เจฐเฉ‡ เจตเจฟเฉฑเจš เจฆเจฟเจฒเจšเจธเจชเฉ€ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆ เจคเจพเจฐ ะธ YouTube เจšเฉˆเจจเจฒเฅค เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจธเจฎเฉฑเจ—เจฐเฉ€ เจ†เจฐ เจญเจพเจธเจผเจพ เจจเฉ‚เฉฐ เจธเจฎเจฐเจชเจฟเจค เจนเฉˆเฅค

  1. เจ‡เฉฑเจ• เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจฌเฉ‹เจŸ เจฌเจฃเจพเจ‰เจฃเจพ
  2. เจ†เจฐ เจตเจฟเฉฑเจš เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจฌเฉ‹เจŸ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจชเฉˆเจ•เฉ‡เจœ เจธเจฅเจพเจชเจค เจ•เจฐเจจเจพ
  3. เจ†เจฐ เจคเฉ‹เจ‚ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจจเฉ‚เฉฐ เจธเฉฐเจฆเฉ‡เจธเจผ เจญเฉ‡เจœ เจฐเจฟเจนเจพ เจนเฉˆ
  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 เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฌเฉ‹เจŸ เจฆเจพ เจจเจพเจฎ เจฆเจฐเจœ เจ•เจฐเจจ เจ…เจคเฉ‡ เจฒเฉŒเจ—เจ‡เจจ เจ•เจฐเจจ เจฒเจˆ เจ•เจนเฉ‡เจ—เจพเฅค

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 เจตเจฟเจ•เจพเจธ เจตเจพเจคเจพเจตเจฐเจฃ เจธเจฅเจพเจชเจค เจนเฉˆเฅค เจœเฉ‡ เจ…เจœเจฟเจนเจพ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจจเฉ‚เฉฐ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจตเฉ€เจกเฉ€เจ“ เจŸเจฟutorialเจŸเฉ‹เจฐเจฟเจ…เจฒ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจจเจพ เจนเฉˆเฅค

เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจฌเฉ‹เจŸ API เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจ…เจธเฉ€เจ‚ R เจชเฉˆเจ•เฉ‡เจœ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจพเจ‚เจ—เฉ‡ telegram.bot.

เจ†เจฐ เจตเจฟเฉฑเจš เจชเฉˆเจ•เฉ‡เจœ เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเจจเจพ เจซเฉฐเจ•เจธเจผเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ 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(), i.e. เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚:

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.

เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจŸเจพเจธเจ• เจธเจผเจกเจฟเจŠเจฒเจฐ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจ•เฉฐเจฎเจพเจ‚ เจฌเจพเจฐเฉ‡ เจธเฉ‚เจšเจจเจพเจตเจพเจ‚ เจญเฉ‡เจœเจฃเจพ เจœเฉ‹ เจ…เจธเจงเจพเจฐเจจ เจคเฉŒเจฐ 'เจคเฉ‡ เจ–เจคเจฎ เจนเฉ‹ เจ—เจ เจนเจจ

เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจŸเจพเจธเจ• เจธเจผเจกเจฟเจŠเจฒเจฐ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเฉˆเจ•เฉ‡เจœ เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ 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 config

[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. เจ‰เจธ เจซเฉ‹เจฒเจกเจฐ เจฆเจพ เจฎเจพเจฐเจ— เจฒเจฟเจ–เฉ‹ เจœเจฟเจธ เจตเจฟเฉฑเจš เจชเจพเจฅ เจธเจฟเจธเจŸเจฎ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจฟเฉฑเจš เจ†เจฐ เจ‡เฉฐเจธเจŸเจพเจฒ เจนเฉˆ; เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจตเจฟเฉฑเจš, เจฎเจพเจฐเจ— เจ•เฉเจ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจนเฉ‹เจตเฉ‡เจ—เจพ: C:Program FilesRR-4.0.2bin.
  2. เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจฒเจพเจˆเจจ เจจเจพเจฒ เจ‡เฉฑเจ• เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸเฉ‡เจฌเจฒ เจฌเฉˆเจŸ เจซเจพเจˆเจฒ เจฌเจฃเจพเจ“ R CMD BATCH C:rscriptscheck_botcheck_bot.R. เจฌเจฆเจฒเฉ‹ C:rscriptscheck_botcheck_bot.R เจคเฉเจนเจพเจกเฉ€ R เจซเจพเจˆเจฒ เจฆเฉ‡ เจชเฉ‚เจฐเฉ‡ เจฎเจพเจฐเจ— เจฒเจˆ.
  3. เจ…เฉฑเจ—เฉ‡, เจ‡เฉฑเจ• เจฒเจพเจ‚เจš เจธเจผเจกเจฟเจŠเจฒ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจ เจฒเจˆ เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจŸเจพเจธเจ• เจธเจผเจกเจฟเจŠเจฒเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจนเจฐ เจ…เฉฑเจงเฉ‡ เจ˜เฉฐเจŸเฉ‡ เจตเจฟเฉฑเจšเฅค

เจธเจฟเฉฑเจŸเจพ

เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจ‡เจน เจชเจคเจพ เจฒเจ—เจพเจ‡เจ† เจนเฉˆ เจ•เจฟ เจ‡เฉฑเจ• เจฌเฉ‹เจŸ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจ‡เจ† เจœเจพเจตเฉ‡ เจ…เจคเฉ‡ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจตเจฟเฉฑเจš เจตเฉฑเจ–-เจตเฉฑเจ– เจธเฉ‚เจšเจจเจพเจตเจพเจ‚ เจญเฉ‡เจœเจฃ เจฒเจˆ เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจ•เจฐเฉ€เจเฅค

เจฎเฉˆเจ‚ เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจŸเจพเจธเจ• เจธเจผเจกเจฟเจŠเจฒเจฐ เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ•เจฐเจจ เจฆเฉ‡ เจ•เฉฐเจฎ เจฆเจพ เจตเจฐเจฃเจจ เจ•เฉ€เจคเจพ เจนเฉˆ, เจชเจฐ เจคเฉเจธเฉ€เจ‚ เจธเจŸเจพเจ• เจเจ•เจธเจšเฉ‡เจ‚เจœ 'เจคเฉ‡ เจฎเฉŒเจธเจฎ เจฆเฉ€ เจญเจตเจฟเฉฑเจ–เจฌเจพเจฃเฉ€ เจคเฉ‹เจ‚ เจธเจŸเจพเจ• เจ•เฉ‹เจŸเจธ เจคเฉฑเจ•, เจ•เฉ‹เจˆ เจตเฉ€ เจธเฉ‚เจšเจจเจพเจตเจพเจ‚ เจญเฉ‡เจœเจฃ เจฒเจˆ เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเจšเจฒเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ•เจฟเจ‰เจ‚เจ•เจฟ R เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจกเฉ‡เจŸเจพ เจธเจฐเฉ‹เจคเจพเจ‚ เจจเจพเจฒ เจœเฉเฉœเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค

เจ…เจ—เจฒเฉ‡ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจ‡เจน เจชเจคเจพ เจฒเจ—เจพเจตเจพเจ‚เจ—เฉ‡ เจ•เจฟ เจฌเฉ‹เจŸ เจตเจฟเฉฑเจš เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจ•เฉ€เจฌเฉ‹เจฐเจก เจ•เจฟเจตเฉ‡เจ‚ เจœเฉ‹เฉœเจจเจพ เจนเฉˆ เจคเจพเจ‚ เจœเฉ‹ เจ‡เจน เจจเจพ เจธเจฟเจฐเจซเจผ เจธเฉ‚เจšเจจเจพเจตเจพเจ‚ เจญเฉ‡เจœ เจธเจ•เฉ‡, เจธเจ—เฉ‹เจ‚ เจนเฉ‹เจฐ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจตเฉ€ เจ•เจฐ เจธเจ•เฉ‡เฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹