ProHoster > Блог > Whakahaerenga > Te tuhi karetao waea i roto i te R (waahanga 1): Te hanga karetao me te whakamahi hei tuku karere ma te waea waea.
Te tuhi karetao waea i roto i te R (waahanga 1): Te hanga karetao me te whakamahi hei tuku karere ma te waea waea.
Kei te tipu haere te hunga whakarongo Telegram i nga ra katoa, na te waatea o te karere, te aroaro o nga hongere, nga korerorero, me te kaha ki te hanga bots.
Ka taea te whakamahi i nga potae mo nga kaupapa rereke, mai i te whakaaunoa i nga whakawhitiwhiti korero me o kaihoko ki te whakahaere i au ake mahi.
Ko te mea nui, ka taea e koe te whakamahi waea waea ki te mahi i nga mahi ma te karetao: tuku, tono raraunga ranei, whakahaere mahi i runga i te tūmau, kohikohi korero ki roto i te papanga raraunga, tuku imeera, me era atu.
Kei te whakamahere ahau ki te tuhi i te raupapa o nga tuhinga mo te mahi API karetao waea, me te tuhi i nga potae kia rite ki o hiahia.
I roto i tenei tuhinga tuatahi ka whakaaro tatou me pehea te hanga i te karetao waea me te whakamahi ki te tuku whakamohiotanga ma te waea waea.
Ko te mutunga, ka whai karetao ka tirotiro i te mana o te mahi whakamutunga o nga mahi katoa i roto i te Kaihōtaka Tūmahi Windows, ka tuku whakamohiotanga ki a koe mena i rahua tetahi.
Engari ko te kaupapa o tenei raupapa tuhinga ehara i te whakaako i a koe ki te tuhi karetao mo tetahi mahi motuhake, whaiti, engari hei whakamohio ki a koe ki te wetereo o te kete. telegram.bot, me nga tauira waehere ka taea e koe te tuhi i nga potae hei whakaoti i o ake raruraru.
Tuhinga
Mena kei te pirangi koe ki te tātari raraunga, ka aro pea koe ki taku waea и youtube hongere. Ko te nuinga o nga korero e whakatapua ana ki te reo R.
Tuatahi, me hanga e tatou he bot. Ka mahia tenei ma te whakamahi i tetahi bot motuhake Matua Matua, haere ki hono ka tuhi ki te karetao /start.
Whai muri ka whiwhi koe i tetahi panui me te rarangi o nga whakahau:
Karere na 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
Hei waihanga karetao hou, tukuna te whakahau /newbot.
Ka tono a BotFather ki a koe ki te whakauru i te ingoa o te karetao me te takiuru.
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
Ka taea e koe te whakauru i tetahi ingoa, engari me mutu te takiuru bot.
Mena i tika nga mea katoa, ka whiwhi koe i nga korero e whai ake nei:
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
I muri mai ka hiahia koe ki te tohu API kua riro, i taku tauira 123456789:abcdefghijklmnopqrstuvwxyz.
I tenei taahiraa, kua oti te mahi whakarite mo te hanga i te bot.
Te whakauru i tetahi kete mo te mahi me te karetao waea i R
Ki taku whakaaro kei a koe te reo R me te taiao whanaketanga RStudio kua whakauruhia. Mena kaore tenei i te keehi, ka taea e koe te titiro ki tenei akoranga ataata me pehea te whakauru i a raatau.
Hei mahi tahi me te Telegram Bot API ka whakamahia e matou te kete R telegram.bot.
Ko te whakauru i nga kohinga ki R ka mahia ma te whakamahi i te mahi install.packages(), na ki te whakauru i te kete e hiahiatia ana e matou, whakamahia te whakahau install.packages("telegram.bot").
Ka taea e koe te ako atu mo te whakauru i nga momo kete mai i tenei ataata.
I muri i te whakauru i te kete, me hono koe:
library(telegram.bot)
Te tuku karere mai i R ki Telegram
Ko te bot i hanga e koe ka kitea i roto i Telegram ma te whakamahi i te takiuru i tohua i te wa o te waihanga, i taku keehi @my_test_bot.
Tukuna te karetao he karere, penei "Hey bot." I tenei wa, me penei taatau ki te tiki i te id o to korerorero me te karetao.
Inaianei ka tuhia e matou te waehere e whai ake nei ki R.
library(telegram.bot)
# создаём экземпляр бота
bot <- Bot(token = "123456789:abcdefghijklmnopqrstuvwxyz")
# Запрашиваем информацию о боте
print(bot$getMe())
# Получаем обновления бота, т.е. список отправленных ему сообщений
updates <- bot$getUpdates()
# Запрашиваем идентификатор чата
# Примечание: перед запросом обновлений вы должны отправить боту сообщение
chat_id <- updates[[1L]]$from_chat_id()
I te timatanga, ka hangaia e matou he tauira o to maatau bot me te mahi Bot(), ko te tohu kua riro i mua me tuku ki roto hei tohenga.
Kaore i te whakaarohia he mahi pai ki te penapena i te tohu i roto i te waehere, ka taea e koe te penapena i roto i te taurangi taiao me te panui mai. Ma te taunoa i roto i te kete telegram.bot Kua whakatinanahia te tautoko mo nga taurangi taiao o nga ingoa e whai ake nei: R_TELEGRAM_BOT_ИМЯ_ВАШЕГО_БОТА... Engari o ИМЯ_ВАШЕГО_БОТА whakakapihia te ingoa i tohua e koe i te wa e hanga ana, i taku keehi he taurangi R_TELEGRAM_BOT_My Test Bot.
He maha nga huarahi ki te hanga i tetahi taurangi taiao; Ka korerotia e ahau ki a koe mo te ao me te whakawhiti-whakawhiti. Waihangahia ki to raarangi kaainga (ka kitea e koe ma te whakamahi i te whakahau path.expand("~")) kōnae kuputuhi me te ingoa .Te Taiao. Ka taea hoki e koe tenei ma te whakamahi i te whakahau file.edit(path.expand(file.path("~", ".Renviron"))).
I muri mai, ka taea e koe te whakamahi i te tohu kua tiakina i roto i te taurangi taiao ma te whakamahi i te mahi bot_token(), i.e. penei:
bot <- Bot(token = bot_token("My Test Bot"))
Tikanga getUpdates()ka taea e tatou te tiki whakahōu karetao, i.e. nga karere i tukuna atu ki a ia. Tikanga from_chat_id(), ka taea e koe te tiki ID o te korerorero i tukuna mai ai te karere. Kei te hiahia matou ki tenei ID hei tuku karere mai i te bot.
I tua atu i te id korerorero mai i te mea i riro mai i te tikanga getUpdates() ka whiwhi hoki koe i etahi atu korero whai hua. Hei tauira, nga korero mo te kaiwhakamahi nana i tuku te karere.
Na, i tenei waahanga kei a maatau nga mea katoa e hiahia ana matou ki te tuku karere mai i te bot ki Telegram. Kia whakamahi tatou i te tikanga sendMessage(), ki roto e hiahia ana koe ki te tuku i te ID korerorero, te tuhinga karere, me te momo tohu tohu. Ko te momo tohu ka taea te Markdown, HTML ranei ka whakatauhia e te tautohe parse_mode.
# Отправка сообщения
bot$sendMessage(chat_id,
text = "Привет, *жирный текст* _курсив_",
parse_mode = "Markdown"
)
Nga take whakahōputu tohu:
Kua tohua te momotuhi maia ki te *:
tauira: *жирный шритф*
hua: momotuhi maia
Ka tohuhia nga titaha e nga tohu:
tauira: _курсив_
hua: whakatitaha
Ko te momotuhi mokowhiti, e whakamahia ana hei whakanui i te waehere papatono, ka tohua ma te whakamahi i nga tohutoro - `:
tauira: `monospace monospace`
hua: моноширинный шрифт
Tikanga o te whakahōputu tohu HTML:
I roto i te HTML, ka takai koe i te waahanga o te tuhinga e tika ana kia tohua ki nga tohu, hei tauira <тег>текст</тег>.
<tag> - tūtohu whakatuwhera
- tohu kati
Nga tohu tohu HTML
<b> - momotuhi maia
tauira: <b>жирный шрифт</b>
painga momotuhi maia
<i> - whakatitaha
tauira: <i>курсив</i>
hua: whakatitaha
— моноширинный шрифт
tauira: моноширинный шрифт
hua: моноширинный шрифт
I tua atu i te tuhinga, ka taea e koe te tuku i etahi atu ihirangi ma te whakamahi i nga tikanga motuhake:
Ko era. hei tauira te whakamahi i te tikanga sendPhoto() ka taea e koe te tuku kauwhata kua tiakina hei ahua i hanga e koe ma te whakamahi i te kete ggplot2.
Te taki i te Kaihōtaka Mahi Windows me te tuku whakamohiotanga mo nga mahi kua mutu kino
Hei mahi me Windows Task Scheduler me whakauru koe i te kete taskscheduleR, a mo te pai o te mahi me nga raraunga, whakauruhia te kete dplyr.
# Установка пакетов
install.packages(c('taskscheduleR', 'dplyr'))
# Подключение пакетов
library(taskscheduleR)
library(dplyr)
I muri mai, ma te whakamahi i te mahi taskscheduler_ls() ka tono matou i nga korero mo nga mahi mai i ta maatau kai whakarite. Te whakamahi i te mahi filter() mai i te kete dplyr Ka tangohia e matou mai i te rarangi o nga mahi i tutuki pai me te 0 te mana hua whakamutunga, me era kaore ano kia whakarewahia, he mana 267011, nga mahi haua, me nga mahi e whakahaere ana i tenei wa.
I roto i te whare task Kei a matou he rarangi o nga mahi i rahua, me tuku tenei rarangi ki Telegram.
Mena ka tirohia e tatou nga whakahau katoa, na:
filter() — ka tātari i te rarangi o nga mahi i runga i nga tikanga kua whakaahuatia i runga ake nei
select() — kotahi anake te mara i te ripanga me te ingoa o nga mahi
unique() - ka tango i nga ingoa taarua
unlist() — ka huri i te tīwae ripanga kua tohua ki te vector
paste0() — ka hono i nga ingoa o nga mahi ki te rarangi kotahi, ka hoatu he kai rarangi hei whakawehe, ara. n.
Ko nga mea e toe ana ma matou ko te tuku i tenei hua ma te waea waea.
bot$sendMessage(chat_id,
text = task,
parse_mode = "Markdown"
)
Na, i tenei wa ka penei te ahua o te waehere bot:
Waehere bot arotake mahi
# Подключение пакета
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"
)
}
Ina whakamahi i te tauira i runga ake nei, whakakapihia to tohu karetao me to ID korerorero ki roto i te waehere.
Ka taea e koe te taapiri i nga tikanga mo te tātari i nga mahi, hei tauira, te tirotiro i nga mahi i mahia e koe, haunga nga mahi a te punaha.
Ka taea hoki e koe te whakauru i nga momo tautuhinga ki roto i tetahi konae whirihoranga motuhake, ka penapena i te id korerorero me te tohu ki roto. Ka taea e koe te panui i te whirihora, hei tauira, ma te whakamahi i te kete configr.
Tauira tenei whirihora
[telegram_bot]
;настройки телеграм бота и чата, в который будут приходить уведомления
chat_id=12345678
bot_token=123456789:abcdefghijklmnopqrstuvwxyz"
He tauira mo te panui i nga taurangi mai i te whirihora i R
Te whakarite i te waarangi mo te whakahaere tirotiro mahi
Ko te tukanga o te whakatakoto i te whakarewatanga o nga tuhinga tuhi i runga i te waarangi kua whakamaramatia ake i roto i tenei Tuhinga. I konei ka whakaahua noa ahau i nga huarahi hei whai mo tenei. Mena kaore i te marama ki a koe etahi o nga taahiraa, tirohia te tuhinga i hoatu e ahau he hononga.
Me whakaaro tatou i tiakina e tatou to tatou waehere bot ki tetahi konae check_bot.R. Hei whakarite i tenei konae kia rere auau, whai i enei mahi:
Tuhia te ara ki te kōpaki i whakauruhia ai a R ki te taurangi pūnaha Ara; i Windows, ka penei te huarahi: C:Program FilesRR-4.0.2bin.
Waihangahia he konae pekapeka ka taea te whakahaere me te raina kotahi R CMD BATCH C:rscriptscheck_botcheck_bot.R. Whakakapi C:rscriptscheck_botcheck_bot.R ki te ara katoa ki to kōnae R.
Whai muri, whakamahia te Kaihōtaka Mahi Windows ki te whakarite i te raarangi whakarewatanga, hei tauira, ia haurua haora.
mutunga
I roto i tenei tuhinga, i whakaaro matou me pehea te hanga karetao me te whakamahi ki te tuku i nga momo whakamohiotanga i roto i te waea waea.
I whakaahuahia e au te mahi mo te tirotiro i te Kaihōtaka Mahi Matapihi, engari ka taea e koe te whakamahi i nga rauemi o tenei tuhinga ki te tuku panui, mai i te matapae huarere ki nga utu utu mo te utu kararehe, na te mea... R ka taea e koe te hono atu ki te maha o nga puna raraunga.
I roto i te tuhinga e whai ake nei, ka whakaaro tatou me pehea te taapiri i nga whakahau me te papapātuhi ki te karetao kia kore e taea te tuku whakamohiotanga anake, engari ka mahi ano i nga mahi uaua ake.