R-āĻ āĻŸā§‡āϞāĻŋāĻ—ā§āϰāĻžāĻŽ āĻŦāϟ āϞ⧇āĻ–āĻž (āĻĒāĻžāĻ°ā§āϟ 2): āĻŦāĻŸā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϏāĻŽāĻ°ā§āĻĨāύ āĻāĻŦāĻ‚ āĻŦāĻžāĻ°ā§āϤāĻž āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āϝ⧋āĻ— āĻ•āϰāĻž

В āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āϤ⧀ āĻĒā§āϰāĻ•āĻžāĻļāύāĻž āφāĻŽāϰāĻž āϕ⧀āĻ­āĻžāĻŦ⧇ āĻāĻ•āϟāĻŋ āĻŦāϟ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻšāϝāĻŧ āϤāĻž āĻŦ⧇āϰ āĻ•āϰ⧇āĻ›āĻŋ, āĻ•ā§āϞāĻžāϏ⧇āϰ āĻāĻ•āϟāĻŋ āωāĻĻāĻžāĻšāϰāĻŖ āĻļ⧁āϰ⧁ āĻ•āϰ⧇āĻ›āĻŋ Bot āĻāĻŦāĻ‚ āĻāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻŦāĻžāĻ°ā§āϤāĻž āĻĒāĻžāĻ āĻžāύ⧋āϰ āĻĒāĻĻā§āϧāϤāĻŋāϰ āϏāĻžāĻĨ⧇ āĻĒāϰāĻŋāϚāĻŋāϤ āĻšāϝāĻŧ⧇ āĻ“āϠ⧇āĨ¤

āĻāχ āύāĻŋāĻŦāĻ¨ā§āϧ⧇ āφāĻŽāĻŋ āĻāχ āĻŦāĻŋāώāϝāĻŧāϟāĻŋ āϚāĻžāϞāĻŋāϝāĻŧ⧇ āϝāĻžāĻšā§āĻ›āĻŋ, āϤāĻžāχ āφāĻŽāĻŋ āĻĒāĻĄāĻŧāĻžāϰ āĻĒāϰ⧇āχ āĻāχ āύāĻŋāĻŦāĻ¨ā§āϧāϟāĻŋ āĻĒāĻĄāĻŧāϤ⧇ āĻļ⧁āϰ⧁ āĻ•āϰāĻžāϰ āĻĒāϰāĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāχ āĻĒā§āϰāĻĨāĻŽ āĻ…āĻ‚āĻļ.

āĻāχāĻŦāĻžāϰ āφāĻŽāϰāĻž āϕ⧀āĻ­āĻžāĻŦ⧇ āφāĻŽāĻžāĻĻ⧇āϰ āĻŦāϟāϕ⧇ āĻĒ⧁āύāϰ⧁āĻœā§āĻœā§€āĻŦāĻŋāϤ āĻ•āϰāĻŦ āĻāĻŦāĻ‚ āĻāϤ⧇ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϏāĻŽāĻ°ā§āĻĨāύ āϝ⧋āĻ— āĻ•āϰāĻŦ āĻāĻŦāĻ‚ āĻ•ā§āϞāĻžāϏ⧇āϰ āϏāĻžāĻĨ⧇ āĻĒāϰāĻŋāϚāĻŋāϤ āĻšāĻŦāĨ¤ Updater.

āύāĻŋāĻŦāĻ¨ā§āϧ āϚāϞāĻžāĻ•āĻžāϞ⧀āύ, āφāĻŽāϰāĻž āĻŦ⧇āĻļ āĻ•āϝāĻŧ⧇āĻ•āϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻŦāϟ āϞāĻŋāĻ–āĻŦ, āĻĒāϰāĻŦāĻ°ā§āϤ⧀āϟāĻŋ, āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻĻāĻ¤ā§āϤ āϤāĻžāϰāĻŋāĻ– āĻāĻŦāĻ‚ āĻĻ⧇āĻļ⧇āϰ āϕ⧋āĻĄā§‡āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇, āĻĒā§āϰāĻĻāĻ¤ā§āϤ āĻĻ⧇āĻļ⧇āϰ āĻāĻ•āϟāĻŋ āĻĻāĻŋāύāϟāĻŋ āωāĻ¤ā§āĻĒāĻžāĻĻāύ āĻ•ā§āϝāĻžāϞ⧇āĻ¨ā§āĻĄāĻžāϰ āĻ…āύ⧁āϏāĻžāϰ⧇ āĻāĻ•āϟāĻŋ āϏāĻĒā§āϤāĻžāĻšāĻžāĻ¨ā§āϤ āĻŦāĻž āĻāĻ•āϟāĻŋ āĻ•āĻžāĻ°ā§āϝāĻĻāĻŋāĻŦāϏ āĻ•āĻŋāύāĻž āϤāĻž āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰāĻŦ⧇āĨ¤ āĻ•āĻŋāĻ¨ā§āϤ⧁, āφāϗ⧇āϰ āĻŽāϤ⧋āχ, āύāĻŋāĻŦāĻ¨ā§āϧāϟāĻŋāϰ āωāĻĻā§āĻĻ⧇āĻļā§āϝ āĻšāϞ āφāĻĒāύāĻžāϕ⧇ āĻĒā§āϝāĻžāϕ⧇āϜ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ⧇āϰ āϏāĻžāĻĨ⧇ āĻĒāϰāĻŋāϚāĻŋāϤ āĻ•āϰāĻž telegram.bot āφāĻĒāύāĻžāϰ āύāĻŋāĻœā§‡āϰ āϏāĻŽāĻ¸ā§āϝāĻž āϏāĻŽāĻžāϧāĻžāύ⧇āϰ āϜāĻ¨ā§āϝāĨ¤

R-āĻ āĻŸā§‡āϞāĻŋāĻ—ā§āϰāĻžāĻŽ āĻŦāϟ āϞ⧇āĻ–āĻž (āĻĒāĻžāĻ°ā§āϟ 2): āĻŦāĻŸā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϏāĻŽāĻ°ā§āĻĨāύ āĻāĻŦāĻ‚ āĻŦāĻžāĻ°ā§āϤāĻž āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āϝ⧋āĻ— āĻ•āϰāĻž

"R āϤ⧇ āĻŸā§‡āϞāĻŋāĻ—ā§āϰāĻžāĻŽ āĻŦāϟ āϞ⧇āĻ–āĻž" āϏāĻŋāϰāĻŋāĻœā§‡āϰ āϏāĻŽāĻ¸ā§āϤ āύāĻŋāĻŦāĻ¨ā§āϧ

  1. āφāĻŽāϰāĻž āĻāĻ•āϟāĻŋ āĻŦāϟ āϤ⧈āϰāĻŋ āĻ•āϰāĻŋ āĻāĻŦāĻ‚ āĻŸā§‡āϞāĻŋāĻ—ā§āϰāĻžāĻŽā§‡ āĻŦāĻžāĻ°ā§āϤāĻž āĻĒāĻžāĻ āĻžāϤ⧇ āĻāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŋ
  2. āĻŦāĻŸā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϏāĻŽāĻ°ā§āĻĨāύ āĻāĻŦāĻ‚ āĻŦāĻžāĻ°ā§āϤāĻž āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āϝ⧋āĻ— āĻ•āϰ⧁āύ

āϏāĻ¨ā§āϤ⧁āĻˇā§āϟ

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻĄā§‡āϟāĻž āĻŦāĻŋāĻļā§āϞ⧇āώāϪ⧇ āφāĻ—ā§āϰāĻšā§€ āĻšāύ āϤāĻŦ⧇ āφāĻĒāύāĻŋ āφāĻŽāĻžāϰ āĻĒā§āϰāϤāĻŋ āφāĻ—ā§āϰāĻšā§€ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āύ āĻŸā§‡āϞāĻŋāĻ—ā§āϰāĻžāĻŽ и āχāωāϟāĻŋāωāĻŦ āĻšā§āϝāĻžāύ⧇āϞ āϝāĻžāϰ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āĻŦāĻŋāώāϝāĻŧāĻŦāĻ¸ā§āϤ⧁ āφāϰ āĻ­āĻžāώāĻžāϕ⧇ āύāĻŋāĻŦ⧇āĻĻāĻŋāϤāĨ¤

  1. āφāĻĒāĻĄā§‡āϟāĻžāϰ āĻ•ā§āϞāĻžāϏ
  2. āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ - āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ
  3. āĻŦāϟ, āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ⧇ āĻĒā§āϰāĻĨāĻŽ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϝ⧋āĻ— āĻ•āϰ⧁āύ
  4. āĻŸā§‡āĻ•ā§āϏāϟ āĻŽā§‡āϏ⧇āϜ āĻĒā§āϰāϏ⧇āϏāϰ āĻāĻŦāĻ‚ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ
  5. āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋ āϏāĻš āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϝ⧋āĻ— āĻ•āϰāĻž
  6. āĻŦā§āϝāĻžāĻ•āĻ—ā§āϰāĻžāωāĻ¨ā§āĻĄā§‡ āĻŦāϟ āϚāĻžāϞāĻžāύ
  7. āωāĻĒāϏāĻ‚āĻšāĻžāϰ

āφāĻĒāĻĄā§‡āϟāĻžāϰ āĻ•ā§āϞāĻžāϏ

Updater āĻāĻ•āϟāĻŋ āĻ•ā§āϞāĻžāϏ āϝāĻž āφāĻĒāύāĻžāϰ āϜāĻ¨ā§āϝ āĻŸā§‡āϞāĻŋāĻ—ā§āϰāĻžāĻŽ āĻŦāϟ āĻŦāĻŋāĻ•āĻžāĻļ āĻ•āϰāĻž āϏāĻšāϜ āĻ•āϰ⧇ āϤ⧋āϞ⧇ āĻāĻŦāĻ‚ āĻšā§āĻĄā§‡āϰ āύ⧀āĻšā§‡ āĻ•ā§āϞāĻžāϏāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇⧎ Dispetcher. āĻ•ā§āϞāĻžāϏ āĻ…ā§āϝāĻžāϏāĻžāχāύāĻŽā§‡āĻ¨ā§āϟ Updater āĻŦāϟ āĻĨ⧇āϕ⧇ āφāĻĒāĻĄā§‡āϟ āĻĒ⧇āϤ⧇ āĻšāϝāĻŧ (āφāϗ⧇āϰ āύāĻŋāĻŦāĻ¨ā§āϧ⧇ āφāĻŽāϰāĻž āĻāχ āωāĻĻā§āĻĻ⧇āĻļā§āϝ⧇ āĻĒāĻĻā§āϧāϤāĻŋāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĻ›āĻŋ getUpdates()), āĻāĻŦāĻ‚ āϤāĻžāĻĻ⧇āϰ āφāϰāĻ“ āĻāϤ⧇ āĻ¸ā§āĻĨāĻžāύāĻžāĻ¨ā§āϤāϰ āĻ•āϰ⧁āύ Dispetcher.

āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇ Dispetcher āφāĻĒāύāĻžāϰ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ āϰāϝāĻŧ⧇āϛ⧇, āϝ⧇āĻŽāύ āĻ•ā§āϞāĻžāϏ āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ Handler.

āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ - āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ

āφāĻĒāύāĻŋ āϝ⧋āĻ— āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ āϏāĻ™ā§āϗ⧇ Dispetcher āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āχāϭ⧇āĻ¨ā§āĻŸā§‡ āĻŦāϟ āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋāϝāĻŧāĻžāĨ¤ āĻāχ āύāĻŋāĻŦāĻ¨ā§āϧāϟāĻŋ āϞ⧇āĻ–āĻžāϰ āϏāĻŽāϝāĻŧ telegram.bot āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āϧāϰāύ⧇āϰ āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ āϝ⧋āĻ— āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇:

  • āĻŦāĻžāĻ°ā§āϤāĻž āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ - āĻŦāĻžāĻ°ā§āϤāĻž āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ
  • āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ - āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ
  • 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.

R-āĻ āĻŸā§‡āϞāĻŋāĻ—ā§āϰāĻžāĻŽ āĻŦāϟ āϞ⧇āĻ–āĻž (āĻĒāĻžāĻ°ā§āϟ 2): āĻŦāĻŸā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϏāĻŽāĻ°ā§āĻĨāύ āĻāĻŦāĻ‚ āĻŦāĻžāĻ°ā§āϤāĻž āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āϝ⧋āĻ— āĻ•āϰāĻž

āĻāĻ–āύ āφāĻŽāĻžāĻĻ⧇āϰ āĻŦāϟ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦ⧁āĻāϤ⧇ āĻĒāĻžāϰ⧇ /hi, āĻāĻŦāĻ‚ āφāĻŽāĻžāĻĻ⧇āϰ āĻ…āĻ­āĻŋāĻŦāĻžāĻĻāύ āϜāĻžāύāĻžāϤ⧇ āϜāĻžāύ⧇āĨ¤

āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāĻŋāϤāĻ­āĻžāĻŦ⧇, āĻāχ āϜāĻžāϤ⧀āϝāĻŧ āĻāĻ•āϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻŦāϟ āϤ⧈āϰāĻŋāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϟāĻŋ āύāĻŋāĻŽā§āύāϰ⧂āĻĒ āϚāĻŋāĻ¤ā§āϰāĻŋāϤ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

R-āĻ āĻŸā§‡āϞāĻŋāĻ—ā§āϰāĻžāĻŽ āĻŦāϟ āϞ⧇āĻ–āĻž (āĻĒāĻžāĻ°ā§āϟ 2): āĻŦāĻŸā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϏāĻŽāĻ°ā§āĻĨāύ āĻāĻŦāĻ‚ āĻŦāĻžāĻ°ā§āϤāĻž āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āϝ⧋āĻ— āĻ•āϰāĻž

  1. āĻ•ā§āϞāĻžāϏ⧇āϰ āĻāĻ•āϟāĻŋ āωāĻĻāĻžāĻšāϰāĻŖ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ Updater;
  2. āφāĻŽāϰāĻž āĻĒāĻĻā§āϧāϤāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰāĻŋ, āϝ⧇āĻŽāύ āĻĢāĻžāĻ‚āĻļāύ āϝāĻž āφāĻŽāĻžāĻĻ⧇āϰ āĻŦāϟ āϏāĻžā§āϚāĻžāϞāύ āĻ•āϰāĻŦ⧇āĨ¤ āϕ⧋āĻĄ āωāĻĻāĻžāĻšāϰāϪ⧇ āĻāϟāĻŋ āĻāĻ•āϟāĻŋ āĻĢāĻžāĻ‚āĻļāύ say_hello(). āφāĻĒāύāĻŋ āϝ⧇ āĻĢāĻžāĻ‚āĻļāύāϗ⧁āϞāĻŋ āĻŦāϟ āĻĒāĻĻā§āϧāϤāĻŋ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŦ⧇āύ āϤāĻžāϰ āĻĻ⧁āϟāĻŋ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧ āφāĻ°ā§āϗ⧁āĻŽā§‡āĻ¨ā§āϟ āĻĨāĻžāĻ•āϤ⧇ āĻšāĻŦ⧇ - āĻŦāϟ и āφāĻĒāĻĄā§‡āĻŸā§‡āϰ, āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āϐāĻšā§āĻ›āĻŋāĻ• - args. āϝ⧁āĻ•ā§āϤāĻŋ āĻŦāϟ, āĻāϟāĻŋ āφāĻĒāύāĻžāϰ āĻŦāϟ, āĻāϟāĻŋāϰ āϏāĻžāĻšāĻžāĻ¯ā§āϝ⧇ āφāĻĒāύāĻŋ āĻŦāĻžāĻ°ā§āϤāĻžāϗ⧁āϞāĻŋāϰ āωāĻ¤ā§āϤāϰ āĻĻāĻŋāϤ⧇, āĻŦāĻžāĻ°ā§āϤāĻž āĻĒāĻžāĻ āĻžāϤ⧇ āĻŦāĻž āĻŦāĻŸā§‡āϰ āĻ•āĻžāϛ⧇ āωāĻĒāϞāĻŦā§āϧ āĻ…āĻ¨ā§āϝ āϕ⧋āύāĻ“ āĻĒāĻĻā§āϧāϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ⧎ āϝ⧁āĻ•ā§āϤāĻŋ āφāĻĒāĻĄā§‡āĻŸā§‡āϰ āĻŦāϟāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻ•āĻžāĻ› āĻĨ⧇āϕ⧇ āϝāĻž āĻĒ⧇āϝāĻŧ⧇āĻ›āĻŋāϞ āϤāĻž āĻšāϞ, āĻĒā§āϰāĻ•ā§ƒāϤāĻĒāĻ•ā§āώ⧇, āĻĒāĻĻā§āϧāϤāĻŋāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āφāĻŽāϰāĻž āĻĒā§āϰāĻĨāĻŽ āύāĻŋāĻŦāĻ¨ā§āϧ⧇ āϝāĻž āĻĒ⧇āϝāĻŧ⧇āĻ›āĻŋ getUpdates(). āϝ⧁āĻ•ā§āϤāĻŋ args āφāĻĒāύāĻžāϕ⧇ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϏāĻš āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻĒāĻžāĻ āĻžāύ⧋ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āĻĄā§‡āϟāĻž āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻ•āϰāĻžāϰ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āϝāĻŧ, āφāĻŽāϰāĻž āĻāĻ•āϟ⧁ āĻĒāϰ⧇ āĻāχ āĻŦāĻŋāώāϝāĻŧ⧇ āĻĢāĻŋāϰ⧇ āφāϏāĻŦ;
  3. āφāĻŽāϰāĻž āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ āϤ⧈āϰāĻŋ āĻ•āϰāĻŋ, āϝ⧇āĻŽāύ āφāĻŽāϰāĻž āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āϤ⧀ āϧāĻžāĻĒ⧇ āϤ⧈āϰāĻŋ āĻĒāĻĻā§āϧāϤāĻŋāϰ āϏāĻžāĻĨ⧇ āĻ•āĻŋāϛ⧁ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻ•ā§āϰāĻŋāϝāĻŧāĻž āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻŋāĨ¤ āĻŽā§‚āϞāϤ, āĻāĻ•āϟāĻŋ āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ āĻšāϞ āĻāĻ•āϟāĻŋ āĻŸā§āϰāĻŋāĻ—āĻžāϰ, āĻāĻ•āϟāĻŋ āχāϭ⧇āĻ¨ā§āϟ āϝāĻž āĻ•āĻŋāϛ⧁ āĻŦāϟ āĻĢāĻžāĻ‚āĻļāύāϕ⧇ āĻ•āϞ āĻ•āϰ⧇āĨ¤ āφāĻŽāĻžāĻĻ⧇āϰ āωāĻĻāĻžāĻšāϰāϪ⧇, āĻāχ āϧāϰāύ⧇āϰ āĻāĻ•āϟāĻŋ āĻŸā§āϰāĻŋāĻ—āĻžāϰ āĻāĻ•āϟāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĒāĻžāĻ āĻžāĻšā§āϛ⧇ /hi, āĻāĻŦāĻ‚ āĻĻāϞ āĻĻā§āĻŦāĻžāϰāĻž āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāĻŋāϤ āĻšāϝāĻŧ hi_hendler <- CommandHandler('hi', say_hello). āĻĒā§āϰāĻĨāĻŽ āĻĢāĻžāĻ‚āĻļāύ āφāĻ°ā§āϗ⧁āĻŽā§‡āĻ¨ā§āϟ CommandHandler() āφāĻŽāĻžāĻĻ⧇āϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āφāĻĒāύāĻžāϕ⧇ āĻāĻ•āϟāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧ hi, āϝāĻž āĻŦāϟ āϏāĻžāĻĄāĻŧāĻž āĻĻ⧇āĻŦ⧇āĨ¤ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āϝ⧁āĻ•ā§āϤāĻŋāϟāĻŋ āφāĻĒāύāĻžāϕ⧇ āĻŦāϟ āĻĒāĻĻā§āϧāϤāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧ, āφāĻŽāϰāĻž āĻĒāĻĻā§āϧāϤāĻŋāϟāĻŋāϕ⧇ āĻ•āϞ āĻ•āϰāĻŦ say_hello, āϝāĻž āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻ•āϰāĻž āĻšāĻŦ⧇ āϝāĻĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻĒā§āϰāĻĨāĻŽ āφāĻ°ā§āϗ⧁āĻŽā§‡āĻ¨ā§āĻŸā§‡ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰāĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϟāĻŋāϕ⧇ āĻ•āϞ āĻ•āϰ⧇;
  4. āĻāϰ āĻĒāϰ⧇, āφāĻŽāϰāĻž āφāĻŽāĻžāĻĻ⧇āϰ āĻ•ā§āϞāĻžāϏ āχāύāĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āϏ⧇āϰ āĻĒā§āϰ⧇āϰāĻŖāĻ•āĻžāϰ⧀āϤ⧇ āϤ⧈āϰāĻŋ āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ āϝ⧋āĻ— āĻ•āϰāĻŋ Updater. āφāĻĒāύāĻŋ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āωāĻĒāĻžāϝāĻŧ⧇ āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ āϝ⧋āĻ— āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ; āωāĻĒāϰ⧇āϰ āωāĻĻāĻžāĻšāϰāϪ⧇, āφāĻŽāĻŋ āϚāĻŋāĻšā§āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϏāĻšāϜāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĻ›āĻŋ +, IE updater <- updater + hi_hendler. āĻāĻ•āχ āĻĒāĻĻā§āϧāϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇ add_handler(), āϝāĻž āĻ•ā§āϞāĻžāϏ⧇āϰ āĻ…āĻ¨ā§āϤāĻ°ā§āĻ—āϤ Dispatcher, āφāĻĒāύāĻŋ āĻāχ āĻŽāϤ āĻāχ āĻĒāĻĻā§āϧāϤāĻŋ āϖ⧁āρāĻœā§‡ āĻĒ⧇āϤ⧇ āĻĒāĻžāϰ⧇āύ: updater$dispatcher$add_handler();
  5. āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻŦāϟ āϚāĻžāϞ⧁ āĻ•āϰ⧁āύ start_polling().

āĻŸā§‡āĻ•ā§āϏāϟ āĻŽā§‡āϏ⧇āϜ āĻĒā§āϰāϏ⧇āϏāϰ āĻāĻŦāĻ‚ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ

āφāĻŽāϰāĻž āϕ⧀āĻ­āĻžāĻŦ⧇ āĻŦāĻŸā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĒāĻžāĻ āĻžāϤ⧇ āĻšāϝāĻŧ āϤāĻž āϖ⧁āρāĻœā§‡ āĻŦ⧇āϰ āĻ•āϰ⧇āĻ›āĻŋ, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻ•āĻ–āύāĻ“ āĻ•āĻ–āύāĻ“ āφāĻŽāĻžāĻĻ⧇āϰ āϕ⧇āĻŦāϞ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āϰ āϜāĻ¨ā§āϝāχ āύāϝāĻŧ, āĻ•āĻŋāϛ⧁ āύāĻŋāϝāĻŧāĻŽāĻŋāϤ āĻĒāĻžāĻ ā§āϝ āĻŦāĻžāĻ°ā§āϤāĻžāϰāĻ“ āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋāϝāĻŧāĻž āϜāĻžāύāĻžāϤ⧇ āĻŦāϟāϟāĻŋāϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻšāϝāĻŧāĨ¤ āĻāϟāĻŋ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āφāĻĒāύāĻžāϕ⧇ āĻŦāĻžāĻ°ā§āϤāĻž āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇ - āĻŽā§‡āϏ⧇āϜāĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ.

āϏāĻžāϧāĻžāϰāĻŖ āĻŽā§‡āϏ⧇āϜāĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ āĻāϕ⧇āĻŦāĻžāϰ⧇ āϏāĻŦ āχāύāĻ•āĻžāĻŽāĻŋāĻ‚ āĻŦāĻžāĻ°ā§āϤāĻž āϏāĻžāĻĄāĻŧāĻž āĻĻ⧇āĻŦ⧇. āĻ…āϤāĻāĻŦ, āĻŦāĻžāĻ°ā§āϤāĻž āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰāϗ⧁āϞāĻŋ āĻĒā§āϰāĻžāϝāĻŧāĻļāχ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ⧇āϰ āϏāĻžāĻĨ⧇ āĻāĻ•āϏāĻžāĻĨ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āϚāϞ⧁āύ āĻŦāϟāϕ⧇ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ⧇ āĻšā§āϝāĻžāϞ⧋ āĻŦāϞāϤ⧇ āĻļ⧇āĻ–āĻžāχ /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()

āωāĻĒāϰ⧇āϰ āϕ⧋āĻĄā§‡āϰ āωāĻĻāĻžāĻšāϰāĻŖāϟāĻŋ āϚāĻžāϞāĻžāύ, 'āφāĻĒāύāĻžāϰ āĻŦāϟ āĻŸā§‹āϕ⧇āύ' āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻŦāϟ āϤ⧈āϰāĻŋ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āφāĻĒāύāĻŋ āϝ⧇ āφāϏāϞ āĻŸā§‹āϕ⧇āύ āĻĒ⧇āϝāĻŧ⧇āĻ›āĻŋāϞ⧇āύ āϤāĻžāϰ āϏāĻžāĻĨ⧇ āĻĒā§āϰāϤāĻŋāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰāĻžāϰ āĻĒāϰ⧇ āĻŦāϟāĻĢā§āϝāĻžāϟāĻžāϰ (āφāĻŽāĻŋ āĻāĻ•āϟāĻŋ āĻŦāϟ āϤ⧈āϰāĻŋ āĻ•āϰāĻžāϰ āĻ•āĻĨāĻž āĻŦāϞ⧇āĻ›āĻŋ āĻĒā§āϰāĻĨāĻŽ āύāĻŋāĻŦāĻ¨ā§āϧ).

āĻāĻ–āύ āφāϗ⧇ āϤāĻžāϞāĻŋāĻ•āĻžāϭ⧁āĻ•ā§āϤ āĻ…āĻ­āĻŋāĻŦāĻžāĻĻāύ āĻļāĻŦā§āĻĻāϗ⧁āϞāĻŋ āϏāĻš āĻŦāϟāϟāĻŋāϕ⧇ āĻŦ⧇āĻļ āĻ•āϝāĻŧ⧇āĻ•āϟāĻŋ āĻŦāĻžāĻ°ā§āϤāĻž āĻĒāĻžāĻ āĻžāύ⧋āϰ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰāĻž āϝāĻžāĻ•:
R-āĻ āĻŸā§‡āϞāĻŋāĻ—ā§āϰāĻžāĻŽ āĻŦāϟ āϞ⧇āĻ–āĻž (āĻĒāĻžāĻ°ā§āϟ 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(), āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āĻĒāĻĻā§āϧāϤāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ, āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧ āφāĻ°ā§āϗ⧁āĻŽā§‡āĻ¨ā§āϟ āĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻŦāϟ, āφāĻĒāĻĄā§‡āĻŸā§‡āϰ āĻāĻ•āϟāĻŋ āϐāĻšā§āĻ›āĻŋāĻ• āĻāĻ•āϟāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ - args. āĻāχāĻ­āĻžāĻŦ⧇ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻĒāĻĻā§āϧāϤāĻŋāϟāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āϰ āύāĻžāĻŽā§‡āϰ āĻĒāϰ⧇ āφāĻĒāύāĻŋ āϝ⧇ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰāϗ⧁āϞāĻŋ āĻŦāĻŸā§‡ āĻĒāĻžāϏ āĻ•āϰāĻŦ⧇āύ āϤāĻž āĻ—ā§āϰāĻšāĻŖ āĻ•āϰāĻŦ⧇āĨ¤ āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻĨāĻžāύ āĻĻā§āĻŦāĻžāϰāĻž āĻĒ⧃āĻĨāĻ• āĻ•āϰāĻž āφāĻŦāĻļā§āϝāĻ•; āϤāĻžāϰāĻž āĻāĻ•āϟāĻŋ āĻĒāĻžāĻ ā§āϝ āϭ⧇āĻ•ā§āϟāϰ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻĒāĻĻā§āϧāϤāĻŋāϤ⧇ āĻĒāĻžāĻ āĻžāύ⧋ āĻšāĻŦ⧇āĨ¤

āφāϏ⧁āύ āφāĻŽāĻžāĻĻ⧇āϰ āĻŦāϟ āϚāĻžāϞ⧁ āĻāĻŦāĻ‚ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰāĻž āϝāĻžāĻ•āĨ¤

R-āĻ āĻŸā§‡āϞāĻŋāĻ—ā§āϰāĻžāĻŽ āĻŦāϟ āϞ⧇āĻ–āĻž (āĻĒāĻžāĻ°ā§āϟ 2): āĻŦāĻŸā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϏāĻŽāĻ°ā§āĻĨāύ āĻāĻŦāĻ‚ āĻŦāĻžāĻ°ā§āϤāĻž āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āϝ⧋āĻ— āĻ•āϰāĻž

āĻŦā§āϝāĻžāĻ•āĻ—ā§āϰāĻžāωāĻ¨ā§āĻĄā§‡ āĻŦāϟ āϚāĻžāϞāĻžāύ

āφāĻŽāĻžāĻĻ⧇āϰ āĻļ⧇āώ āϧāĻžāĻĒāϟāĻŋ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇ āϤāĻž āĻšāϞ āĻŦā§āϝāĻžāĻ•āĻ—ā§āϰāĻžāωāĻ¨ā§āĻĄā§‡ āĻŦāϟāϟāĻŋ āϚāĻžāϞ⧁ āĻ•āϰāĻžāĨ¤

āĻāϟāĻŋ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ, āύ⧀āĻšā§‡ āĻŦāĻ°ā§āĻŖāĻŋāϤ āĻ…ā§āϝāĻžāϞāĻ—āϰāĻŋāĻĻāĻŽ āĻ…āύ⧁āϏāϰāĻŖ āĻ•āϰ⧁āύ:

  1. āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύ R āϏāĻš āĻāĻ•āϟāĻŋ āĻĢāĻžāχāϞ⧇ āĻŦāϟ āϕ⧋āĻĄ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧁āύāĨ¤ RStudio-āϤ⧇ āĻ•āĻžāϜ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ, āĻāϟāĻŋ āĻŽā§‡āύ⧁āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻ•āϰāĻž āĻšāϝāĻŧ āĻĢāĻžāχāϞ, āĻŸā§€āĻŽ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧁āύâ€Ļ.
  2. āĻŦāĻŋāύ āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ⧇ āĻĒāĻžāĻĨ āϝ⧋āĻ— āĻ•āϰ⧁āύ, āϝāĻž āĻĢāϞāĻ¸ā§āĻŦāϰ⧂āĻĒ āϝ⧇ āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ⧇ āφāĻĒāύāĻŋ R āĻ­āĻžāώāĻž āχāύāĻ¸ā§āϟāϞ āĻ•āϰ⧇āϛ⧇āύ āϏ⧇āχ āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ⧇ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāϤ, āĻĒāĻžāĻĨ āϭ⧇āϰāĻŋāϝāĻŧ⧇āĻŦāϞ, āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻžāĻŦāϞ⧀āϤ⧇ āĻāĻ–āĻžāύ⧇.
  3. āĻāĻ•āϟāĻŋ āύāĻŋāϝāĻŧāĻŽāĻŋāϤ āĻĒāĻžāĻ ā§āϝ āĻĢāĻžāχāϞ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ āϝāĻžāϤ⧇ 1 āϞāĻžāχāύ āϞāĻŋāϖ⧁āύ: R CMD BATCH C:UsersAlseyDocumentsmy_bot.R... āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇ C:UsersAlseyDocumentsmy_bot.R āφāĻĒāύāĻžāϰ āĻŦāϟ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡āϰ āĻĒāĻĨ āϞāĻŋāϖ⧁āύāĨ¤ āĻāĻ•āχ āϏāĻŽāϝāĻŧ⧇, āĻāϟāĻŋ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āϝ⧇ āĻĒāĻĨ⧇ āϕ⧋āύāĻ“ āϏāĻŋāϰāĻŋāϞāĻŋāĻ• āĻ…āĻ•ā§āώāϰ āĻŦāĻž āĻ¸ā§āĻĒ⧇āϏ āύ⧇āχ, āĻ•āĻžāϰāĻŖ āĻāϟāĻŋ āĻŦāϟ āϚāĻžāϞāĻžāύ⧋āϰ āϏāĻŽāϝāĻŧ āϏāĻŽāĻ¸ā§āϝāĻž āϏ⧃āĻˇā§āϟāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻāϟāĻŋ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧁āύ, āĻāĻŦāĻ‚ āĻāϰ āϏāĻžāĻĨ⧇ āĻāϰ āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύ āĻĒā§āϰāϤāĻŋāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰ⧁āύ āĻĒāĻžāĻ ā§āϝ āωāĻĒāϰ āĻŦāĻžāĻĻ⧁āĻĄāĻŧ.
  4. āϟāĻžāĻ¸ā§āĻ• āĻļāĻŋāĻĄāĻŋāωāϞāĻžāϰ āϖ⧁āϞ⧁āύ WindowsāĻāϟāĻŋ āĻ•āϰāĻžāϰ āĻ…āύ⧇āĻ• āωāĻĒāĻžāϝāĻŧ āφāϛ⧇, āϝ⧇āĻŽāύ, āϝ⧇āϕ⧋āύ⧋ āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ āϖ⧁āϞ⧇ āĻ āĻŋāĻ•āĻžāύāĻžāϟāĻŋ āϞāĻŋāϖ⧁āύāĨ¤ %windir%system32taskschd.msc /s. āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āϞāĻžā§āϚ āĻĒāĻĻā§āϧāϤāĻŋ āĻĒāĻžāĻ“āϝāĻŧāĻž āϝāĻžāĻŦ⧇ āĻāĻ–āĻžāύ⧇.
  5. āĻļāĻŋāĻĄāĻŋāωāϞāĻžāϰ⧇āϰ āωāĻĒāϰ⧇āϰ āĻĄāĻžāύāĻĻāĻŋāϕ⧇āϰ āĻŽā§‡āύ⧁āϤ⧇, "āϟāĻžāĻ¸ā§āĻ• āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ..." āĻ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧁āύāĨ¤
  6. "āϏāĻžāϧāĻžāϰāĻŖ" āĻŸā§āϝāĻžāĻŦ⧇, āφāĻĒāύāĻžāϰ āϟāĻžāĻ¸ā§āĻ•āϟāĻŋāϕ⧇ āĻāĻ•āϟāĻŋ āĻ•āĻžāĻ¸ā§āϟāĻŽ āύāĻžāĻŽ āĻĻāĻŋāύ āĻāĻŦāĻ‚ āϏ⧁āχāϚāϟāĻŋāϕ⧇ "āϏāĻ•āϞ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āϜāĻ¨ā§āϝ āϚāĻžāϞāĻžāύ" āĻ…āĻŦāĻ¸ā§āĻĨāĻžāϝāĻŧ āĻ¸ā§āϝ⧁āχāϚ āĻ•āϰ⧁āύāĨ¤
  7. "āĻ•ā§āϰāĻŋāϝāĻŧāĻž" āĻŸā§āϝāĻžāĻŦ⧇ āϝāĻžāύ, "āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ" āĻ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧁āύāĨ¤ "āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽ āĻŦāĻž āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ" āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇, "āĻŦā§āϰāĻžāωāϜ" āĻ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧁āύ, āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āϧāĻžāĻĒ⧇ āϤ⧈āϰāĻŋ āĻāĻ•āϟāĻŋ āϖ⧁āρāϜ⧁āύ āĻŦāĻžāĻĻ⧁āĻĄāĻŧ āĻĢāĻžāχāϞ āĻāĻŦāĻ‚ āĻ āĻŋāĻ• āφāϛ⧇ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧁āύāĨ¤
  8. āĻ āĻŋāĻ• āφāϛ⧇ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧁āύ āĻāĻŦāĻ‚, āϝāĻĻāĻŋ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻšāϝāĻŧ, āφāĻĒāύāĻžāϰ āĻ…āĻĒāĻžāϰ⧇āϟāĻŋāĻ‚ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āĻŸā§‡āϰ āϜāĻ¨ā§āϝ āĻĒāĻžāϏāĻ“āϝāĻŧāĻžāĻ°ā§āĻĄ āϞāĻŋāϖ⧁āύāĨ¤
  9. āĻļāĻŋāĻĄāĻŋāωāϞāĻžāϰ⧇ āϤ⧈āϰāĻŋ āĻ•āĻžāϜāϟāĻŋ āϖ⧁āρāϜ⧁āύ, āĻāϟāĻŋ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āύ⧀āĻšā§‡āϰ āĻĄāĻžāύāĻĻāĻŋāϕ⧇ āϕ⧋āĻŖāĻžāϝāĻŧ "āϚāĻžāϞāĻžāύ" āĻŦā§‹āϤāĻžāĻŽā§‡ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧁āύāĨ¤

āφāĻŽāĻžāĻĻ⧇āϰ āĻŦāϟ āĻŦā§āϝāĻžāĻ•āĻ—ā§āϰāĻžāωāĻ¨ā§āĻĄā§‡ āϚāϞ⧇ āĻāĻŦāĻ‚ āφāĻĒāύāĻŋ āϟāĻžāĻ¸ā§āĻ• āĻŦāĻ¨ā§āϧ āύāĻž āĻ•āϰāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻŦāĻž āφāĻĒāύāĻžāϰ āĻĒāĻŋāϏāĻŋ āĻŦāĻž āϏāĻžāĻ°ā§āĻ­āĻžāϰāϟāĻŋ āĻŦāĻ¨ā§āϧ āύāĻž āĻ•āϰāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻ•āĻžāϜ āĻ•āϰāĻŦ⧇ āϝ⧇āĻ–āĻžāύ⧇ āĻāϟāĻŋ āϚāĻžāϞ⧁ āĻšāϝāĻŧ⧇āϛ⧇āĨ¤

āωāĻĒāϏāĻ‚āĻšāĻžāϰ

āĻāχ āύāĻŋāĻŦāĻ¨ā§āϧ⧇, āφāĻŽāϰāĻž āϕ⧀āĻ­āĻžāĻŦ⧇ āĻāĻ•āϟāĻŋ āĻĒā§‚āĻ°ā§āĻŖāĻžāĻ™ā§āĻ— āĻŦāϟ āϞāĻŋāĻ–āϤ⧇ āĻšāϝāĻŧ āϤāĻž āϖ⧁āρāĻœā§‡ āĻŦ⧇āϰ āĻ•āϰ⧇āĻ›āĻŋ āϝāĻž āϕ⧇āĻŦāϞ āĻŦāĻžāĻ°ā§āϤāĻžāχ āĻĒāĻžāĻ āĻžāϤ⧇ āĻĒāĻžāϰ⧇ āύāĻž, āφāĻ—āϤ āĻŦāĻžāĻ°ā§āϤāĻž āĻāĻŦāĻ‚ āφāĻĻ⧇āĻļ⧇āϰ āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ“ āĻĻāĻŋāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻ…āĻ°ā§āϜāĻŋāϤ āĻœā§āĻžāĻžāύ āχāϤāĻŋāĻŽāĻ§ā§āϝ⧇ āφāĻĒāύāĻžāϰ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āϏāĻŽāĻ¸ā§āϝāĻž āϏāĻŽāĻžāϧāĻžāύ⧇āϰ āϜāĻ¨ā§āϝ āϝāĻĨ⧇āĻˇā§āϟāĨ¤

āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āύāĻŋāĻŦāĻ¨ā§āϧāϟāĻŋ āφāϰāĻ“ āϏ⧁āĻŦāĻŋāϧāĻžāϜāύāĻ• āĻ•āĻžāĻœā§‡āϰ āϜāĻ¨ā§āϝ āĻŦāĻŸā§‡ āĻāĻ•āϟāĻŋ āϕ⧀āĻŦā§‹āĻ°ā§āĻĄ āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻžāϰ āĻŦāĻŋāώāϝāĻŧ⧇ āĻ•āĻĨāĻž āĻŦāϞāĻŦ⧇āĨ¤

āφāĻŽāĻžāϰ āϏāĻĻāĻ¸ā§āϝāϤāĻž āĻŸā§‡āϞāĻŋāĻ—ā§āϰāĻžāĻŽ и āχāωāϟāĻŋāωāĻŦ āĻšā§āϝāĻžāύ⧇āϞ

āωāĻ¤ā§āϏ: www.habr.com

DDoS āϏ⧁āϰāĻ•ā§āώāĻž, VPS VDS āϏāĻžāĻ°ā§āĻ­āĻžāϰ āϏāĻš āϏāĻžāχāϟāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻšā§‹āĻ¸ā§āϟāĻŋāĻ‚ āĻ•āĻŋāύ⧁āύ đŸ”Ĩ DDoS āϏ⧁āϰāĻ•ā§āώāĻž āϏāĻš āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāϟ āĻšā§‹āĻ¸ā§āϟāĻŋāĻ‚ āĻ•āĻŋāύ⧁āύ, VPS VDS āϏāĻžāĻ°ā§āĻ­āĻžāϰ | ProHoster