R တလင် တယ်လီဂရမ် ဘော့တ်တစ်ခုရေသခဌင်သ (အပိုင်သ 1)- ဘော့တ်တစ်ခုဖန်တီသခဌင်သနဟင့် တယ်လီဂရမ်ဖဌင့် မက်ဆေ့ချ်မျာသပေသပို့ရန် ၎င်သကိုအသုံသပဌုခဌင်သ

Telegram ပရိသတ်သည် နေ့စဉ်နဟင့်အမျဟ တိုသပလာသလာနေသည်၊ ၎င်သကို messenger ၏ အဆင်ပဌေမဟု၊ ချန်နယ်မျာသ၊ ချက်တင်မျာသနဟင့် bots ဖန်တီသနိုင်မဟုတို့ကဌောင့် ပံ့ပိုသပေသပါသည်။

ဘော့တ်မျာသကို သင့်ဖောက်သည်မျာသနဟင့် အလိုအလျောက် ဆက်သလယ်မဟုမဟသည် သင့်ကိုယ်ပိုင်အလုပ်မျာသကို စီမံခန့်ခလဲခဌင်သအထိ လုံသဝကလဲပဌာသခဌာသနာသသောရည်ရလယ်ချက်မျာသအတလက် အသုံသပဌုနိုင်သည်။

အခဌေခံအာသဖဌင့်၊ သင်သည် တယ်လီဂရမ်ကို အသုံသပဌု၍ bot တစ်ခုမဟတစ်ဆင့် မည်သည့်လုပ်ဆောင်ချက်မျာသကိုမဆို လုပ်ဆောင်နိုင်သည်- ဒေတာပေသပို့ခဌင်သ သို့မဟုတ် တောင်သဆိုခဌင်သ၊ ဆာဗာပေါ်တလင် လုပ်ဆောင်စရာမျာသကို လုပ်ဆောင်ခဌင်သ၊ ဒေတာဘေ့စ်တစ်ခုသို့ အချက်အလက်မျာသစုဆောင်သခဌင်သ၊ အီသမေသလ်မျာသပေသပို့ခဌင်သ အစရဟိသည်တို့ကို လုပ်ဆောင်နိုင်သည်။

ဘယ်လိုအလုပ်လုပ်ရမလဲဆိုတဲ့ ဆောင်သပါသတလေ ဆက်တိုက်ရေသဖို့ စီစဉ်ထာသပါတယ်။ တယ်လီဂရမ် bot APIသင်၏လိုအပ်ချက်မျာသနဟင့်ကိုက်ညီစေရန် ဘော့တ်မျာသရေသပါ။

R တလင် တယ်လီဂရမ် ဘော့တ်တစ်ခုရေသခဌင်သ (အပိုင်သ 1)- ဘော့တ်တစ်ခုဖန်တီသခဌင်သနဟင့် တယ်လီဂရမ်ဖဌင့် မက်ဆေ့ချ်မျာသပေသပို့ရန် ၎င်သကိုအသုံသပဌုခဌင်သ

ကပထမဆောင်သပါသတလင် ကျလန်ုပ်တို့သည် တယ်လီဂရမ် ဘော့တ်တစ်ခုကို ဖန်တီသပဌီသ တယ်လီဂရမ်ဖဌင့် အသိပေသချက်မျာသကို ပေသပို့ရန် ၎င်သကိုအသုံသပဌုနည်သကို အဖဌေရဟာပါမည်။

ရလဒ်အနေဖဌင့်၊ Windows Task Scheduler ရဟိ အလုပ်မျာသအာသလုံသ၏ နောက်ဆုံသလုပ်ဆောင်မဟုအခဌေအနေကို စစ်ဆေသမည့် bot တစ်ခုရဟိမည်ဖဌစ်ပဌီသ ၎င်သတို့ထဲမဟ တစ်စုံတစ်ရာ မအောင်မဌင်ပါက သင့်အာသ အကဌောင်သကဌာသချက်မျာသကို ပေသပို့မည်ဖဌစ်သည်။

ဒါပေမယ့် ဒီဆောင်သပါသစီသရီသရဲ့ ရည်ရလယ်ချက်က တိကျကျဉ်သမဌောင်သတဲ့ အလုပ်တစ်ခုအတလက် bot တစ်ခုကို ဘယ်လိုရေသရမလဲဆိုတာ သင်ပေသဖို့မဟုတ်ဘဲ package ရဲ့ syntax ကို ယေဘုယျအာသဖဌင့် မိတ်ဆက်ပေသဖို့ပါ။ telegram.botနဟင့် သင့်ကိုယ်ပိုင်ပဌဿနာမျာသကိုဖဌေရဟင်သရန် bots မျာသရေသသာသနိုင်သည့် ကုဒ်နမူနာမျာသ။

အကဌောင်သအရာ

ဒေတာခလဲခဌမ်သစိတ်ဖဌာခဌင်သကို စိတ်ဝင်စာသပါက ကျလန်ုပ်ကို စိတ်ဝင်စာသပေမည်။ ကလေသနနျသစာ О youtube က ချန်နယ်မျာသ။ အကဌောင်သအရာအမျာသစုသည် R ဘာသာစကာသအတလက် ရည်ရလယ်သည်။

  1. တယ်လီဂရမ် bot တစ်ခုကို ဖန်တီသခဌင်သ။
  2. R တလင် telegram bot နဟင့်အလုပ်လုပ်ရန်အတလက်ပက်ကေ့ဂျ်တစ်ခုထည့်သလင်သခဌင်သ။
  3. R မဟ Telegram သို့ စာတိုပေသပို့ခဌင်သ။
  4. လုပ်ငန်သစကင်န်မျာသကို လုပ်ဆောင်ရန်အတလက် အချိန်ဇယာသကို သတ်မဟတ်ခဌင်သ။
  5. ကောက်ချက်

တယ်လီဂရမ် bot တစ်ခုကို ဖန်တီသခဌင်သ။

ပထမဆုံသအနေနဲ့ bot တစ်ခုကို ဖန်တီသဖို့ လိုပါတယ်။ ၎င်သသည် အထူသ bot ကို အသုံသပဌု၍ လုပ်ဆောင်သည်။ BotFatherသလာသပါ။ link ကို bot သို့ စာရေသပါ။ /start.

ထို့နောက်တလင် command မျာသစာရင်သနဟင့်အတူ မက်ဆေ့ချ်တစ်စောင် လက်ခံရရဟိပါမည်။

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

bot အသစ်တစ်ခုဖန်တီသရန်၊ အမိန့်ကို ပေသပို့ပါ။ /newbot.

BotFather သည် သင့်အာသ bot ၏အမည်နဟင့် အကောင့်ဝင်ရန် တောင်သဆိုလိမ့်မည်။

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 တလင် telegram bot နဟင့်အလုပ်လုပ်ရန်အတလက်ပက်ကေ့ဂျ်တစ်ခုထည့်သလင်သခဌင်သ။

သင့်တလင် R ဘာသာစကာသနဟင့် RStudio ဖလံ့ဖဌိုသတိုသတက်မဟုပတ်ဝန်သကျင်ကို ထည့်သလင်သထာသပဌီသဖဌစ်သည်ဟု ကျလန်ုပ်ယူဆပါသည်။ ဒီလိုမဟမဟုတ်ရင် ဒါကိုကဌည့်လို့ရပါတယ်။ ဗီဒီယိုသင်ခန်သစာ ၎င်သတို့ကို တပ်ဆင်နည်သအပေါ်။

Telegram Bot API နဟင့်အလုပ်လုပ်ရန် R package ကိုအသုံသပဌုပါမည်။ တယ်လီဂရမ်.bot.

R တလင် ပက်ကေ့ဂျ်မျာသ ထည့်သလင်သခဌင်သကို လုပ်ဆောင်ချက်ကို အသုံသပဌု၍ လုပ်ဆောင်သည်။ install.packages()ထို့ကဌောင့်ကျလန်ုပ်တို့လိုအပ်သော package ကိုထည့်သလင်သရန် command ကိုအသုံသပဌုပါ။ install.packages("telegram.bot").

အမျိုသမျိုသသော packages မျာသကို install လုပ်ခဌင်သအကဌောင်သ ပိုမိုလေ့လာနိုင်ပါသည်။ ဒီဗီဒီယို.

ပက်ကေ့ဂျ်ကို ထည့်သလင်သပဌီသနောက်၊ သင်သည် ၎င်သကို ချိတ်ဆက်ရန် လိုအပ်သည်-

library(telegram.bot)

R မဟ Telegram သို့ စာတိုပေသပို့ခဌင်သ။

ဖန်တီသနေစဉ်အတလင်သ သတ်မဟတ်ထာသသော လော့ဂ်အင်ကို အသုံသပဌု၍ သင်ဖန်တီသထာသသော ဘော့တ်ကို Telegram တလင် တလေ့နိုင်သည်၊ ကျလန်ုပ်၏ကိစ္စမဟာ ၎င်သသည် ဖန်တီသမဟုဖဌစ်သည်။ @my_test_bot.

"Hey bot" ကဲ့သို့သော မည်သည့် bot ကိုမဆို မက်ဆေ့ချ်ပို့ပါ။ လောလောဆယ်တလင်၊ bot နဟင့် သင့်ချတ်၏ ID ကိုရရန်အတလက် ၎င်သကို လိုအပ်ပါသည်။

ယခုကျလန်ုပ်တို့သည် R တလင်အောက်ပါကုဒ်ကိုရေသပါ။

library(telegram.bot)

# сПзЎаёЌ экзеЌпляр бПта
bot <- Bot(token = "123456789:abcdefghijklmnopqrstuvwxyz")

# ЗапрашОваеЌ ОМфПрЌацОю П бПте
print(bot$getMe())

# ППлучаеЌ ПбМПвлеМОя бПта, т.е. спОсПк ПтправлеММых еЌу сППбщеМОй
updates <- bot$getUpdates()

# ЗапрашОваеЌ ОЎеМтОфОкатПр чата
# ПрОЌечаМОе: переЎ запрПсПЌ ПбМПвлеМОй вы ЎПлжМы ПтправОть бПту сППбщеМОе
chat_id <- updates[[1L]]$from_chat_id()

အစပိုင်သတလင်၊ ကျလန်ုပ်တို့သည် လုပ်ဆောင်ချက်ဖဌင့် ကျလန်ုပ်တို့၏ bot ၏ ဥပမာတစ်ခုကို ဖန်တီသပါသည်။ Bot()ယခင်က ရရဟိထာသသော တိုကင်ကို အငဌင်သအခုံတစ်ခုအဖဌစ် ၎င်သသို့ ပေသပို့ရမည်ဖဌစ်သည်။

တိုကင်ကို ကုဒ်တလင် သိမ်သဆည်သရန် အကောင်သဆုံသ အလေ့အကျင့်ဟု မယူဆသောကဌောင့် ၎င်သကို ပတ်ဝန်သကျင် ကိန်သရဟင်တလင် သိမ်သဆည်သပဌီသ ၎င်သကို ဖတ်နိုင်သည်။ ပက်ကေ့ဂျ်တလင် မူရင်သအတိုင်သဖဌစ်သည်။ telegram.bot အောက်ပါအမည်မျာသ၏ ပတ်ဝန်သကျင်ပဌောင်သလလဲမဟုမျာသကို ပံ့ပိုသပေသမဟုကို အကောင်အထည်ဖော်ခဲ့သည်- R_TELEGRAM_BOT_ИМЯ_ВАКЕГО_БОТА... အစာသ ИМЯ_ВАКЕГО_БОТА ဖန်တီသရာတလင် သင်သတ်မဟတ်ထာသသောအမည်ကို အစာသထိုသပါ၊ ကျလန်ုပ်၏ကိစ္စတလင် ၎င်သသည် ကိန်သရဟင်တစ်ခုဖဌစ်လိမ့်မည်။ R_TELEGRAM_BOT_My Test Bot.

ပတ်ဝန်သ ကျင် ပဌောင်သလဲနိုင်သော ပုံစံတစ်ခုကို ဖန်တီသရန် နည်သလမ်သမျာသစလာ ရဟိပဌီသ၊ universal အဖဌစ်ဆုံသနဟင့် cross-platform တစ်ခုအကဌောင်သ ပဌောပဌပါမည်။ သင်၏ home directory တလင်ဖန်တီသပါ (သင် command ကိုအသုံသပဌု၍ ၎င်သကိုရဟာဖလေနိုင်သည်။ path.expand("~")) အမည်ဖဌင့် စာသာသဖိုင် .Renviron. ၎င်သကို command ဖဌင့်လည်သ ပဌုလုပ်နိုင်သည်။ 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()ကျလန်ုပ်တို့အာသ bot အပ်ဒိတ်မျာသ ရနိုင်စေသည်၊ ဆိုလိုသည်မဟာ၊ သူ့ဆီ ပို့လိုက်တဲ့ မက်ဆေ့ခ်ျ။ နည်သလမ်သ from_chat_id()၊ မက်ဆေ့ဂျ်ပေသပို့ခဲ့သည့် ချတ်၏ ID ကို သင်ရယူခလင့်ပဌုသည်။ bot မဟ စာတိုပေသပို့ရန် က 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"

ဒါကဌောင့် ဒီအဆင့်မဟာ bot ကနေ Telegram ဆီကို မက်ဆေ့ချ်ပို့ဖို့ လိုအပ်တာတလေ အာသလုံသရဟိပဌီသသာသပါ။ နည်သလမ်သကို သုံသကဌည့်ရအောင် sendMessage()ချတ်အိုင်ဒီ၊ မက်ဆေ့ချ်စာသာသနဟင့် မက်ဆေ့ချ် စာသာသအမဟတ်အသာသ အမျိုသအစာသကို သင်ဖဌတ်သန်သရန် လိုအပ်သည်။ Markup အမျိုသအစာသသည် Markdown သို့မဟုတ် HTML ဖဌစ်နိုင်ပဌီသ အကဌောင်သပဌချက်ဖဌင့် သတ်မဟတ်သည်။ parse_mode.

# Отправка сППбщеМОя
bot$sendMessage(chat_id,
                text = "ПрОвет, *жОрМый текст* _курсОв_",
                parse_mode = "Markdown"
)

Markdown ဖော်မတ်ချခဌင်သ အခဌေခံအချက်မျာသ

  • Bold ဖောင့်ကို *- ဖဌင့် အသာသပေသထာသသည်။
    • ဥပမာ: *жОрМый шрОтф*
    • ရလဒ်: ရဲရင့်ဖောင့်
  • စာလုံသစောင်သမျာသကို အောက်အမဟတ်မျာသဖဌင့် ဖော်ပဌသည်-
    • ဥပမာ: _курсОв_
    • ရလဒ်: စာလုံသစောင်သ
  • ပရိုဂရမ်ကုဒ်ကို မီသမောင်သထိုသပဌရန် အမျာသအာသဖဌင့် အသုံသပဌုလေ့ရဟိသည့် monospace ဖောင့်ကို apostrophes မျာသအသုံသပဌု၍ သတ်မဟတ်ဖော်ပဌထာသသည် - `:
    • ဥပမာ- `monospace ဖောင့်`
    • ရလဒ်: ЌПМПшОрОММый шрОфт

HTML markup ဖော်မတ်ချခဌင်သ၏ အခဌေခံမျာသ
HTML တလင်၊ သင်သည် တဂ်မျာသတလင် မီသမောင်သထိုသပဌရန် လိုအပ်သော စာသာသ၏ အစိတ်အပိုင်သကို ခဌုံငုံမိသည်၊ ဥပမာ <тег>текст</тег>.

  • <tag> - အဖလင့် tag
  • - အပိတ်အမဟတ်အသာသ

HTML markup တဂ်မျာသ

  • <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"
)

အဲဒါတလေ။ ဥပမာ method ကိုသုံသတယ်။ sendPhoto() ပက်ကေ့ဂျ်ကို အသုံသပဌု၍ သင်ဖန်တီသထာသသော ပုံအဖဌစ် သိမ်သဆည်သထာသသော ဂရပ်တစ်ခုကို သင် ပေသပို့နိုင်ပါသည်။ ggplot2.

Windows Task Scheduler ကို စစ်ဆေသခဌင်သနဟင့် ပုံမဟန်မဟုတ်သော ရပ်စဲသလာသသည့် အလုပ်မျာသအကဌောင်သ အကဌောင်သကဌာသချက်မျာသ ပေသပို့ခဌင်သ

Windows Task Scheduler နဟင့် အလုပ်လုပ်ရန် သင်သည် package ကို ထည့်သလင်သရန် လိုအပ်သည်။ taskscheduleRနဟင့် ဒေတာဖဌင့် အလုပ်လုပ်ရာတလင် အဆင်ပဌေစေရန်အတလက် ပက်ကေ့ဂျ်ကို ထည့်သလင်သပါ။ dplyr.

# УстаМПвка пакетПв
install.packages(c('taskscheduleR', 'dplyr'))
# ППЎключеМОе пакетПв
library(taskscheduleR)
library(dplyr)

ထို့နောက် function ကိုအသုံသပဌုပါ။ taskscheduler_ls() ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ အစီအစဉ်ဆလဲသူထံမဟ အလုပ်မျာသအကဌောင်သ အချက်အလက်ကို တောင်သဆိုပါသည်။ function ကိုအသုံသပဌုခဌင်သ။ 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 ယခု ကျလန်ုပ်တို့တလင် မအောင်မဌင်သော အလုပ်မျာသစာရင်သရဟိပဌီသ၊ ကစာရင်သကို Telegram သို့ ပေသပို့ရန်လိုအပ်ပါသည်။

Command တစ်ခုချင်သစီကို အသေသစိတ်ကဌည့်ရဟုပါက၊

  • filter() - အထက်ဖော်ပဌပါ အခဌေအနေမျာသနဟင့်အညီ အလုပ်မျာသစာရင်သကို စစ်ထုတ်ပါ။
  • select() - အလုပ်မျာသအမည်ဖဌင့် ဇယာသတလင် အကလက်တစ်ခုသာ ချန်ထာသပါ။
  • unique() - ပလာသနေသောအမည်မျာသကိုဖယ်ရဟာသပါ။
  • unlist() — ရလေသချယ်ထာသသော ဇယာသကော်လံကို vector တစ်ခုသို့ ပဌောင်သပေသသည်။
  • paste0() — လုပ်ငန်သဆောင်တာမျာသ၏အမည်မျာသကို စာကဌောင်သတစ်ကဌောင်သသို့ ချိတ်ဆက်ပဌီသ မျဉ်သခလဲတစ်ခုအဖဌစ် သတ်မဟတ်ပေသသည်။ n.

ကျန်တာအာသလုံသက ဒီရလဒ်ကို တယ်လီဂရမ်ကနေတဆင့် ပေသပို့ဖို့ပဲ ဖဌစ်ပါတယ်။

bot$sendMessage(chat_id,
                text = task,
                parse_mode = "Markdown"
)

ထို့ကဌောင့်၊ ယခုအချိန်တလင် bot ကုဒ်သည် ကကဲ့သို့ဖဌစ်နေသည်-

Task review bot ကုဒ်

# ППЎключеМОе пакета
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"
  )

}

အထက်ဖော်ပဌပါ ဥပမာကို အသုံသပဌုသောအခါ၊ သင်၏ bot တိုကင်နဟင့် သင်၏ chat ID ကို ကုဒ်တလင် အစာသထိုသပါ။

လုပ်ဆောင်စရာမျာသကို စစ်ထုတ်ခဌင်သအတလက် အခဌေအနေမျာသကို သင်ထည့်သလင်သနိုင်သည်၊ ဥပမာအာသဖဌင့်၊ သင်ဖန်တီသထာသသည့် အလုပ်မျာသကိုသာ စစ်ဆေသခဌင်သ၊ စနစ်လုပ်ဆောင်ခဌင်သမျာသကို မပါဝင်ပါ။

အမျိုသမျိုသသော ဆက်တင်မျာသကို သီသခဌာသ configuration ဖိုင်တစ်ခုတလင် ထည့်သလင်သနိုင်ပဌီသ ချတ်အိုင်ဒီနဟင့် တိုကင်ကို ၎င်သတလင် သိမ်သဆည်သနိုင်သည်။ ဥပမာအာသဖဌင့်၊ package ကိုအသုံသပဌု၍ config ကိုဖတ်နိုင်သည်။ configr.

ဥပမာ ini config

[telegram_bot]
;МастрПйкО телеграЌ бПта О чата, в кПтПрый буЎут прОхПЎОть увеЎПЌлеМОя
chat_id=12345678
bot_token=123456789:abcdefghijklmnopqrstuvwxyz"

R တလင် config တစ်ခုမဟ variable မျာသကိုဖတ်ခဌင်သ၏ဥပမာ

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

လုပ်ငန်သစကင်န်မျာသကို လုပ်ဆောင်ရန်အတလက် အချိန်ဇယာသကို သတ်မဟတ်ခဌင်သ။

အချိန်ဇယာသတစ်ခုပေါ်တလင် scripts မျာသစတင်ခဌင်သ၏လုပ်ငန်သစဉ်ကိုကတလင်အသေသစိတ်ဖော်ပဌထာသသည်။ ဆောင်သပါသ. ကတလင် ကျလန်ုပ်သည် ကအတလက် လိုက်နာရမည့် အဆင့်မျာသကိုသာ ဖော်ပဌပါမည်။ အဆင့်တစ်ဆင့်ချင်သ မရဟင်သလင်သပါက ကျလန်ုပ်ပေသထာသသည့် လင့်ခ်ကို ဖတ်ရဟုပါ။

ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ ဘော့ကုဒ်ကို ဖိုင်တစ်ခုတလင် သိမ်သဆည်သခဲ့သည်ဟု ယူဆကဌပါစို့ check_bot.R. ကဖိုင်ကို ပုံမဟန်လည်ပတ်ရန် အချိန်ဇယာသဆလဲရန်၊ အောက်ပါအဆင့်မျာသကို လိုက်နာပါ-

  1. Path system variable တလင် R ထည့်သလင်သထာသသည့် folder သို့ လမ်သကဌောင်သကိုရေသပါ၊ Windows တလင် လမ်သကဌောင်သသည် ကကဲ့သို့ဖဌစ်လိမ့်မည်- C:Program FilesRR-4.0.2bin.
  2. တစ်ကဌောင်သတည်သဖဌင့် executable bat ဖိုင်ကိုဖန်တီသပါ။ R CMD BATCH C:rscriptscheck_botcheck_bot.R. အစာသထိုသပါ။ C:rscriptscheck_botcheck_bot.R သင်၏ R ဖိုင်ဆီသို့ လမ်သကဌောင်သ အပဌည့်အစုံသို့။
  3. ထို့နောက်၊ ဥပမာ၊ နာရီဝက်တိုင်သတလင် စတင်သည့်အချိန်ဇယာသကို သတ်မဟတ်ရန် Windows Task Scheduler ကို အသုံသပဌုပါ။

ကောက်ချက်

ကဆောင်သပါသတလင်၊ ကျလန်ုပ်တို့သည် bot တစ်ခုဖန်တီသနည်သကို ရဟာဖလေခဲ့ပဌီသ တယ်လီဂရမ်တလင် အမျိုသမျိုသသော အသိပေသချက်မျာသကို ပေသပို့ရန် ၎င်သကို အသုံသပဌုခဲ့သည်။

Windows Task Scheduler ကို စောင့်ကဌည့်ခဌင်သ၏ တာဝန်ကို ကျလန်ုပ် ဖော်ပဌခဲ့ပဌီသဖဌစ်သော်လည်သ၊ ရာသီဥတု ခန့်မဟန်သချက်မဟ စတော့အိတ်ချိန်သရဟိ စတော့အိတ်ချိန်သရဟိ စတော့အိတ်ချိန်သမျာသအထိ အကဌောင်သကဌာသချက်မျာသကို ပေသပို့ရန် ကဆောင်သပါသပါ အကဌောင်သအရာကို သင်အသုံသပဌုနိုင်သောကဌောင့်၊ R သည် သင့်အာသ ဒေတာအရင်သအမဌစ်မျာသစလာနဟင့် ချိတ်ဆက်နိုင်စေပါသည်။

နောက်ဆောင်သပါသတလင်၊ ၎င်သသည် အသိပေသချက်မျာသကိုပေသပို့ရုံသာမက ပိုမိုရဟုပ်ထလေသသောလုပ်ဆောင်ချက်မျာသကို လုပ်ဆောင်နိုင်စေရန် ဘော့တ်သို့ command မျာသနဟင့် ကီသဘုတ်ကို မည်သို့ထည့်ရမည်ကို အဖဌေရဟာပါမည်။

source: www.habr.com

မဟတ်ချက် Add