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

ะ’ เจชเจฟเจ›เจฒเฉ‡ เจชเฉเจฐเจ•เจพเจธเจผเจจ เจ…เจธเฉ€เจ‚ เจ‡เจน เจธเจฎเจ เจฒเจฟเจ† เจ•เจฟ เจฌเฉ‹เจŸ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจ‡เจ† เจœเจพเจตเฉ‡, เจ•เจฒเจพเจธ เจฆเฉ€ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจฃ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเฉ€ Bot เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจธเฉฐเจฆเฉ‡เจธเจผ เจญเฉ‡เจœเจฃ เจฆเฉ‡ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจคเฉ‹เจ‚ เจœเจพเจฃเฉ‚ เจนเฉ‹ เจ—เจเฅค

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

เจ‡เจธ เจตเจพเจฐ เจ…เจธเฉ€เจ‚ เจ‡เจน เจชเจคเจพ เจฒเจ—เจพเจตเจพเจ‚เจ—เฉ‡ เจ•เจฟ เจธเจพเจกเฉ‡ เจฌเฉ‹เจŸ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจธเฉเจฐเจœเฉ€เจค เจ•เจฐเจจเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธ เจตเจฟเฉฑเจš เจ•เจฎเจพเจ‚เจก เจธเจนเจพเจ‡เจคเจพ เจ•เจฟเจตเฉ‡เจ‚ เจธเจผเจพเจฎเจฒ เจ•เจฐเจจเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจ•เจฒเจพเจธ เจจเจพเจฒ เจœเจพเจฃเฉ‚ เจตเฉ€ เจนเฉ‹เจตเจพเจ‚เจ—เฉ‡เฅค Updater.

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

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

เจฒเฉœเฉ€ เจฆเฉ‡ เจธเจพเจฐเฉ‡ เจฒเฉ‡เจ– โ€œR เจตเจฟเฉฑเจš เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจฌเฉ‹เจŸ เจฒเจฟเจ–เจฃเจพโ€

  1. เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจฌเฉ‹เจŸ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจตเจฟเฉฑเจš เจธเฉฐเจฆเฉ‡เจธเจผ เจญเฉ‡เจœเจฃ เจฒเจˆ เจตเจฐเจคเจฆเฉ‡ เจนเจพเจ‚
  2. เจฌเฉ‹เจŸ เจตเจฟเฉฑเจš เจ•เจฎเจพเจ‚เจก เจธเจนเจพเจ‡เจคเจพ เจ…เจคเฉ‡ เจธเฉเจจเฉ‡เจนเจพ เจซเจฟเจฒเจŸเจฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹

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

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

  1. เจ…เฉฑเจชเจกเฉ‡เจŸเจฐ เจ•เจฒเจพเจธ
  2. เจธเฉฐเจญเจพเจฒเจฃ เจตเจพเจฒเจพ โ€” เจธเฉฐเจญเจพเจฒเจฃ เจตเจพเจฒเจพ
  3. เจฌเฉ‹เจŸ, เจ•เจฎเจพเจ‚เจก เจนเฉˆเจ‚เจกเจฒเจฐ เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเฉ€ เจ•เจฎเจพเจ‚เจก เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹
  4. เจŸเฉˆเจ•เจธเจŸ เจธเฉเจจเฉ‡เจนเจพ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐ เจ…เจคเฉ‡ เจซเจฟเจฒเจŸเจฐ
  5. เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจจเจพเจฒ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจเจพ
  6. เจฌเฉ‹เจŸ เจจเฉ‚เฉฐ เจฌเฉˆเจ•เจ—เฉเจฐเจพเจŠเจ‚เจก เจตเจฟเฉฑเจš เจšเจฒเจพเจ“
  7. เจธเจฟเฉฑเจŸเจพ

เจ…เฉฑเจชเจกเฉ‡เจŸเจฐ เจ•เจฒเจพเจธ

Updater เจ‡เฉฑเจ• เจ…เจœเจฟเจนเฉ€ เจ•เจฒเจพเจธ เจนเฉˆ เจœเฉ‹ เจคเฉเจนเจพเจกเฉ‡ เจฒเจˆ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจฌเฉ‹เจŸ เจจเฉ‚เฉฐ เจตเจฟเจ•เจธเจค เจ•เจฐเจจเจพ เจ†เจธเจพเจจ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจนเฉเฉฑเจก เจฆเฉ‡ เจนเฉ‡เจ เจพเจ‚ เจ•เจฒเจพเจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ€ เจนเฉˆ Dispetcher. เจ•เจฒเจพเจธ เจ…เจธเจพเจˆเจจเจฎเฉˆเจ‚เจŸ Updater เจฌเฉ‹เจŸ เจคเฉ‹เจ‚ เจ…เจชเจกเฉ‡เจŸเจธ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจนเฉˆ (เจชเจฟเจ›เจฒเฉ‡ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจ‡เจธ เจ‰เจฆเฉ‡เจธเจผ เจฒเจˆ เจตเจฟเจงเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจธเฉ€ getUpdates()), เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ…เฉฑเจ—เฉ‡ เจคเจฌเจฆเฉ€เจฒ เจ•เจฐเฉ‹ Dispetcher.

เจ‡เจธเจฆเฉ€ เจตเจพเจฐเฉ€ เจตเจฟเฉฑเจš Dispetcher เจคเฉเจนเจพเจกเฉ‡ เจฆเฉเจ†เจฐเจพ เจฌเจฃเจพเจ เจ—เจ เจนเฉˆเจ‚เจกเจฒเจฐ เจธเจผเจพเจฎเจฒ เจนเจจ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ•เจฒเจพเจธ เจ†เจฌเจœเฉˆเจ•เจŸ Handler.

เจธเฉฐเจญเจพเจฒเจฃ เจตเจพเจฒเจพ โ€” เจธเฉฐเจญเจพเจฒเจฃ เจตเจพเจฒเจพ

เจ‰เจนเจจเจพเจ‚ เจนเฉˆเจ‚เจกเจฒเจฐเจพเจ‚ เจจเจพเจฒ เจœเจฟเจนเจจเจพเจ‚ เจตเจฟเฉฑเจš เจคเฉเจธเฉ€เจ‚ เจธเจผเจพเจฎเจฒ เจ•เจฐเจฆเฉ‡ เจนเฉ‹ Dispetcher เจตเฉฑเจ–-เจตเฉฑเจ– เจ˜เจŸเจจเจพเจตเจพเจ‚ เจฒเจˆ เจฌเฉ‹เจŸ เจชเฉเจฐเจคเฉ€เจ•เจฐเจฎ. เจตเจฟเจš เจ‡เจธ เจฒเฉ‡เจ– เจจเฉ‚เฉฐ เจฒเจฟเจ–เจฃ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ telegram.bot เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€เจ†เจ‚ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจนเฉˆเจ‚เจกเจฒเจฐ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ:

  • MessageHandler โ€” เจธเฉเจจเฉ‡เจนเจพ เจนเฉˆเจ‚เจกเจฒเจฐ
  • CommandHandler โ€” เจ•เจฎเจพเจ‚เจก เจนเฉˆเจ‚เจกเจฒเจฐ
  • CallbackQueryHandler โ€” เจ‡เจจเจฒเจพเจˆเจจ เจคเฉ‹เจ‚ เจญเฉ‡เจœเฉ‡ เจ—เจ เจ•เฉ€เจฌเฉ‹เจฐเจกเจพเจ‚ เจฒเจˆ เจกเจพเจŸเจพ เจนเฉˆเจ‚เจกเจฒเจฐ
  • ErrorHandler - เจฌเฉ‹เจŸ เจคเฉ‹เจ‚ เจ…เฉฑเจชเจกเฉ‡เจŸ เจฆเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจเจฐเจฐ เจนเฉˆเจ‚เจกเจฒเจฐ

เจฌเฉ‹เจŸ, เจ•เจฎเจพเจ‚เจก เจนเฉˆเจ‚เจกเจฒเจฐ เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเฉ€ เจ•เจฎเจพเจ‚เจก เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹

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

เจ…เจธเฉ€เจ‚ เจธเจงเจพเจฐเจจ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจพเจ‚เจ—เฉ‡, เจฏเจพเจจเฉ€. เจ†เจ‰ เจ†เจชเจฃเฉ‡ เจฌเฉ‹เจŸ เจจเฉ‚เฉฐ เจนเฉเจ•เจฎ 'เจคเฉ‡ เจนเฉˆเจฒเฉ‹ เจ•เจนเจฟเจฃเจพ เจธเจฟเจ–เจพเจˆเจ /hi.

เจ•เฉ‹เจก 1: เจฌเฉ‹เจŸ เจจเฉ‚เฉฐ เจนเฉˆเจฒเฉ‹ เจ•เจนเจฟเจฃเจพ เจธเจฟเจ–เจพเจ‰เจฃเจพ

library(telegram.bot)

# ัะพะทะดะฐั‘ะผ ัะบะทะตะผะฟะปัั€ ะบะปะฐััะฐ Updater
updater <- Updater('ะขะžะšะ•ะ ะ’ะะจะ•ะ“ะž ะ‘ะžะขะ')

# ะŸะธัˆะตะผ ะผะตั‚ะพะด ะดะปั ะฟั€ะธะฒะตั‚ัะฒะธั
say_hello <- function(bot, update) {

  # ะ˜ะผั ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั ั ะบะพั‚ะพั€ั‹ะผ ะฝะฐะดะพ ะฟะพะทะดะฐั€ะพะฒะฐั‚ัŒัั
  user_name <- update$message$from$first_name

  # ะžั‚ะฟั€ะฐะฒะบะฐ ะฟั€ะธะฒะตั‚ัั‚ะฒะตะฝะฝะพะณะพ ัะพะพะฑั‰ะตะฝะธั
  bot$sendMessage(update$message$chat_id, 
                  text = paste0("ะœะพั‘ ะฟะพั‡ั‚ะตะฝะธะต, ", user_name, "!"), 
                  parse_mode = "Markdown")

}

# ัะพะทะดะฐั‘ะผ ะพะฑั€ะฐะฑะพั‚ั‡ะธะบ 
hi_hendler <- CommandHandler('hi', say_hello)

# ะดะพะฑะฐะปัะตะผ ะพะฑั€ะฐะฑะพั‚ั‡ะธะบ ะฒ ะดะธัะฟะตั‚ั‡ะตั€
updater <- updater + hi_hendler

# ะทะฐะฟัƒัะบะฐะตะผ ะฑะพั‚ะฐ
updater$start_polling()

'เจคเฉเจนเจพเจกเฉ‡ เจฌเฉ‹เจŸ เจŸเฉ‹เจ•เจจ' เจจเฉ‚เฉฐ เจ…เจธเจฒ เจŸเฉ‹เจ•เจจ เจจเจพเจฒ เจฌเจฆเจฒเจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ‰เจชเจฐเฉ‹เจ•เจค เจ•เฉ‹เจก เจฆเฉ€ เจ‰เจฆเจพเจนเจฐเจจ เจšเจฒเจพเจ“, เจœเจฟเจธ เจฐเจพเจนเฉ€เจ‚ เจคเฉเจธเฉ€เจ‚ เจฌเฉ‹เจŸ เจฌเจฃเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพ เจธเฉ€ เจฌเฉ‹เจŸเจซเฉˆเจฆเจฐ (เจฎเฉˆเจ‚ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฌเฉ‹เจŸ เจฌเจฃเจพเจ‰เจฃ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เฉ€เจคเฉ€ เจชเจนเจฟเจฒเจพ เจฒเฉ‡เจ–).

.เฉฐเจ— start_polling() เจ•เจฒเจพเจธ Updater, เจœเฉ‹ เจ•เฉ‹เจก เจฆเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจฌเฉ‹เจŸ เจคเฉ‹เจ‚ เจ…เฉฑเจชเจกเฉ‡เจŸ เจฆเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจ•เจฐเจจ เจ…เจคเฉ‡ เจชเฉเจฐเฉ‹เจธเฉˆเจธ เจ•เจฐเจจ เจฆเจพ เจ‡เฉฑเจ• เจฌเฉ‡เจ…เฉฐเจค เจฒเฉ‚เจช เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจนเฉเจฃ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจจเฉ‚เฉฐ เจ–เฉ‹เจฒเฉเจนเฉ‹ เจ…เจคเฉ‡ เจ†เจชเจฃเฉ‡ เจฌเฉ‹เจŸ เจจเฉ‚เฉฐ เจชเจนเจฟเจฒเฉ€ เจ•เจฎเจพเจ‚เจก เจฒเจฟเจ–เฉ‹ /hi.

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

เจนเฉเจฃ เจธเจพเจกเจพ เจฌเฉ‹เจŸ เจ•เจฎเจพเจ‚เจก เจจเฉ‚เฉฐ เจธเจฎเจเจฆเจพ เจนเฉˆ /hi, เจ…เจคเฉ‡ เจœเจพเจฃเจฆเจพ เจนเฉˆ เจ•เจฟ เจธเจพเจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจจเจฎเจธเจ•เจพเจฐ เจ•เจฐเจจเจพ เจนเฉˆเฅค

เจฏเฉ‹เจœเจจเจพเจฌเฉฑเจง เจคเฉŒเจฐ 'เจคเฉ‡, เจ…เจœเจฟเจนเฉ‡ เจธเจงเจพเจฐเจจ เจฌเฉ‹เจŸ เจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจนเฉ‡เจ เจพเจ‚ เจฆเจฐเจธเจพเจ‡เจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

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

  1. เจ•เจฒเจพเจธ เจฆเฉ€ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจฃ เจฌเจฃเจพเจ“ Updater;
  2. เจ…เจธเฉ€เจ‚ เจขเฉฐเจ— เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚, เจฏเจพเจจเฉ€. เจซเฉฐเจ•เจธเจผเจจ เจœเฉ‹ เจธเจพเจกเจพ เจฌเฉ‹เจŸ เจ•เจฐเฉ‡เจ—เจพเฅค เจ•เฉ‹เจก เจ‰เจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจš เจ‡เจน เจ‡เฉฑเจ• เจซเฉฐเจ•เจธเจผเจจ เจนเฉˆ say_hello(). เจซเฉฐเจ•เจธเจผเจจ เจœเฉ‹ เจคเฉเจธเฉ€เจ‚ เจฌเฉ‹เจŸ เจตเจฟเจงเฉ€เจ†เจ‚ เจตเจœเฉ‹เจ‚ เจตเจฐเจคเฉ‹เจ—เฉ‡ เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจš เจฆเฉ‹ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸ เจนเฉ‹เจฃเฉ‡ เจšเจพเจนเฉ€เจฆเฉ‡ เจนเจจ - เจฐเฉ‹เจฌเฉ‹เจŸ ะธ เจ…เฉฑเจชเจกเฉ‡เจŸ, เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจตเจฟเจ•เจฒเจชเจฟเจ• - เจ†เจฐเจ—เจœเจผ. เจฆเจฒเฉ€เจฒ เจฐเฉ‹เจฌเฉ‹เจŸ, เจ‡เจน เจคเฉเจนเจพเจกเจพ เจฌเฉ‹เจŸ เจนเฉˆ, เจ‡เจธเจฆเฉ€ เจฎเจฆเจฆ เจจเจพเจฒ เจคเฉเจธเฉ€เจ‚ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจฆเจพ เจœเจตเจพเจฌ เจฆเฉ‡ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจธเฉเจจเฉ‡เจนเฉ‡ เจญเฉ‡เจœ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจœเจพเจ‚ เจฌเฉ‹เจŸ เจฒเจˆ เจ‰เจชเจฒเจฌเจง เจ•เฉ‹เจˆ เจนเฉ‹เจฐ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจฆเจฒเฉ€เจฒ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ‡เจน เจ‰เจน เจนเฉˆ เจœเฉ‹ เจฌเฉ‹เจŸ เจจเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจคเฉ‹เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพ, เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจตเจฟเจงเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจชเจนเจฟเจฒเฉ‡ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจ•เฉ€ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพ เจนเฉˆ getUpdates(). เจฆเจฒเฉ€เจฒ เจ†เจฐเจ—เจœเจผ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฎเจพเจ‚เจก เจฆเฉ‡ เจจเจพเจฒ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉเจ†เจฐเจพ เจญเฉ‡เจœเฉ‡ เจ—เจ เจตเจพเจงเฉ‚ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจ…เจธเฉ€เจ‚ เจ‡เจธ เจตเจฟเจธเจผเฉ‡ 'เจคเฉ‡ เจฅเฉ‹เฉœเฉเจนเฉ€ เจฆเฉ‡เจฐ เจฌเจพเจ…เจฆ เจตเจพเจชเจธ เจ†เจตเจพเจ‚เจ—เฉ‡;
  3. เจ…เจธเฉ€เจ‚ เจนเฉˆเจ‚เจกเจฒเจฐ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚, i.e. เจ…เจธเฉ€เจ‚ เจ•เฉเจ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจชเจฟเจ›เจฒเฉ‡ เจชเฉœเจพเจ… 'เจคเฉ‡ เจฌเจฃเจพเจ เจ—เจ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจจเจพเจฒ เจœเฉ‹เฉœเจฆเฉ‡ เจนเจพเจ‚เฅค เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจนเฉˆเจ‚เจกเจฒเจฐ เจ‡เฉฑเจ• เจŸเจฐเจฟเฉฑเจ—เจฐ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจ‡เฉฑเจ• เจ‡เจตเฉˆเจ‚เจŸ เจœเฉ‹ เจ•เฉเจ เจฌเฉ‹เจŸ เจซเฉฐเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจธเจพเจกเฉ‡ เจ‰เจฆเจพเจนเจฐเจฃ เจตเจฟเฉฑเจš, เจ…เจœเจฟเจนเจพ เจŸเจฐเจฟเฉฑเจ—เจฐ เจ‡เฉฑเจ• เจ•เจฎเจพเจ‚เจก เจญเฉ‡เจœ เจฐเจฟเจนเจพ เจนเฉˆ /hi, เจ…เจคเฉ‡ เจŸเฉ€เจฎ เจฆเฉเจ†เจฐเจพ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ hi_hendler <- CommandHandler('hi', say_hello). เจชเจนเจฟเจฒเจพ เจซเฉฐเจ•เจธเจผเจจ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸ CommandHandler() เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ•เจฎเจพเจ‚เจก เจฆเฉ‡เจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ hi, เจœเจฟเจธ เจฆเจพ เจฌเฉ‹เจŸ เจœเจตเจพเจฌ เจฆเฉ‡เจตเฉ‡เจ—เจพเฅค เจฆเฉ‚เจœเฉ€ เจฆเจฒเฉ€เจฒ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฌเฉ‹เจŸ เจตเจฟเจงเฉ€ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ, เจ…เจธเฉ€เจ‚ เจตเจฟเจงเฉ€ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจพเจ‚เจ—เฉ‡ say_hello, เจœเจฟเจธ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‡เจ† เจœเจพเจตเฉ‡เจ—เจพ เจœเฉ‡เจ•เจฐ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‡ เจชเจนเจฟเจฒเฉ€ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸ เจตเจฟเฉฑเจš เจฆเจฟเฉฑเจคเฉ€ เจ•เจฎเจพเจ‚เจก เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เฉ€เจคเจพ;
  4. เจ…เฉฑเจ—เฉ‡, เจ…เจธเฉ€เจ‚ เจฌเจฃเจพเจ เจนเฉˆเจ‚เจกเจฒเจฐ เจจเฉ‚เฉฐ เจธเจพเจกเฉ‡ เจ•เจฒเจพเจธ เจ‰เจฆเจพเจนเจฐเจจ เจฆเฉ‡ เจกเจฟเจธเจชเฉˆเจšเจฐ เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฆเฉ‡ เจนเจพเจ‚ Updater. เจคเฉเจธเฉ€เจ‚ เจ•เจˆ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจจเจพเจฒ เจนเฉˆเจ‚เจกเจฒเจฐ เจœเฉ‹เฉœ เจธเจ•เจฆเฉ‡ เจนเฉ‹; เจ‰เจชเจฐเฉ‹เจ•เจค เจ‰เจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจš, เจฎเฉˆเจ‚ เจธเจพเจˆเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจธเจญ เจคเฉ‹เจ‚ เจธเจฐเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจนเฉˆ +, i.e. updater <- updater + hi_hendler. เจ‡เจนเฉ€ เจคเจฐเฉ€เจ•เจพ เจตเจฐเจค เจ•เฉ‡ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ add_handler(), เจœเฉ‹ เจ•เจฟ เจ•เจฒเจพเจธ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเฉˆ Dispatcher, เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจขเฉฐเจ— เจจเฉ‚เฉฐ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฒเฉฑเจญ เจธเจ•เจฆเฉ‡ เจนเฉ‹: updater$dispatcher$add_handler();
  5. เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฌเฉ‹เจŸ เจจเฉ‚เฉฐ เจšเจฒเจพเจ“ start_polling().

เจŸเฉˆเจ•เจธเจŸ เจธเฉเจจเฉ‡เจนเจพ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐ เจ…เจคเฉ‡ เจซเจฟเจฒเจŸเจฐ

เจ…เจธเฉ€เจ‚ เจ‡เจน เจชเจคเจพ เจฒเจ—เจพเจ‡เจ† เจนเฉˆ เจ•เจฟ เจฌเฉ‹เจŸ เจจเฉ‚เฉฐ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจญเฉ‡เจœเจฃเฉ€เจ†เจ‚ เจนเจจ, เจชเจฐ เจ•เจˆ เจตเจพเจฐ เจธเจพเจจเฉ‚เฉฐ เจฌเฉ‹เจŸ เจจเฉ‚เฉฐ เจจเจพ เจธเจฟเจฐเจซเจผ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจฆเจพ เจœเจตเจพเจฌ เจฆเฉ‡เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจฌเจฒเจ•เจฟ เจ•เฉเจ เจจเจฟเจฏเจฎเจค เจŸเฉˆเจ•เจธเจŸ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจฆเจพ เจตเฉ€. เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเฉเจจเฉ‡เจนเจพ เจนเฉˆเจ‚เจกเจฒเจฐ - เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ MessageHandler.

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

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

เจ•เฉ‹เจก 2: เจ‡เฉฑเจ• เจŸเฉˆเจ•เจธเจŸ เจธเฉเจจเฉ‡เจนเจพ เจนเฉˆเจ‚เจกเจฒเจฐ เจ…เจคเฉ‡ เจซเจฟเจฒเจŸเจฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹

library(telegram.bot)

# ัะพะทะดะฐั‘ะผ ัะบะทะตะผะฟะปัั€ ะบะปะฐััะฐ Updater
updater <- Updater('ะขะžะšะ•ะ ะ’ะะจะ•ะ“ะž ะ‘ะžะขะ')

# ะŸะธัˆะตะผ ะผะตั‚ะพะด ะดะปั ะฟั€ะธะฒะตั‚ัะฒะธั
## ะบะพะผะฐะฝะดะฐ ะฟั€ะธะฒะตั‚ะฒะธั
say_hello <- function(bot, update) {

  # ะ˜ะผั ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั ั ะบะพั‚ะพั€ั‹ะผ ะฝะฐะดะพ ะฟะพะทะดะฐั€ะพะฒะฐั‚ัŒัั
  user_name <- update$message$from$first_name

  # ะžั‚ะฟั€ะฐะฒะปัะตะผ ะฟั€ะธะฒะตั‚ัะฒะตะฝะฝะพะต ัะพะพะฑั‰ะตะฝะธะต
  bot$sendMessage(update$message$chat_id, 
                  text = paste0("ะœะพั‘ ะฟะพั‡ั‚ะตะฝะธะต, ", user_name, "!"),
                  parse_mode = "Markdown",
                  reply_to_message_id = update$message$message_id)

}

# ัะพะทะดะฐั‘ะผ ั„ะธะปัŒั‚ั€ั‹
MessageFilters$hi <- BaseFilter(function(message) {

  # ะฟั€ะพะฒะตั€ัะตะผ, ะฒัั‚ั€ะตั‡ะฐะตั‚ัั ะปะธ ะฒ ั‚ะตะบัั‚ะต ัะพะพะฑั‰ะตะฝะธั ัะปะพะฒะฐ: ะฟั€ะธะฒะตั‚, ะทะดั€ะฐะฒัั‚ะฒัƒะน, ัะฐะปัŽั‚, ั…ะฐะน, ะฑะพะฝะถัƒั€
  grepl(x           = message$text, 
        pattern     = 'ะฟั€ะธะฒะตั‚|ะทะดั€ะฐะฒัั‚ะฒัƒะน|ัะฐะปัŽั‚|ั…ะฐะน|ะฑะพะฝะถัƒั€',
        ignore.case = TRUE)
  }
)

# ัะพะทะดะฐั‘ะผ ะพะฑั€ะฐะฑะพั‚ั‡ะธะบ 
hi_hendler <- CommandHandler('hi', say_hello) # ะพะฑั€ะฐะฑะพั‚ั‡ะธะบ ะบะพะผะฐะฝะดั‹ hi
hi_txt_hnd <- MessageHandler(say_hello, filters = MessageFilters$hi)

# ะดะพะฑะฐะปัะตะผ ะพะฑั€ะฐะฑะพั‚ั‡ะธะบะธ ะฒ ะดะธัะฟะตั‚ั‡ะตั€
updater <- updater + 
             hi_hendler +
             hi_txt_hnd

# ะทะฐะฟัƒัะบะฐะตะผ ะฑะพั‚ะฐ
updater$start_polling()

'เจคเฉเจนเจพเจกเฉ‡ เจฌเฉ‹เจŸ เจŸเฉ‹เจ•เจจ' เจจเฉ‚เฉฐ เจ…เจธเจฒ เจŸเฉ‹เจ•เจจ เจจเจพเจฒ เจฌเจฆเจฒเจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ‰เจชเจฐเฉ‹เจ•เจค เจ•เฉ‹เจก เจฆเฉ€ เจ‰เจฆเจพเจนเจฐเจจ เจšเจฒเจพเจ“, เจœเจฟเจธ เจฐเจพเจนเฉ€เจ‚ เจคเฉเจธเฉ€เจ‚ เจฌเฉ‹เจŸ เจฌเจฃเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพ เจธเฉ€ เจฌเฉ‹เจŸเจซเฉˆเจฆเจฐ (เจฎเฉˆเจ‚ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฌเฉ‹เจŸ เจฌเจฃเจพเจ‰เจฃ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เฉ€เจคเฉ€ เจชเจนเจฟเจฒเจพ เจฒเฉ‡เจ–).

เจนเฉเจฃ เจ†เจ‰ เจฌเฉ‹เจŸ เจจเฉ‚เฉฐ เจชเจนเจฟเจฒเจพเจ‚ เจธเฉ‚เจšเฉ€เจฌเฉฑเจง เจธเจผเฉเจญเจ•เจพเจฎเจจเจพเจตเจพเจ‚ เจตเจพเจฒเฉ‡ เจธเจผเจฌเจฆเจพเจ‚ เจตเจพเจฒเฉ‡ เจ•เจˆ เจธเฉฐเจฆเฉ‡เจธเจผ เจญเฉ‡เจœเจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ€เจ:
เจ†เจฐ (เจญเจพเจ— 2) เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจฌเฉ‹เจŸ เจฒเจฟเจ–เจฃเจพ: เจฌเฉ‹เจŸ เจตเจฟเฉฑเจš เจ•เจฎเจพเจ‚เจก เจธเจนเจพเจ‡เจคเจพ เจ…เจคเฉ‡ เจธเฉฐเจฆเฉ‡เจธเจผ เจซเจฟเจฒเจŸเจฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเจจเจพ

เจ‡เจธ เจฒเจˆ, เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจ…เจธเฉ€เจ‚ เจฌเฉ‹เจŸ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจนเฉˆเจฒเฉ‹ เจ•เจนเจฟเจฃเจพ เจนเฉ€ เจจเจนเฉ€เจ‚ เจธเจฟเจ–เจพเจ‡เจ†, เจชเจฐ เจ‡เฉฑเจ• เจจเจฎเจธเจ•เจพเจฐ เจฆเจพ เจœเจตเจพเจฌ เจฆเฉ‡เจฃเจพเฅค เจ…เจธเฉ€เจ‚ เจฆเจฒเฉ€เจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ…เจœเจฟเจนเจพ เจ•เฉ€เจคเจพ เจœเจตเจพเจฌ_เจจเฉ‚เฉฐ_เจธเฉเจจเฉ‡เจนเฉ‡_เจ†เจˆเจกเฉ€, เจœเฉ‹ เจ•เจฟ เจตเจฟเจงเฉ€ เจตเจฟเฉฑเจš เจ‰เจชเจฒเจฌเจง เจนเฉˆ sendMessage(), เจœเจฟเจธ เจตเจฟเฉฑเจš เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‰เจธ เจธเฉฐเจฆเฉ‡เจธเจผ เจฆเฉ€ เจ†เจˆเจกเฉ€ เจจเฉ‚เฉฐ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจจ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจœเจฟเจธเจฆเจพ เจคเฉเจธเฉ€เจ‚ เจœเจตเจพเจฌ เจฆเฉ‡เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹เฅค เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจธเฉเจจเฉ‡เจนเจพ เจ†เจˆเจกเฉ€ เจชเฉเจฐเจพเจชเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹: update$message$message_id.

เจชเจฐ เจฎเฉเฉฑเจ– เจ•เฉฐเจฎ เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ‰เจน เจซเฉฐเจ•เจธเจผเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฌเฉ‹เจŸ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจซเจฟเจฒเจŸเจฐ เจœเฉ‹เฉœเจจเจพ เจธเฉ€ BaseFilter():

# ัะพะทะดะฐั‘ะผ ั„ะธะปัŒั‚ั€ั‹
MessageFilters$hi <- BaseFilter( 

  # ะฐะฝะพะฝะธะผะฝะฐั ั„ะธะปัŒั‚ั€ัƒัŽั‰ะฐั ั„ัƒะฝะบั†ะธั
  function(message) {

    # ะฟั€ะพะฒะตั€ัะตะผ, ะฒัั‚ั€ะตั‡ะฐะตั‚ัั ะปะธ ะฒ ั‚ะตะบัั‚ะต ัะพะพะฑั‰ะตะฝะธั ัะปะพะฒะฐ ะฟั€ะธะฒะตั‚ัั‚ะฒะธั
    grepl(x           = message$text, 
          pattern     = 'ะฟั€ะธะฒะตั‚|ะทะดั€ะฐะฒัั‚ะฒัƒะน|ัะฐะปัŽั‚|ั…ะฐะน|ะฑะพะฝะถัƒั€',
          ignore.case = TRUE)
  }

)

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

เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ BaseFilter() เจคเฉเจนเจพเจจเฉ‚เฉฐ เจซเจฟเจฒเจŸเจฐ เจซเฉฐเจ•เจธเจผเจจ เจชเจพเจธ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจซเจฟเจฒเจŸเจฐ เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจซเฉฐเจ•เจธเจผเจจ เจนเฉˆ เจœเฉ‹ เจ‡เฉฑเจ• เจธเฉเจจเฉ‡เจนเจพ เจ‰เจฆเจพเจนเจฐเจจ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจตเจพเจชเจธเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆ เจธเฉฑเจš, เจœ เจ—เจฒเจค. เจธเจพเจกเฉ‡ เจ‰เจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ เจซเฉฐเจ•เจธเจผเจจ เจฒเจฟเจ–เจฟเจ† เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจซเฉฐเจ•เจธเจผเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ grepl() เจฎเฉˆเจธเฉ‡เจœ เจŸเฉˆเจ•เจธเจŸ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจœเฉ‡เจ•เจฐ เจ‡เจน เจฐเฉˆเจ—เฉ‚เจฒเจฐ เจธเจฎเฉ€เจ•เจฐเจจ เจจเจพเจฒ เจฎเฉ‡เจฒ เจ–เจพเจ‚เจฆเจพ เจนเฉˆ ะฟั€ะธะฒะตั‚|ะทะดั€ะฐะฒัั‚ะฒัƒะน|ัะฐะปัŽั‚|ั…ะฐะน|ะฑะพะฝะถัƒั€ เจตเจพเจชเจธเฉ€ เจธเฉฑเจš,.

เจ…เฉฑเจ—เฉ‡ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจธเฉเจจเฉ‡เจนเจพ เจนเฉˆเจ‚เจกเจฒเจฐ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚ hi_txt_hnd <- MessageHandler(say_hello, filters = MessageFilters$hi). เจชเจนเจฟเจฒเจพ เจซเฉฐเจ•เจธเจผเจจ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸ MessageHandler() เจ‰เจน เจคเจฐเฉ€เจ•เจพ เจนเฉˆ เจœเฉ‹ เจนเฉˆเจ‚เจกเจฒเจฐ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเฉ‡เจ—เจพ, เจ…เจคเฉ‡ เจฆเฉ‚เจœเจพ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸ เจซเจฟเจฒเจŸเจฐ เจนเฉˆ เจœเจฟเจธ เจฆเฉเจ†เจฐเจพ เจ‡เจธเจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจ‡เจน เจ‰เจน เจซเจฟเจฒเจŸเจฐ เจนเฉˆ เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจฌเจฃเจพเจ‡เจ† เจนเฉˆ MessageFilters$hi.

เจ–เฉˆเจฐ, เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจกเจฟเจธเจชเฉˆเจšเจฐ เจตเจฟเฉฑเจš เจฌเจฃเจพเจ‡เจ† เจนเฉˆเจ‚เจกเจฒเจฐ เจœเฉ‹เฉœเจฆเฉ‡ เจนเจพเจ‚ hi_txt_hnd.

updater <- updater + 
             hi_hendler +
             hi_txt_hnd

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฎเฉˆเจ‚ เจ‰เฉฑเจชเจฐ เจฒเจฟเจ–เจฟเจ† เจนเฉˆ, เจชเฉˆเจ•เฉ‡เจœ เจตเจฟเฉฑเจš telegram.bot เจ…เจคเฉ‡ เจตเจธเจคเฉ‚ เจธเฉเจจเฉ‡เจนเจพ เจซเจฟเจฒเจŸเจฐ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจฌเจฟเจฒเจŸ-เจ‡เจจ เจซเจฟเจฒเจŸเจฐเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจธเฉˆเฉฑเจŸ เจนเฉˆ เจœเฉ‹ เจคเฉเจธเฉ€เจ‚ เจตเจฐเจค เจธเจ•เจฆเฉ‡ เจนเฉ‹:

  • เจธเจพเจฐเฉ‡ - เจธเจพเจฐเฉ‡ เจธเฉเจจเฉ‡เจนเฉ‡
  • เจŸเฉˆเจ•เจธเจŸ - เจŸเฉˆเจ•เจธเจŸ เจธเฉเจจเฉ‡เจนเฉ‡
  • เจ•เจฎเจพเจ‚เจก - เจ•เจฎเจพเจ‚เจกเจพเจ‚, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹เจฃ เจตเจพเจฒเฉ‡ เจธเฉเจจเฉ‡เจนเฉ‡ /
  • เจœเจตเจพเจฌ - เจธเฉเจจเฉ‡เจนเฉ‡ เจœเฉ‹ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจธเฉเจจเฉ‡เจนเฉ‡ เจฆเจพ เจœเจตเจพเจฌ เจนเจจ
  • เจ†เจกเฉ€เจ“ โ€” เจ‡เฉฑเจ• เจ†เจกเฉ€เจ“ เจซเจพเจ‡เจฒ เจฐเฉฑเจ–เจฃ เจตเจพเจฒเฉ‡ เจธเฉเจจเฉ‡เจนเฉ‡
  • เจฆเจธเจคเจพเจตเฉ‡เจœเจผ โ€” เจญเฉ‡เจœเฉ‡ เจ—เจ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจจเจพเจฒ เจธเฉเจจเฉ‡เจนเฉ‡
  • เจซเฉ‹เจŸเฉ‹ - เจญเฉ‡เจœเฉ‡ เจ—เจ เจšเจฟเฉฑเจคเจฐเจพเจ‚ เจตเจพเจฒเฉ‡ เจธเฉเจจเฉ‡เจนเฉ‡
  • เจธเจŸเจฟเฉฑเจ•เจฐ - เจญเฉ‡เจœเฉ‡ เจ—เจ เจธเจŸเจฟเฉฑเจ•เจฐ เจตเจพเจฒเฉ‡ เจธเฉเจจเฉ‡เจนเฉ‡
  • เจตเฉ€เจกเฉ€เจ“ โ€” เจตเฉ€เจกเฉ€เจ“ เจฆเฉ‡ เจจเจพเจฒ เจธเฉเจจเฉ‡เจนเฉ‡
  • เจตเฉŒเจ‡เจธ - เจตเฉŒเจ‡เจธ เจธเฉเจจเฉ‡เจนเฉ‡
  • เจธเฉฐเจชเจฐเจ• โ€” เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉ€ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจธเจฎเฉฑเจ—เจฐเฉ€ เจตเจพเจฒเฉ‡ เจธเฉเจจเฉ‡เจนเฉ‡
  • เจŸเจฟเจ•เจพเจฃเจพ โ€” เจญเฉ‚-เจธเจฅเจพเจจ เจฆเฉ‡ เจจเจพเจฒ เจธเฉเจจเฉ‡เจนเฉ‡
  • เจธเจฅเจพเจจ - เจซเจพเจฐเจตเจฐเจก เจ•เฉ€เจคเฉ‡ เจธเฉเจจเฉ‡เจนเฉ‡
  • เจ–เฉ‡เจก โ€” เจ–เฉ‡เจกเจพเจ‚

เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจนเฉˆเจ‚เจกเจฒเจฐ เจตเจฟเฉฑเจš เจ•เฉเจ เจซเจฟเจฒเจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹ เจคเจพเจ‚ เจธเจฟเจฐเจซเจผ เจšเจฟเฉฐเจจเฉเจน เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹ | - เจ‡เฉฑเจ• เจฒเจพเจœเจผเฉ€เจ•เจฒ เจฆเฉ‡ เจคเฉŒเจฐ เจคเฉ‡ เจœเจพเจ‚, เจ…เจคเฉ‡ เจธเจพเจˆเจจ & เจฒเจพเจœเจผเฉ€เจ•เจฒ เจฆเฉ‡ เจคเฉŒเจฐ เจคเฉ‡ ะ˜. เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจฌเฉ‹เจŸ เจ‡เฉฑเจ• เจตเฉ€เจกเฉ€เจ“, เจšเจฟเฉฑเจคเจฐ เจœเจพเจ‚ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ 'เจคเฉ‡ เจ‰เจธเฉ‡ เจตเจฟเจงเฉ€ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเฉ‡, เจคเจพเจ‚ เจ‡เฉฑเจ• เจธเฉเจจเฉ‡เจนเจพ เจนเฉˆเจ‚เจกเจฒเจฐ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€ เจ‰เจฆเจพเจนเจฐเจฃ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹:

handler <- MessageHandler(callback, 
  MessageFilters$video | MessageFilters$photo | MessageFilters$document
)

เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจจเจพเจฒ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจเจพ

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

เจนเฉ‡เจ เจพเจ‚ เจ‡เฉฑเจ• เจฌเฉ‹เจŸ เจฆเฉ€ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจฆเจฟเฉฑเจคเฉ€ เจ—เจˆ เจนเฉˆ เจœเฉ‹, เจ‡เฉฑเจ• เจฆเจฟเฉฑเจคเฉ€ เจฎเจฟเจคเฉ€ เจ…เจคเฉ‡ เจฆเฉ‡เจธเจผ เจจเฉ‚เฉฐ เจฆเจฟเฉฑเจคเฉ‡ เจ—เจ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‰เจคเจชเจพเจฆเจจ เจ•เฉˆเจฒเฉฐเจกเจฐ เจคเฉ‹เจ‚ เจฆเจฟเจจ เจฆเฉ€ เจ•เจฟเจธเจฎ เจตเจพเจชเจธ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเจพ เจฌเฉ‹เจŸ เจ‰เจคเจชเจพเจฆเจจ เจ•เฉˆเจฒเฉฐเจกเจฐ API เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ isdayoff.ru.

เจ•เฉ‹เจก 3: เจฌเฉ‹เจŸ เจœเฉ‹ เจฎเจฟเจคเฉ€ เจ…เจคเฉ‡ เจฆเฉ‡เจธเจผ เจฆเฉเจ†เจฐเจพ เจฐเจฟเจชเฉ‹เจฐเจŸ เจ•เจฐเจฆเจพ เจนเฉˆ

library(telegram.bot)

# ัะพะทะดะฐั‘ะผ ัะบะทะตะผะฟะปัั€ ะบะปะฐััะฐ Updater
updater <- Updater('1165649194:AAFkDqIzQ6Wq5GV0YU7PmEZcv1gmWIFIB_8')

# ะŸะธัˆะตะผ ะผะตั‚ะพะด ะดะปั ะฟั€ะธะฒะตั‚ัะฒะธั
## ะบะพะผะฐะฝะดะฐ ะฟั€ะธะฒะตั‚ะฒะธั
check_date <- function(bot, update, args) {

  # ะฒั…ะพะดัั‰ะธะต ะดะฐะฝะฝั‹ะต
  day     <- args[1]  # ะดะฐั‚ะฐ
  country <- args[2]  # ัั‚ั€ะฐะฝะฐ

  # ะฟั€ะพะฒะตั€ะบะฐ ะฒะฒะตะดั‘ะฝะฝั‹ั… ะฟะฐั€ะฐะผะตั‚ั€ะพะฒ
  if ( !grepl('\d{4}-\d{2}-\d{2}', day) ) {

    # Send Custom Keyboard
    bot$sendMessage(update$message$chat_id, 
                    text = paste0(day, " - ะฝะตะบะพั€ั€ะตั‚ะบะฝะฐั ะดะฐั‚ะฐ, ะฒะฒะตะดะธั‚ะต ะดะฐั‚ัƒ ะฒ ั„ะพั€ะผะฐั‚ะต ะ“ะ“ะ“ะ“-ะœะœ-ะ”ะ”"),
                    parse_mode = "Markdown")

  } else {
    day <- as.Date(day)
    # ะฟะตั€ะตะฒะพะดะธะผ ะฒ ั„ะพั€ะผะฐั‚ POSIXtl
    y <- format(day, "%Y")
    m <- format(day, "%m")
    d <- format(day, "%d")

  }

  # ัั‚ั€ะฐะฝะฐ ะดะปั ะฟั€ะพะฒะตั€ะบะธ
  ## ะฟั€ะพะฒะตั€ัะตะผ ะทะฐะดะฐะฝะฐ ะปะธ ัั‚ั€ะฐะฝะฐ
  ## ะตัะปะธ ะฝะต ะทะฐะดะฐะฝะฐ ัƒัั‚ะฐะฝะฐะฒะปะธะฒะฐะตะผ ru
  if ( ! country %in% c('ru', 'ua', 'by', 'kz', 'us') ) {

    # Send Custom Keyboard
    bot$sendMessage(update$message$chat_id, 
                    text = paste0(country, " - ะฝะตะบะพั€ั€ะตั‚ะบั‚ะฝั‹ะน ะบะพะด ัั‚ั€ะฐะฝั‹, ะฒะพะทะผะพะถะฝะฝั‹ะต ะทะฝะฐั‡ะตะฝะธั: ru, by, kz, ua, us. ะ—ะฐะฟั€ะพัˆะตะฝั‹ ะดะฐะฝะฝั‹ะต ะฟะพ ะ ะพััะธะธ."),
                    parse_mode = "Markdown")

    country <- 'ru'

  }

  # ะทะฐะฟั€ะพั ะดะฐะฝะฝั‹ั… ะธะท API
  # ะบะพะผะฟะพะฝะพะฒะบะฐ HTTP ะทะฐะฟั€ะพัะฐ
  url <- paste0("https://isdayoff.ru/api/getdata?",
                "year=",  y, "&",
                "month=", m, "&",
                "day=",   d, "&",
                "cc=",    country, "&",
                "pre=1&",
                "covid=1")

  # ะฟะพะปัƒั‡ะฐะตะผ ะพั‚ะฒะตั‚
  res <- readLines(url)

  # ะธะฝั‚ั€ะตะฟั€ะตั‚ะฐั†ะธั ะพั‚ะฒะตั‚ะฐ
  out <- switch(res, 
                "0"   = "ะ ะฐะฑะพั‡ะธะน ะดะตะฝัŒ",
                "1"   = "ะะตั€ะฐะฑะพั‡ะธะน ะดะตะฝัŒ",
                "2"   = "ะกะพะบั€ะฐั‰ั‘ะฝะฝั‹ะน ั€ะฐะฑะพั‡ะธะน ะดะตะฝัŒ",
                "4"   = "covid-19",
                "100" = "ะžัˆะธะฑะบะฐ ะฒ ะดะฐั‚ะต",
                "101" = "ะ”ะฐะฝะฝั‹ะต ะฝะต ะฝะฐะนะดะตะฝั‹",
                "199" = "ะžัˆะธะฑะบะฐ ัะตั€ะฒะธัะฐ")

  # ะพั‚ะฟั€ะฐะฒะปัะตะผ ัะพะพะฑั‰ะตะฝะธะต
  bot$sendMessage(update$message$chat_id, 
                  text = paste0(day, " - ", out),
                  parse_mode = "Markdown")

}

# ัะพะทะดะฐั‘ะผ ะพะฑั€ะฐะฑะพั‚ั‡ะธะบ 
date_hendler <- CommandHandler('check_date', check_date, pass_args = TRUE)

# ะดะพะฑะฐะปัะตะผ ะพะฑั€ะฐะฑะพั‚ั‡ะธะบ ะฒ ะดะธัะฟะตั‚ั‡ะตั€
updater <- updater + date_hendler

# ะทะฐะฟัƒัะบะฐะตะผ ะฑะพั‚ะฐ
updater$start_polling()

'เจคเฉเจนเจพเจกเฉ‡ เจฌเฉ‹เจŸ เจŸเฉ‹เจ•เจจ' เจจเฉ‚เฉฐ เจ…เจธเจฒ เจŸเฉ‹เจ•เจจ เจจเจพเจฒ เจฌเจฆเจฒเจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ‰เจชเจฐเฉ‹เจ•เจค เจ•เฉ‹เจก เจฆเฉ€ เจ‰เจฆเจพเจนเจฐเจจ เจšเจฒเจพเจ“, เจœเจฟเจธ เจฐเจพเจนเฉ€เจ‚ เจคเฉเจธเฉ€เจ‚ เจฌเฉ‹เจŸ เจฌเจฃเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพ เจธเฉ€ เจฌเฉ‹เจŸเจซเฉˆเจฆเจฐ (เจฎเฉˆเจ‚ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฌเฉ‹เจŸ เจฌเจฃเจพเจ‰เจฃ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เฉ€เจคเฉ€ เจชเจนเจฟเจฒเจพ เจฒเฉ‡เจ–).

เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจฌเฉ‹เจŸ เจฌเจฃเจพเจ‡เจ† เจนเฉˆ เจœเจฟเจธเจฆเฉ‡ เจ…เจธเจฒเจพ เจตเจฟเฉฑเจš เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจคเจฐเฉ€เจ•เจพ เจนเฉˆ check_date, เจ‡เจธ เจตเจฟเจงเฉ€ เจจเฉ‚เฉฐ เจ‰เจธเฉ‡ เจจเจพเจฎ เจฆเฉ€ เจ•เจฎเจพเจ‚เจก เจฆเฉเจ†เจฐเจพ เจฌเฉเจฒเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

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

เจ•เจฎเจพเจ‚เจก เจฆเฉ‡ เจจเจพเจฒ เจตเจพเจงเฉ‚ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเจตเฉ€เจ•เจพเจฐ เจ•เจฐเจจ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจœเฉ‹ เจตเจฟเจงเฉ€ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚, เจ‰เจธ เจฒเจˆ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹ pass_args = TRUE เจซเฉฐเจ•เจธเจผเจจ เจตเจฟเฉฑเจš CommandHandler(), เจ…เจคเฉ‡ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸเจพเจ‚ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ‡เฉฑเจ• เจตเจฟเจงเฉ€ เจฌเจฃเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡ เจฐเฉ‹เจฌเฉ‹เจŸ, เจ…เฉฑเจชเจกเฉ‡เจŸ เจ‡เฉฑเจ• เจตเจฟเจ•เจฒเจชเจฟเจ• เจฌเจฃเจพเจ“ - เจ†เจฐเจ—เจœเจผ. เจ‡เจธ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจฌเจฃเจพเจˆ เจ—เจˆ เจตเจฟเจงเฉ€ เจ‰เจนเจจเจพเจ‚ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเจตเฉ€เจ•เจพเจฐ เจ•เจฐเฉ‡เจ—เฉ€ เจœเฉ‹ เจคเฉเจธเฉ€เจ‚ เจ•เจฎเจพเจ‚เจก เจจเจพเจฎ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจฌเฉ‹เจŸ เจจเฉ‚เฉฐ เจชเจพเจธ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เฅค เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจชเฉ‡เจธ เจฆเฉเจ†เจฐเจพ เจตเฉฑเจ– เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ; เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจŸเฉˆเจ•เจธเจŸ เจตเฉˆเจ•เจŸเจฐ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจตเจฟเจงเฉ€ เจตเจฟเฉฑเจš เจญเฉ‡เจœเจฟเจ† เจœเจพเจตเฉ‡เจ—เจพเฅค

เจ†เจ‰ เจธเจพเจกเฉ‡ เจฌเฉ‹เจŸ เจจเฉ‚เฉฐ เจฒเจพเจ‚เจš เจ…เจคเฉ‡ เจŸเฉˆเจธเจŸ เจ•เจฐเฉ€เจเฅค

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

เจฌเฉ‹เจŸ เจจเฉ‚เฉฐ เจฌเฉˆเจ•เจ—เฉเจฐเจพเจŠเจ‚เจก เจตเจฟเฉฑเจš เจšเจฒเจพเจ“

เจ†เจ–เจฐเฉ€ เจชเฉœเจพเจ… เจœเฉ‹ เจธเจพเจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจ‰เจน เจนเฉˆ เจฌเฉˆเจ•เจ—เฉเจฐเจพเจ‰เจ‚เจก เจตเจฟเฉฑเจš เจฌเฉ‹เจŸ เจจเฉ‚เฉฐ เจฒเจพเจ‚เจš เจ•เจฐเจจเจพ.

เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจ•เจฐเฉ‹:

  1. เจฌเฉ‹เจŸ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ R เจจเจพเจฒ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เจฐเฉ‹เฅค RStudio เจตเจฟเฉฑเจš เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจ‡เจน เจฎเฉ€เจจเฉ‚ เจฆเฉเจ†เจฐเจพ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจซเจพเจ‡เจฒ, เจŸเฉ€เจฎ เจฌเจคเฉŒเจฐ เจฎเจนเจฟเจซเจผเฉ‚เจœเจผ เจ•เจฐเฉ‹ ....
  2. เจชเจพเจฅ เจจเฉ‚เฉฐ เจฌเจฟเจจ เจซเฉ‹เจฒเจกเจฐ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹, เจœเฉ‹ เจฌเจฆเจฒเฉ‡ เจตเจฟเฉฑเจš เจ‰เจธ เจซเฉ‹เจฒเจกเจฐ เจตเจฟเฉฑเจš เจธเจฅเจฟเจค เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจคเฉเจธเฉ€เจ‚ R เจญเจพเจธเจผเจพ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เฉ€เจคเจพ เจนเฉˆ, เจชเจพเจฅ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ, เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เฉฑเจฅเฉ‡.
  3. เจ‡เฉฑเจ• เจจเจฟเจฏเจฎเจค เจŸเฉˆเจ•เจธเจŸ เจซเจพเจˆเจฒ เจฌเจฃเจพเจ“ เจœเจฟเจธ เจตเจฟเฉฑเจš 1 เจฒเจพเจˆเจจ เจฒเจฟเจ–เฉ‹: R CMD BATCH C:UsersAlseyDocumentsmy_bot.R... เจฆเฉ‡ เจฌเจœเจพเจ C:UsersAlseyDocumentsmy_bot.R เจ†เจชเจฃเฉ€ เจฌเฉ‹เจŸ เจธเจ•เฉเจฐเจฟเจชเจŸ เจฆเจพ เจฎเจพเจฐเจ— เจฒเจฟเจ–เฉ‹เฅค เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚, เจ‡เจน เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆ เจ•เจฟ เจฐเจธเจคเฉ‡ เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจธเจฟเจฐเจฟเจฒเจฟเจ• เจ…เฉฑเจ–เจฐ เจœเจพเจ‚ เจ–เจพเจฒเฉ€ เจฅเจพเจ‚ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจฌเฉ‹เจŸ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจชเฉˆเจฆเจพ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‡เจธเจจเฉ‚เฉฐ เจธเฉ‡เจต เจ•เจฐเฉ‹, เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจจเจพเจฒ เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ เจจเฉ‚เฉฐ เจฌเจฆเจฒเฉ‹ txt 'เจคเฉ‡ เจฌเฉฑเจฒเฉ‡เจฌเจพเจœเจผเฉ€.
  4. เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจŸเจพเจธเจ• เจธเจผเจกเจฟเจŠเจฒเจฐ เจ–เฉ‹เจฒเฉเจนเฉ‹, เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฆเฉ‡ เจ•เจˆ เจคเจฐเฉ€เจ•เฉ‡ เจนเจจ, เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆ, เจ•เฉ‹เจˆ เจตเฉ€ เจซเฉ‹เจฒเจกเจฐ เจ–เฉ‹เจฒเฉเจนเฉ‹ เจ…เจคเฉ‡ เจเจกเจฐเฉˆเฉฑเจธ เจฆเจฟเจ“ %windir%system32taskschd.msc /s. เจนเฉ‹เจฐ เจฒเจพเจ‚เจš เจตเจฟเจงเฉ€เจ†เจ‚ เจฒเฉฑเจญเฉ€เจ†เจ‚ เจœเจพ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจ เจ‡เฉฑเจฅเฉ‡.
  5. เจธเจผเจกเจฟเจŠเจฒเจฐ เจฆเฉ‡ เจ‰เฉฑเจชเจฐ เจธเฉฑเจœเฉ‡ เจฎเฉ€เจจเฉ‚ เจตเจฟเฉฑเจš, "เจŸเจพเจธเจ• เจฌเจฃเจพเจ“..." 'เจคเฉ‡ เจ•เจฒเจฟเฉฑเจ• เจ•เจฐเฉ‹เฅค
  6. "เจ†เจฎ" เจŸเฉˆเจฌ 'เจคเฉ‡, เจ†เจชเจฃเฉ‡ เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ•เจธเจŸเจฎ เจจเจพเจฎ เจฆเจฟเจ“, เจ…เจคเฉ‡ เจธเจตเจฟเฉฑเจš เจจเฉ‚เฉฐ "เจธเจพเจฐเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฒเจˆ เจšเจฒเจพเจ“" เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจธเจตเจฟเจš เจ•เจฐเฉ‹เฅค
  7. "เจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚" เจŸเฉˆเจฌ เจคเฉ‡ เจœเจพเจ“, "เจฌเจฃเจพเจ“" เจคเฉ‡ เจ•เจฒเจฟเจ• เจ•เจฐเฉ‹. "เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจœเจพเจ‚ เจธเจ•เฉเจฐเจฟเจชเจŸ" เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš, "เจฌเฉเจฐเจพเจŠเจœเจผ" 'เจคเฉ‡ เจ•เจฒเจฟเฉฑเจ• เจ•เจฐเฉ‹, เจฆเฉ‚เจœเฉ‡ เจชเฉœเจพเจ… เจตเจฟเฉฑเจš เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจ‡เฉฑเจ• เจฒเฉฑเจญเฉ‹ เจฌเฉฑเจฒเฉ‡เจฌเจพเจœเจผเฉ€ เจซเจพเจ‡เจฒ เจ…เจคเฉ‡ เจ•เจฒเจฟเฉฑเจ• เจ•เจฐเฉ‹ เจ เฉ€เจ• เจนเฉˆ.
  8. เจ•เจฒเจฟเจ• เจ•เจฐเฉ‹ เจ เฉ€เจ• เจนเฉˆ เจ…เจคเฉ‡, เจœเฉ‡ เจœเจฐเฉ‚เจฐเฉ€ เจนเฉˆ, เจ†เจชเจฃเฉ‡ เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจ–เจพเจคเฉ‡ เจฒเจˆ เจชเจพเจธเจตเจฐเจก เจฆเจฐเจœ เจ•เจฐเฉ‹.
  9. เจธเจผเจกเจฟเจŠเจฒเจฐ เจตเจฟเฉฑเจš เจฌเจฃเจพเจ‡เจ† เจ•เฉฐเจฎ เจฒเฉฑเจญเฉ‹, เจ‡เจธเจจเฉ‚เฉฐ เจšเฉเจฃเฉ‹ เจ…เจคเฉ‡ เจนเฉ‡เจ เจฒเฉ‡ เจธเฉฑเจœเฉ‡ เจ•เฉ‹เจจเฉ‡ เจตเจฟเฉฑเจš "เจšเจฒเจพเจ“" เจฌเจŸเจจ 'เจคเฉ‡ เจ•เจฒเจฟเฉฑเจ• เจ•เจฐเฉ‹เฅค

เจธเจพเจกเจพ เจฌเฉ‹เจŸ เจฌเฉˆเจ•เจ—เฉเจฐเจพเจŠเจ‚เจก เจตเจฟเฉฑเจš เจšเฉฑเจฒเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจฆเฉ‹เจ‚ เจคเฉฑเจ• เจ•เฉฐเจฎ เจ•เจฐเฉ‡เจ—เจพ เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจคเฉเจธเฉ€เจ‚ เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจฌเฉฐเจฆ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡, เจœเจพเจ‚ เจคเฉเจนเจพเจกเฉ‡ PC เจœเจพเจ‚ เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจฌเฉฐเจฆ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡ เจœเจฟเจธ 'เจคเฉ‡ เจ‡เจน เจฒเจพเจ‚เจš เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค

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

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

เจ…เจ—เจฒเจพ เจฒเฉ‡เจ– เจ‡เจธ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐเฉ‡เจ—เจพ เจ•เจฟ เจตเจงเฉ‡เจฐเฉ‡ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจ•เฉฐเจฎ เจฒเจˆ เจฌเฉ‹เจŸ เจตเจฟเฉฑเจš เจ•เฉ€เจฌเฉ‹เจฐเจก เจ•เจฟเจตเฉ‡เจ‚ เจœเฉ‹เฉœเจฟเจ† เจœเจพเจตเฉ‡เฅค

เจฎเฉ‡เจฐเฉ‡ เจฒเจˆ เจ—เจพเจนเจ• เจฌเจฃเฉ‹ เจคเจพเจฐ ะธ YouTube เจšเฉˆเจจเจฒเฅค

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

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