ProHoster > ΠΠ»ΠΎΠ³ > Maamulka > Waxaan ku qornaa bot telegram luqadda R (qaybta 1): Samee bot oo u dir fariimaha telegram adoo isticmaalaya
Waxaan ku qornaa bot telegram luqadda R (qaybta 1): Samee bot oo u dir fariimaha telegram adoo isticmaalaya
Dhageystayaasha Telegram ayaa si aad ah u koraya maalin kasta, tan waxaa fududeeyay ku habboonaanta farriinta, joogitaanka kanaalada, sheekeysiga, iyo dabcan awoodda abuurista bots.
Bots-ka waxaa loo isticmaali karaa ujeedooyin kala duwan, laga bilaabo isgaadhsiinta tooska ah ee macaamiishaada ilaa maaraynta hawlahaaga.
Asal ahaan, waxaad isticmaali kartaa telegram si aad ufuliso hawlgal kasta iyada oo loo marayo bot: dir ama codso xogta, ku socodsii hawlaha server-ka, ururinta macluumaadka kaydka xogta, u dir emails, iyo wixii la mid ah.
Waxaan qorsheynayaa inaan qoro maqaallo taxane ah oo ku saabsan sida loola shaqeeyo telegram bot API, oo qor bots si ay ugu habboonaato baahiyahaaga.
Maqaalkan ugu horreeya waxaan ku ogaan doonaa sida loo sameeyo bot telegram oo aan u isticmaalno si aan ogeysiisyada ugu dirno telegram.
Natiijo ahaan, waxaan haysan doonaa bot kaas oo hubin doona heerka fulinta ugu dambeeya ee dhammaan hawlaha Jadwalka Hawsha Windows, oo kuu soo diri doona ogeysiisyo haddii mid ka mid ah uu ku guuldareysto.
Laakiin ujeeddada maqaalladan taxanaha ah maaha in lagu baro sida loo qoro bot hawl gaar ah oo cidhiidhi ah, laakiin si guud ahaan laguugu baro ereyada xidhmada telegram.bot, iyo tusaalooyin kood ah oo aad ku qori karto bots si aad u xalliso dhibaatooyinkaaga.
Tusmo
Haddii aad xiisaynayso falanqaynta xogta, waxaa laga yaabaa inaad xiisaynayso aniga telegram ΠΈ youtube kanaalada. Inta badan waxa ku jira waxa u heellan luqadda R.
Marka hore, waxaan u baahanahay inaan abuurno bot. Tan waxaa lagu sameeyaa iyadoo la isticmaalayo bot gaar ah BotAabbe, u tag link oo u qor bot /start.
Intaa ka dib waxaad heli doontaa fariin leh liis amarrada:
Fariinta 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
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
Haddii aad wax walba si sax ah u samaysay, waxaad heli doontaa fariintan soo socota:
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
Marka xigta waxaad u baahan doontaa calaamada API ee la helay, tusaale ahaan waa 123456789:abcdefghijklmnopqrstuvwxyz.
Tallaabadan, shaqada diyaarinta ee abuurista bot waa la dhammeeyaa.
Ku rakibida xirmo loogu shaqeynayo bot telegram gudaha R
Waxaan u malaynayaa inaad hore u haysatey luqadda R iyo jawiga horumarinta RStudio. Haddii taasi aysan ahayn kiiska, markaa waad eegi kartaa tan barashada fiidiyowga sida loo rakibo.
Si aan ula shaqeyno Telegram Bot API waxaan isticmaali doonaa xirmada R telegram.bot.
Ku rakibida baakadaha R waxaa lagu sameeyaa iyadoo la isticmaalayo shaqada install.packages(), si loo rakibo xirmada aan u baahanahay, isticmaal amarka install.packages("telegram.bot").
Waxaad ka baran kartaa wax badan oo ku saabsan rakibidda baakado kala duwan muuqaalkan.
Kadib rakibidda xirmada, waxaad u baahan tahay inaad ku xirto:
library(telegram.bot)
Fariimaha R ka diraya Telegram
Bot-ka aad abuurtay waxaa laga heli karaa Telegram iyadoo la isticmaalayo gelitaanka lagu cayimay inta lagu jiro abuurista, xaaladdeyda waa @my_test_bot.
U dir bot fariin kasta, sida "Hey bot." Waqtigan xaadirka ah, waxaan u baahanahay tan si aan u helno aqoonsiga la sheekaysiga bot-ka.
Markii hore, waxaan abuurnaa tusaale bot-kayaga oo leh shaqada Bot(), calaamadii hore loo helay waa in loo gudbiyaa dood ahaan.
Looma tixgeliyo habka ugu wanaagsan ee lagu kaydiyo calaamada koodka, si aad ugu kaydiso doorsoomayaasha deegaanka oo aad ka akhrido. Sida caadiga ah ee xirmada telegram.bot Taageerada doorsoomayaasha deegaanka ee magacyada soo socda ayaa la fuliyay: R_TELEGRAM_BOT_ΠΠΠ―_ΠΠΠ¨ΠΠΠ_ΠΠΠ’Π... Halkii ΠΠΠ―_ΠΠΠ¨ΠΠΠ_ΠΠΠ’Π Beddel magaca aad qeexday markii la abuurayo, xaaladdeyda waxay noqon doontaa doorsoome R_TELEGRAM_BOT_My Test Bot.
Waxaa jira dhowr siyaabood oo loo abuuri karo doorsoome deegaan, waxaan kaaga sheegi doonaa midka ugu caalamisan iyo midka isku gudba. Ku samee hagaha gurigaaga (waxaad ka heli kartaa adiga oo isticmaalaya amarka path.expand("~")) qoraal magaca .Renviron. Waxa kale oo aad samayn kartaa tan adoo isticmaalaya amarka file.edit(path.expand(file.path("~", ".Renviron"))).
Marka xigta, waxaad isticmaali kartaa calaamada lagu keydiyay doorsoomiyaha deegaanka adoo isticmaalaya shaqada bot_token(), i.e. sida tan:
bot <- Bot(token = bot_token("My Test Bot"))
Habka getUpdates()waxay noo ogolaataa inaan helno bot-ka cusub, i.e. fariimaha loo soo diray. Habka from_chat_id(), waxay kuu ogolaanaysaa inaad hesho aqoonsiga wada sheekaysiga fariinta laga soo diray. Waxaan u baahanahay aqoonsigan si aan fariimaha uga soo dirno bot-ka.
Waxa intaa dheer in chat id ka shayga helay habka getUpdates() waxaad sidoo kale heleysaa macluumaad kale oo faa'iido leh. Tusaale ahaan, macluumaadka ku saabsan isticmaalaha soo diray fariinta.
Kuwaas. tusaale ahaan iyadoo la isticmaalayo habka sendPhoto() waxaad soo diri kartaa garaaf u kaydsan sawir ahaan aad u samaysay adigoo isticmaalaya xidhmada ggplot2.
Hubinta Jadwalka Hawsha Windows iyo dirida ogaysiisyada ku saabsan hawlihii si aan caadi ahayn u joojiyay
Si aad ula shaqeyso Jadwalka Hawsha Windows waxaad u baahan tahay inaad xirmo ku rakibto taskscheduleR, iyo si ay ugu sahlanaato ku shaqeynta xogta, ku rakib xirmada dplyr.
Marka xigta, adoo isticmaalaya shaqada taskscheduler_ls() waxaan ka codsanaa macluumaadka ku saabsan hawlaha jadwalkayaga. Isticmaalka shaqada filter() ka xirmada dplyr Waxaan ka saareynaa liiska hawlaha kuwa si guul leh loo dhammeeyey oo leh natiijadii ugu dambeysay ee 0, iyo kuwa aan waligood la bilaabin oo leh darajada 267011, hawlaha naafada ah, iyo hawlaha hadda socda.
Habka dejinta bilowga qoraallada ee jadwalka ayaa si faahfaahsan loogu sharraxay tan maqaal. Halkan waxaan ku tilmaami doonaa oo kaliya tillaabooyinka loo baahan yahay in la raaco. Haddii mid ka mid ah tillaabooyinka aysan kuu caddayn, ka dib tixraac maqaalka aan bixiyay xiriirka.
Aynu ka soo qaadno inaan ku kaydsanay koodka bot-kayaga fayl check_bot.R. Si aad u ballansato in faylkan uu si joogto ah u shaqeeyo, raac talaabooyinkan:
Qor jidka loo maro galka uu R ku rakiban yahay doorsoomiyaha nidaamka Jidka; gudaha Windows, jidku wuxuu noqon doonaa sidan oo kale: C:Program FilesRR-4.0.2bin.
Samee fayl fiidmeerta la fulin karo oo leh hal xariiq oo keliya R CMD BATCH C:rscriptscheck_botcheck_bot.R. Beddel C:rscriptscheck_botcheck_bot.R jidka buuxa ee faylkaaga R.
Marka xigta, isticmaal Jadwalka Hawsha Windows si aad u dejiso jadwalka bilowga, tusaale ahaan, nus saac kasta.
gunaanad
Maqaalkan, waxaan ku ogaanay sida loo abuuro bot oo aan u isticmaalno si aan ugu dirno ogeysiisyo kala duwan oo telegram ah.
Waxaan ku tilmaamay hawsha la socodka Jadwalka Hawsha Windows, laakiin waxaad isticmaali kartaa walxaha maqaalkan si aad u soo dirto ogeysiis kasta, laga bilaabo saadaasha cimilada ilaa qiimaha saamiyada ee sarrifka saamiyada, sababtoo ah R wuxuu kuu ogolaanayaa inaad ku xirto tiro aad u badan oo ilo xog ah.
Maqaalka soo socda, waxaan ku ogaan doonaa sida loogu daro amarrada iyo kumbuyuutarka bot si aysan u soo diri karin ogeysiisyo, laakiin sidoo kale u sameyso ficillo adag.