آر ۾ ٽيليگرام بوٽ لکڻ (حصو 2): بوٽ ۾ ڪمانڊ سپورٽ ۽ ميسيج فلٽر شامل ڪرڻ

В اڳوڻي اشاعت اسان اهو معلوم ڪيو ته هڪ بوٽ ڪيئن ٺاهيو، ڪلاس جو هڪ مثال شروع ڪيو Bot ۽ ان کي استعمال ڪندي پيغام موڪلڻ جي طريقن سان واقف ٿيو.

هن آرٽيڪل ۾ آئون هن موضوع کي جاري رکي ٿو، تنهنڪري آئون هن مضمون کي پڙهڻ کان پوء پڙهڻ شروع ڪرڻ جي صلاح ڏيان ٿو پهريون حصو.

هن ڀيري اسان اهو معلوم ڪنداسين ته اسان جي بوٽن کي ڪيئن بحال ڪجي ۽ ان ۾ ڪمانڊ سپورٽ شامل ڪجي، ۽ ڪلاس کان به واقف ٿينداسين. Updater.

مضمون جي دوران، اسان ڪيترن ئي سادي بوٽن کي لکنداسين، بعد ۾، ڏنل تاريخ ۽ ملڪ جي ڪوڊ جي بنياد تي، اهو طئي ڪندو ته ڇا ڏنل ملڪ ۾ هڪ ڏينهن هفتيوار آهي يا پيداوار جي ڪئلينڊر جي مطابق ڪم ڪندڙ ڏينهن. پر، جيئن اڳ ۾، مضمون جو مقصد توهان کي پيڪيج انٽرفيس سان واقف ڪرڻ آهي telegram.bot پنهنجا مسئلا حل ڪرڻ لاءِ.

آر ۾ ٽيليگرام بوٽ لکڻ (حصو 2): بوٽ ۾ ڪمانڊ سپورٽ ۽ ميسيج فلٽر شامل ڪرڻ

سيريز جا سڀئي مضمون ”آر ۾ ٽيليگرام بوٽ لکڻ“

  1. اسان هڪ بوٽ ٺاهيندا آهيون ۽ ان کي ٽيليگرام ۾ پيغام موڪلڻ لاءِ استعمال ڪندا آهيون
  2. بوٽ ۾ ڪمانڊ سپورٽ ۽ پيغام فلٽر شامل ڪريو

Contents

جيڪڏهن توهان ڊيٽا جي تجزيي ۾ دلچسپي رکو ٿا، توهان کي شايد دلچسپي وٺندي منهنجي ٽيليگرام и يوٽيوب چينلز. گهڻو ڪري مواد آر ٻولي لاء وقف آهي.

  1. اپڊيٽر ڪلاس
  2. سنڀاليندڙ- سنڀاليندڙ
  3. بوٽ ۾ پهريون ڪمان شامل ڪريو، ڪمان سنڀاليندڙ
  4. ٽيڪسٽ پيغام پروسيسر ۽ فلٽر
  5. Parameters سان حڪم شامل ڪرڻ
  6. پس منظر ۾ بوٽ کي هلايو
  7. ٿڪل

اپڊيٽر ڪلاس

Updater هڪ ڪلاس آهي جيڪو توهان لاءِ ٽيليگرام بوٽ ٺاهڻ آسان بڻائي ٿو، ۽ ڪلاس کي هوڊ هيٺ استعمال ڪري ٿو Dispetcher. ڪلاس تفويض Updater bot مان تازه ڪاري حاصل ڪرڻ آهي (اڳئين مضمون ۾ اسان هن مقصد لاء طريقو استعمال ڪيو 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()

مٿي ڏنل ڪوڊ جو مثال هلايو، 'Your BOT TOKEN' کي تبديل ڪرڻ کان پوءِ حقيقي ٽوڪن سان جيڪو توهان حاصل ڪيو هو جڏهن بوٽ ٺاهيندي بوٽو ايفٽر (مان هڪ بوٽ ٺاهڻ بابت ڳالهايو پهريون مضمون).

طريقو start_polling() класса Updater، جيڪو ڪوڊ جي آخر ۾ استعمال ڪيو ويندو آهي، بوٽ مان اپڊيٽ جي درخواست ۽ پروسيسنگ جو هڪ لامحدود لوپ شروع ٿئي ٿو.

هاڻي اچو ته ٽيليگرام کوليون ۽ پهرين ڪمانڊ اسان جي بوٽ ڏانهن لکون /hi.

آر ۾ ٽيليگرام بوٽ لکڻ (حصو 2): بوٽ ۾ ڪمانڊ سپورٽ ۽ ميسيج فلٽر شامل ڪرڻ

ھاڻي اسان جو بوٽ سمجھي ٿو حڪم /hi، ۽ ڄاڻي ٿو ته اسان کي ڪيئن سلام ڪجي.

اسڪيمي طور تي، اهڙي سادي بوٽ جي تعمير جي عمل کي هيٺ ڏنل بيان ڪري سگهجي ٿو.

آر ۾ ٽيليگرام بوٽ لکڻ (حصو 2): بوٽ ۾ ڪمانڊ سپورٽ ۽ ميسيج فلٽر شامل ڪرڻ

  1. ڪلاس جو هڪ مثال ٺاهيو Updater;
  2. اسان طريقا ٺاهيندا آهيون، يعني. افعال جيڪي اسان جو بوٽ انجام ڏيندو. ڪوڊ مثال ۾ هي هڪ فنڪشن آهي say_hello(). فنڪشن جيڪي توھان استعمال ڪندا bot طريقن جي طور تي ٻن گھربل دليلن جا ھجن - بوٽ и ڪاري، ۽ هڪ اختياري - دليل. دليل بوٽ، هي توهان جو بوٽ آهي، ان جي مدد سان توهان پيغامن جا جواب ڏئي سگهو ٿا، پيغام موڪلي سگهو ٿا، يا بوٽ وٽ موجود ڪي ٻيا طريقا استعمال ڪري سگهو ٿا. دليل ڪاري اھو اھو آھي جيڪو بوٽ صارف کان حاصل ڪيو، حقيقت ۾، جيڪو اسان حاصل ڪيو آھي پھرئين مضمون ۾ طريقو استعمال ڪندي getUpdates(). دليل دليل توهان کي ڪمانڊ سان گڏ صارف پاران موڪليل اضافي ڊيٽا کي پروسيس ڪرڻ جي اجازت ڏئي ٿي، اسان ٿوري دير بعد هن موضوع تي واپس ڪنداسين؛
  3. اسان هينڊلر ٺاهيندا آهيون، يعني اسان ڪجھ استعمال ڪندڙ عملن کي اڳوڻي قدم تي ٺاهيل طريقن سان ڳنڍيندا آهيون. لازمي طور تي، هڪ سنڀاليندڙ هڪ ٽرگر آهي، هڪ واقعو جيڪو ڪجهه بوٽ فنڪشن کي سڏيندو آهي. اسان جي مثال ۾، اهڙي ٽرگر هڪ حڪم موڪلي رهيو آهي /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().

ٽيڪسٽ پيغام پروسيسر ۽ فلٽر

اسان اهو معلوم ڪيو ته بوٽن ڏانهن ڪمانڊ ڪيئن موڪليا وڃن، پر ڪڏهن ڪڏهن اسان کي بوٽ جي ضرورت هوندي آهي ته هو نه رڳو حڪمن جو جواب ڏئي، پر ڪجهه باقاعده ٽيڪسٽ پيغامن کي پڻ. هن کي ڪرڻ لاءِ توهان کي ميسيج هينڊلر استعمال ڪرڻ جي ضرورت آهي - ميسيج هينڊلر.

عام ميسيج هينڊلر بلڪل سڀني ايندڙ پيغامن جو جواب ڏيندو. تنهن ڪري، پيغام هلائيندڙ اڪثر ڪري فلٽرن سان گڏ استعمال ٿيندا آهن. اچو ته بوٽ کي هيلو چوڻ سيکاريون نه رڳو حڪم تي /hi، پر جڏهن به هيٺين لفظن مان ڪو هڪ bot ڏانهن موڪليل پيغام ۾ ظاهر ٿئي ٿو: هيلو، هيلو، سلام، هاءِ، بونجور.

في الحال اسان ڪو به نئون طريقو نه لکنداسين، ڇاڪاڻ ته... اسان وٽ اڳ ۾ ئي ھڪڙو طريقو آھي جنھن ذريعي بوٽ اسان کي سلام ڪري ٿو. اسان سڀني کي ڪرڻ جي ضرورت آهي گهربل فلٽر ۽ پيغام سنڀاليندڙ ٺاهي.

ڪوڊ 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()

مٿي ڏنل ڪوڊ جو مثال هلايو، 'Your BOT TOKEN' کي تبديل ڪرڻ کان پوءِ حقيقي ٽوڪن سان جيڪو توهان حاصل ڪيو هو جڏهن بوٽ ٺاهيندي بوٽو ايفٽر (مان هڪ بوٽ ٺاهڻ بابت ڳالهايو پهريون مضمون).

ھاڻي اچو ته ڪوشش ڪريون ته بوٽ کي ڪيترائي نياپا موڪلڻ جي جن ۾ اڳ ۾ ڏنل سلامي لفظ شامل آھن:
آر ۾ ٽيليگرام بوٽ لکڻ (حصو 2): بوٽ ۾ ڪمانڊ سپورٽ ۽ ميسيج فلٽر شامل ڪرڻ

تنهن ڪري، سڀ کان پهريان، اسان بوٽ کي سيکاريو نه رڳو هيلو چوڻ، پر سلام جو جواب ڏيڻ. اسان اهو دليل استعمال ڪندي ڪيو جواب_کي_پيغام_id، جيڪو طريقو ۾ موجود آهي 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
)

Parameters سان حڪم شامل ڪرڻ

اسان اڳ ۾ ئي ڄاڻون ٿا ته ڪهڙا حڪم آهن، انهن کي ڪيئن ٺاهيو وڃي، ۽ بوٽ کي ڪيئن مجبور ڪيو وڃي مطلوب حڪم تي عمل ڪرڻ لاء. پر ڪجهه حالتن ۾، حڪم جي نالي کان علاوه، اسان کي ان کي عمل ڪرڻ لاء ڪجهه ڊيٽا منتقل ڪرڻ جي ضرورت آهي.

هيٺ ڏنل هڪ بوٽ جو هڪ مثال آهي، جيڪا ڏنل تاريخ ۽ ملڪ ڏني وئي آهي، توهان کي پيداوار جي ڪئلينڊر مان ڏينهن جو قسم موٽائي ٿو.

هيٺ ڏنل بوٽ استعمال ڪري ٿو پيداوار ڪئلينڊر 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()

مٿي ڏنل ڪوڊ جو مثال هلايو، 'Your BOT TOKEN' کي تبديل ڪرڻ کان پوءِ حقيقي ٽوڪن سان جيڪو توهان حاصل ڪيو هو جڏهن بوٽ ٺاهيندي بوٽو ايفٽر (مان هڪ بوٽ ٺاهڻ بابت ڳالهايو پهريون مضمون).

اسان ھڪڙو بوٽ ٺاھيو آھي جنھن جي هٿيارن ۾ صرف ھڪڙو طريقو آھي check_date، اهو طريقو ساڳئي نالي جي حڪم سان سڏيو ويندو آهي.

پر، حڪم جي نالي کان علاوه، هي طريقو توهان کي ٻه پيٽرولر داخل ڪرڻ جي ضرورت آهي، ملڪ جو ڪوڊ ۽ تاريخ. اڳيون، بوٽ چيڪ ڪري ٿو ته ڇا مخصوص ملڪ ۾ ڏنل ڏينهن هفتيوار، ننڍو ڏينهن، يا سرڪاري پيداوار جي ڪئلينڊر جي مطابق ڪم ڪندڙ ڏينهن آهي.

انهي طريقي جي لاءِ جيڪو اسان ٺاهيندا آهيون ڪمانڊ سان گڏ اضافي پيرا ميٽرز کي قبول ڪرڻ لاءِ، استعمال ڪريو دليل pass_args = TRUE فنڪشن ۾ CommandHandler(), ۽ جڏهن هڪ طريقو ٺاهي، گهربل دليلن کان علاوه بوٽ, ڪاري هڪ اختياري ٺاهيو - دليل. هن طريقي سان ٺاهيل طريقو انهن پيرا ميٽرز کي قبول ڪندو جيڪي توهان بوٽ ڏانهن موڪليندا آهيو حڪم جي نالي کان پوءِ. پيرا ميٽرز کي اسپيس جي ذريعي الڳ ڪيو وڃي؛ اهي هڪ ٽيڪسٽ ویکٹر طور طريقي سان موڪليا ويندا.

اچو ته اسان جي بوٽ کي لانچ ۽ جانچيو.

آر ۾ ٽيليگرام بوٽ لکڻ (حصو 2): بوٽ ۾ ڪمانڊ سپورٽ ۽ ميسيج فلٽر شامل ڪرڻ

پس منظر ۾ بوٽ کي هلايو

آخري قدم جيڪو اسان کي مڪمل ڪرڻ جي ضرورت آهي اهو پس منظر ۾ بوٽ لانچ ڪرڻ آهي.

هن کي ڪرڻ لاء، هيٺ بيان ڪيل الگورتھم جي پيروي ڪريو:

  1. بوٽ ڪوڊ کي فائل ۾ محفوظ ڪريو ايڪسٽينشن R سان. جڏهن RStudio ۾ ڪم ڪري، اهو مينيو ذريعي ڪيو ويندو آهي. عڪس، ٽيم سيو ايز ....
  2. بن فولڊر ڏانهن رستو شامل ڪريو، جيڪو موڙ ۾ ان فولڊر ۾ واقع آهي جنهن ۾ توهان R ٻولي نصب ڪئي آهي، رستي جي متغير ڏانهن، هدايتون هتي.
  3. هڪ باقاعده ٽيڪسٽ فائل ٺاهيو جنهن ۾ 1 لائن لکو: R CMD BATCH C:UsersAlseyDocumentsmy_bot.R... جي بدران ج:UsersAlseyDocumentsmy_bot.R پنھنجي bot اسڪرپٽ ڏانھن رستو لکو. ساڳئي وقت، اهو ضروري آهي ته رستي ۾ ڪو به سيريلڪ اکر يا خال نه آهن، ڇاڪاڻ ته اهو مسئلو ٿي سگھي ٿو جڏهن بوٽ هلائڻ دوران. ان کي محفوظ ڪريو، ۽ ان جي واڌ سان تبديل ڪريو txt تي بٽ.
  4. ونڊوز ٽاسڪ شيڊيولر کوليو، ان لاءِ ڪيترائي طريقا آهن، مثال طور، ڪو به فولڊر کوليو ۽ ايڊريس داخل ڪريو. %windir%system32taskschd.msc /s. ٻيا لانچ طريقا ڳولي سگهجن ٿا هتي.
  5. شيڊولر جي مٿين ساڄي مينيو ۾، ڪلڪ ڪريو "ڪم ٺاهيو ...".
  6. "جنرل" ٽئب تي، پنھنجي ڪم کي ھڪ حسب ضرورت نالو ڏيو، ۽ سوئچ کي تبديل ڪريو "سڀني استعمال ڪندڙن لاءِ ھلايو" رياست ڏانھن.
  7. "Actions" ٽئب ڏانھن وڃو، "ٺاهيو" تي ڪلڪ ڪريو. "پروگرام يا اسڪرپٽ" فيلڊ ۾، "براؤز ڪريو" تي ڪلڪ ڪريو، ٻئي قدم ۾ ٺاھيو ويو بٽ فائل ۽ ڪلڪ ڪريو OK.
  8. ڪلڪ ڪريو OK ۽، جيڪڏھن ضروري ھجي، توھان جي آپريٽنگ سسٽم اڪائونٽ لاء پاسورڊ داخل ڪريو.
  9. شيڊولر ۾ ٺهيل ڪم ڳولھيو، ان کي چونڊيو ۽ ھيٺئين ساڄي ڪنڊ ۾ "رن" بٽڻ تي ڪلڪ ڪريو.

اسان جو بوٽ پس منظر ۾ هلندو آهي ۽ ڪم ڪندو جيستائين توهان ڪم کي روڪيو، يا توهان جي PC يا سرور کي بند ڪريو جنهن تي اهو شروع ڪيو ويو آهي.

ٿڪل

هن آرٽيڪل ۾، اسان اهو معلوم ڪيو ته هڪ مڪمل بوٽ ڪيئن لکجي جيڪو نه صرف پيغام موڪلي سگهي ٿو، پر ايندڙ پيغامن ۽ حڪمن جو جواب پڻ ڏئي سگهي ٿو. حاصل ڪيل علم اڳ ۾ ئي ڪافي آهي توهان جي اڪثر مسئلن کي حل ڪرڻ لاءِ.

ايندڙ مضمون ۾ وڌيڪ آسان ڪم لاءِ بوٽ ۾ ڪيبورڊ ڪيئن شامل ڪجي بابت ڳالهائينداسين.

رڪنيت حاصل ڪريو منهنجي ٽيليگرام и يوٽيوب چينل

جو ذريعو: www.habr.com

تبصرو شامل ڪريو