Pulogalamu ya ProHoster > Blog > Ulamuliro > Kulemba telegalamu bot mu R (gawo 1): Kupanga bot ndikuigwiritsa ntchito kutumiza mauthenga mu telegalamu
Kulemba telegalamu bot mu R (gawo 1): Kupanga bot ndikuigwiritsa ntchito kutumiza mauthenga mu telegalamu
Omvera a Telegalamu akuchulukirachulukira tsiku lililonse, izi zimathandizidwa ndi kuphweka kwa mthenga, kukhalapo kwa mayendedwe, macheza, komanso kuthekera kopanga bots.
Maboti amatha kugwiritsidwa ntchito pazifukwa zosiyanasiyana, kuyambira kulumikizana ndi makasitomala anu mpaka pakuwongolera ntchito zanu.
Kwenikweni, mutha kugwiritsa ntchito telegalamu kuchita ntchito zilizonse kudzera pa bot: kutumiza kapena kupempha deta, kuyendetsa ntchito pa seva, kusonkhanitsa zidziwitso mu database, kutumiza maimelo, ndi zina zotero.
Ndikukonzekera kulemba mndandanda wa nkhani za momwe mungagwiritsire ntchito telegram bot API, ndi kulemba bots kuti zigwirizane ndi zosowa zanu.
Munkhani yoyamba iyi tiwona momwe tingapangire bot ya telegraph ndikuigwiritsa ntchito kutumiza zidziwitso pa telegalamu.
Zotsatira zake, tidzakhala ndi bot yomwe idzayang'ane momwe ntchito yomaliza yagwirira ntchito mu Windows Task Scheduler, ndikukutumizirani zidziwitso ngati zina zalephera.
Koma cholinga cha nkhanizi sikukuphunzitsani momwe mungalembe bot pa ntchito inayake, yopapatiza, koma kukudziwitsani za kalembedwe ka phukusi. telegram.bot, ndi zitsanzo zama code zomwe mungathe kulemba bots kuti muthetse mavuto anu.
Zamkatimu
Ngati mukufuna kusanthula deta, mungakhale ndi chidwi changa uthengawo ΠΈ Youtube njira. Zambiri mwazomwe zimaperekedwa ku chilankhulo cha R.
Choyamba, tiyenera kupanga bot. Izi zimachitika pogwiritsa ntchito bot yapadera Abambo,kupita ku kugwirizana ndipo lembani ku bot /start.
Pambuyo pake mudzalandira uthenga wokhala ndi mndandanda wa malamulo:
Uthenga wochokera kwa 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 akufunsani kuti mulowetse dzina la bot ndikulowa.
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
Mutha kulowa dzina lililonse, koma kulowa kuyenera kutha ndi 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
Chotsatira mudzafunika chizindikiro cha API chomwe mwalandira, mu chitsanzo changa 123456789:abcdefghijklmnopqrstuvwxyz.
Pa sitepe iyi, ntchito yokonzekera kupanga bot yatha.
Kuyika phukusi logwirira ntchito ndi telegalamu bot mu R
Ndikuganiza kuti muli ndi kale chilankhulo cha R ndi malo otukuka a RStudio. Ngati sizili choncho, ndiye kuti mutha kuyang'ana izi kanema phunziro mmene kukhazikitsa iwo.
Kuti tigwire ntchito ndi Telegraph Bot API tidzagwiritsa ntchito phukusi la R telegram.bot.
Kuyika mapaketi mu R kumachitika pogwiritsa ntchito ntchitoyi install.packages(), kotero kuti muyike phukusi lomwe tikufuna, gwiritsani ntchito lamulo install.packages("telegram.bot").
Mutha kuphunzira zambiri za kukhazikitsa mapaketi osiyanasiyana kuchokera vidiyo iyi.
Poyamba, timapanga chitsanzo cha bot yathu ndi ntchitoyo Bot(), chizindikiro cholandilidwa kale chiyenera kuperekedwa mmenemo ngati mkangano.
Sichimaganiziridwa kuti ndi njira yabwino kwambiri yosungira chizindikiro mu code, kotero mutha kuyisunga pamalo osinthika ndikuwerenga kuchokera pamenepo. Mwa kusakhulupirika mu phukusi telegram.bot Thandizo losintha zachilengedwe la mayina otsatirawa lakhazikitsidwa: R_TELEGRAM_BOT_ΠΠΠ―_ΠΠΠ¨ΠΠΠ_ΠΠΠ’Π... M'malo mwa ΠΠΠ―_ΠΠΠ¨ΠΠΠ_ΠΠΠ’Π m'malo mwa dzina lomwe mudalitchula popanga, kwa ine likhala losinthika R_TELEGRAM_BOT_My Test Bot.
Njira getUpdates()imatithandiza kupeza zosintha za bot, i.e. mauthenga omwe adatumizidwa kwa iye. Njira from_chat_id(), amakulolani kuti mutenge ID ya macheza omwe uthengawo unatumizidwa. Tikufuna ID iyi kuti titumize mauthenga kuchokera ku bot.
Kuwonjezera pa macheza id kuchokera ku chinthu chopezedwa ndi njira getUpdates() mumalandiranso zidziwitso zina zothandiza. Mwachitsanzo, zambiri za wogwiritsa ntchito amene adatumiza uthengawo.
Chifukwa chake, pakadali pano tili ndi zonse zomwe tikufuna kutumiza uthenga kuchokera ku bot kupita ku Telegraph. Tiyeni tigwiritse ntchito njirayo sendMessage(), momwe muyenera kutumizira macheza ID, meseji, ndi mtundu wa meseji. Mtundu wa markup ukhoza kukhala Markdown kapena HTML ndipo umayikidwa ndi mkangano parse_mode.
Njira yokhazikitsira kukhazikitsidwa kwa zolembera pa ndondomeko ikufotokozedwa mwatsatanetsatane mu izi nkhani. Pano ndingofotokoza njira zomwe ziyenera kutsatiridwa pa izi. Ngati chimodzi mwamasitepewo sichikumveka bwino kwa inu, tchulani nkhani yomwe ndidakupatsirani ulalo.
Tiyerekeze kuti tasunga nambala yathu ya bot ku fayilo check_bot.R. Kuti fayiloyi igwire ntchito pafupipafupi, tsatirani izi:
Lembani njira yopita ku foda yomwe R imayikidwa mu Path system variable; mu Windows, njirayo idzakhala motere: C:Program FilesRR-4.0.2bin.
Pangani fayilo ya bat yomwe ingagwiritsidwe ntchito ndi mzere umodzi wokha R CMD BATCH C:rscriptscheck_botcheck_bot.R. M'malo C:rscriptscheck_botcheck_bot.R panjira yonse yopita ku fayilo yanu ya R.
Kenako, gwiritsani ntchito Windows Task Scheduler kukhazikitsa ndandanda yotsegulira, mwachitsanzo, theka la ola lililonse.
Ndinalongosola ntchito yoyang'anira Windows Task Scheduler, koma mungagwiritse ntchito zomwe zili m'nkhaniyi kutumiza zidziwitso zilizonse, kuyambira nyengo ya nyengo kupita kuzinthu zamtengo wapatali pa malonda, chifukwa R imakulolani kuti mugwirizane ndi chiwerengero chachikulu cha magwero a deta.
M'nkhani yotsatira, tiwona momwe tingawonjezerere malamulo ndi kiyibodi ku bot kuti zisamangotumiza zidziwitso, komanso kuchita zinthu zovuta kwambiri.