Tá lucht féachana Telegram ag fás go heaspónantúil gach lá, éascaítear é seo ag áisiúlacht an teachtaire, láithreacht cainéil, comhráite, agus ar ndóigh an cumas róbónna a chruthú.
Is féidir róbónna a úsáid chun críocha go hiomlán difriúil, ó chumarsáid a uathoibriú le do chustaiméirí go dtí do thascanna féin a bhainistiú.
Go bunúsach, is féidir leat teileagram a úsáid chun aon oibríochtaí a dhéanamh trí bot: sonraí a sheoladh nó a iarraidh, tascanna a rith ar an bhfreastalaí, faisnéis a bhailiú isteach i mbunachar sonraí, ríomhphoist a sheoladh, agus mar sin de.
Tá sé beartaithe agam sraith alt a scríobh ar conas oibriú leo , agus scríobh róbónna a oireann do do chuid riachtanas.

Sa chéad Airteagal seo déanfaimid amach conas bot teileagraim a chruthú agus é a úsáid chun fógraí a sheoladh i teileagram.
Mar thoradh air sin, beidh bot againn a dhéanfaidh seiceáil ar stádas an fhorghníomhaithe dheireanaigh ar gach tasc sa sceidealóir tascanna. Windows, agus fógraí a sheoladh chugat má theipeann ar aon cheann acu.
Ach ní hé cuspóir na sraithe alt seo ná tú a mhúineadh conas bot a scríobh le haghaidh tasc sonrach caol, ach tú a chur in aithne go ginearálta ar chomhréir an phacáiste. telegram.bot, agus samplaí cód lenar féidir leat róbónna a scríobh chun do chuid fadhbanna féin a réiteach.
Ábhar
Má tá suim agat in anailís sonraí, b'fhéidir go mbeadh suim agat i mo chuid и cainéil. Tá an chuid is mó den ábhar tiomnaithe don teanga R.
Bot teileagram a chruthú
Gcéad dul síos, ní mór dúinn a chruthú bot. Déantar é seo trí úsáid a bhaint as bot speisialta BotAthair, Téigh agus scríobh chuig an bot /start.
Ina dhiaidh sin gheobhaidh tú teachtaireacht le liosta orduithe:
Teachtaireacht ó 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 gameChun bot nua a chruthú, seol an t-ordú /newbot.
Iarrfaidh BotFather ort ainm agus logáil isteach an bot a chur isteach.
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_botIs féidir leat aon ainm a chur isteach, ach caithfidh an logáil isteach críochnú le bot.
Má rinne tú gach rud i gceart, gheobhaidh tú an teachtaireacht seo a leanas:
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/apiAnsin beidh an comhartha API faighte uait, i mo shampla é 123456789:abcdefghijklmnopqrstuvwxyz.
Ag an gcéim seo, críochnaíodh an obair ullmhúcháin chun an bot a chruthú.
Suiteáil pacáiste chun oibriú le bot teileagraim i R
Glacaim leis go bhfuil an teanga R agus an timpeallacht forbartha RStudio suiteáilte agat cheana féin. Mura bhfuil sé seo amhlaidh, ansin is féidir leat breathnú ar seo ar conas iad a shuiteáil.
Chun oibriú leis an Telegram Bot API bainfimid úsáid as an bpacáiste R .
Déantar pacáistí a shuiteáil in R trí úsáid a bhaint as an bhfeidhm install.packages(), mar sin chun an pacáiste a theastaíonn uainn a shuiteáil, bain úsáid as an ordú install.packages("telegram.bot").
Is féidir leat níos mó a fhoghlaim faoi shuiteáil pacáistí éagsúla ó .
Tar éis duit an pacáiste a shuiteáil, ní mór duit é a nascadh:
library(telegram.bot)Teachtaireachtaí a sheoladh ó R go Telegram
Is féidir an bot a chruthaigh tú a fháil i Telegram ag baint úsáide as an logáil isteach a shonraítear le linn an chruthú, i mo chás féin é @my_test_bot.
Seol teachtaireacht ar bith don bot, mar shampla "Hey bot." I láthair na huaire, tá sé seo ag teastáil uainn chun aitheantas do chomhrá a fháil leis an bot.
Anois scríobhaimid an cód seo a leanas i R.
library(telegram.bot)
# создаём экземпляр бота
bot <- Bot(token = "123456789:abcdefghijklmnopqrstuvwxyz")
# Запрашиваем информацию о боте
print(bot$getMe())
# Получаем обновления бота, т.е. список отправленных ему сообщений
updates <- bot$getUpdates()
# Запрашиваем идентификатор чата
# Примечание: перед запросом обновлений вы должны отправить боту сообщение
chat_id <- updates[[1L]]$from_chat_id()Ar dtús, cruthaímid sampla dár bot leis an bhfeidhm Bot(), ní mór an comhartha a fuarthas roimhe seo a chur ar aghaidh mar argóint.
Ní mheastar gur dea-chleachtas é an comhartha i gcód a stóráil, ionas gur féidir leat é a stóráil in athróg timpeallachta agus é a léamh uaidh. De réir réamhshocraithe sa phacáiste telegram.bot Tá tacaíocht d’athróga comhshaoil de na hainmneacha seo a leanas curtha i bhfeidhm: R_TELEGRAM_BOT_ИМЯ_ВАШЕГО_БОТА. In ionad ИМЯ_ВАШЕГО_БОТА cuir an t-ainm a shonraigh tú agus tú ag cruthú in ionad, i mo chás is athróg a bheidh ann R_TELEGRAM_BOT_My Test Bot.
Tá go leor bealaí ann chun athróg timpeallachta a chruthú; inseoidh mé duit faoin gceann is uilíoch agus tras-ardán. Cruthaigh i do eolaire baile (is féidir leat é a fháil tríd an ordú path.expand("~")) téacschomhad leis an ainm .Renviron. Is féidir leat é seo a dhéanamh freisin ag baint úsáide as an ordú file.edit(path.expand(file.path("~", ".Renviron"))).
Agus cuir an líne seo a leanas leis.
R_TELEGRAM_BOT_ИМЯ_ВАШЕГО_БОТА=123456789:abcdefghijklmnopqrstuvwxyzAnsin, is féidir leat an comhartha a shábháil san athróg timpeallachta a úsáid leis an bhfeidhm bot_token(), i.e. mar seo:
bot <- Bot(token = bot_token("My Test Bot"))Modh getUpdates()ligeann dúinn nuashonruithe bot a fháil, i.e. teachtaireachtaí a seoladh chuige. Modh from_chat_id(), is féidir leat ID an chomhrá a fháil ónar seoladh an teachtaireacht. Teastaíonn an t-aitheantas seo uainn chun teachtaireachtaí a sheoladh ón bot.
Chomh maith leis an id comhrá ón réad a fhaightear tríd an modh getUpdates() faigheann tú eolas úsáideach eile freisin. Mar shampla, faisnéis faoin úsáideoir a sheol an teachtaireacht.
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"Mar sin, ag an gcéim seo tá gach rud a theastaíonn uainn cheana féin chun teachtaireacht a sheoladh ó bot go Telegram. Bainimis úsáid as an modh sendMessage(), ina gcaithfidh tú an ID comhrá, an téacs teachtaireachta, agus an cineál marcála téacs teachtaireachta a chur ar aghaidh. Is féidir Markdown nó HTML a bheith sa chineál marcála agus tá sé socraithe ag an argóint parse_mode.
# Отправка сообщения
bot$sendMessage(chat_id,
text = "Привет, *жирный текст* _курсив_",
parse_mode = "Markdown"
)Bunúsacha formáidithe Markdown:
- Aibhsítear cló trom le *:
- mar shampla:
*жирный шритф* - toradh: cló trom
- mar shampla:
- Léirítear cló iodálach le béim ar:
- mar shampla:
_курсив_ - toradh: iodálach
- mar shampla:
- Sonraítear an cló monaspáis, a úsáidtear go hiondúil chun cód cláir a aibhsiú, trí úsáid a bhaint as réimhseacháin - `:
- shampla: `cló monospace`
- toradh:
моноширинный шрифт
Bunúsacha marcáil HTML a fhormáidiú:
I HTML, fillteann tú an chuid den téacs a chaithfear a aibhsiú i gclibeanna, mar shampla <тег>текст</тег>.
- <tag> - clib oscailt
- - clib deiridh
Clibeanna marcála HTML
<b>- cló trom- mar shampla:
<b>жирный шрифт</b> - mar thoradh ar cló trom
- mar shampla:
<i>- iodálach- mar shampla:
<i>курсив</i> - toradh: iodálach
- mar shampla:
- — моноширинный шрифт
- shampla: моноширинный шрифт
- toradh:
моноширинный шрифт
Chomh maith le téacs, is féidir leat ábhar eile a sheoladh trí úsáid a bhaint as modhanna speisialta:
# Отправить изображение
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"
)Iad siúd. mar shampla ag baint úsáide as an modh sendPhoto() is féidir leat graf a shábháil mar íomhá a chruthaigh tú ag baint úsáide as an bpacáiste a sheoladh ggplot2.
Ag Seiceáil an Sceidealóra Tascanna Windows, agus fógraí a sheoladh faoi thascanna atá críochnaithe go neamhghnách
Chun oibriú leis an Sceidealóir Tascanna Windows ní mór duit an pacáiste a shuiteáil taskscheduleR, agus chun an áisiúlacht a bheith ag obair le sonraí, an pacáiste a shuiteáil dplyr.
# Установка пакетов
install.packages(c('taskscheduleR', 'dplyr'))
# Подключение пакетов
library(taskscheduleR)
library(dplyr)Next, ag baint úsáide as an fheidhm taskscheduler_ls() iarraimid eolas faoi thascanna ónár sceidealóir. Ag baint úsáide as an fheidhm filter() as an bpacáiste dplyr Bainimid de liosta na dtascanna iad siúd a críochnaíodh go rathúil agus a bhfuil stádas toradh deiridh de 0 acu, agus iad siúd nár seoladh riamh agus a bhfuil stádas 267011 acu, tascanna faoi mhíchumas, agus tascanna atá ar siúl faoi láthair.
# запрашиваем список задач
task <- task <- taskscheduler_ls() %>%
filter(! `Last Result` %in% c("0", "267011") &
`Scheduled Task State` == "Enabled" &
Status != "Running") %>%
select(TaskName) %>%
unique() %>%
unlist() %>%
paste0(., collapse = "n")Sa réad task Tá liosta tascanna againn anois ar theip orthu, ní mór dúinn an liosta seo a sheoladh chuig Telegram.
Má fhéachaimid ar gach ordú go mion, ansin:
filter()— liosta na dtascanna a scagadh de réir na gcoinníollacha a gcuirtear síos orthu thuasselect()— ní fhágann ach réimse amháin sa tábla ar a bhfuil ainm na dtascannaunique()- baintear ainmneacha dúblachaunlist()— a thiontaíonn an colún tábla roghnaithe go veicteoirpaste0()— nascann sé ainmneacha tascanna i líne amháin, agus cuireann sé fotha líne mar dheighilteoir, i.e.n.
Níl fágtha againn ach an toradh seo a sheoladh trí theileagram.
bot$sendMessage(chat_id,
text = task,
parse_mode = "Markdown"
)Mar sin, i láthair na huaire tá cuma ar an gcód bot mar seo:
Cód bot athbhreithniú tasc
# Подключение пакета
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"
)
}Agus an sampla thuas in úsáid agat, cuir do chomhartha bot agus d’aitheantas comhrá isteach sa chód.
Is féidir leat coinníollacha a chur leis maidir le tascanna scagtha, mar shampla, gan seiceáil ach na tascanna sin a chruthaigh tú, gan na cinn chórais a áireamh.
Is féidir leat freisin socruithe éagsúla a chur isteach i gcomhad cumraíochta ar leith, agus an t-aitheantas comhrá agus an comhartha a stóráil ann. Is féidir leat an config a léamh, mar shampla, ag baint úsáide as an bpacáiste configr.
Sampla ini config
[telegram_bot]
;настройки телеграм бота и чата, в который будут приходить уведомления
chat_id=12345678
bot_token=123456789:abcdefghijklmnopqrstuvwxyz"Sampla d’athróga léitheoireachta ó chumraíocht in R
library(configr)
# чтение конфина
config <- read.config('C:/путь_к_конфигу/config.cfg', rcmd.parse = TRUE)
bot_token <- config$telegram_bot$bot_token
chat_id <- config$telegram_bot$chat_idSceideal a shocrú chun tascscanna a rith
Déantar cur síos níos mine anseo ar an bpróiseas a bhaineann le seoladh scripteanna ar sceideal a bhunú . Anseo ní dhéanfaidh mé ach cur síos ar na céimeanna nach mór a leanúint chuige seo. Mura bhfuil aon cheann de na céimeanna soiléir duit, déan tagairt don alt ar chuir mé nasc ar fáil dó.
Glacaimid leis gur shábháileamar ár gcód bot i gcomhad check_bot.R. Chun an comhad seo a sceidealú le rith go rialta, lean na céimeanna seo:
- Cuir isteach an cosán chuig an bhfillteán ina bhfuil R suiteáilte sa athraitheach córais Path, Windows Beidh an cosán mar seo:
C:Program FilesRR-4.0.2bin. - Cruthaigh comhad ialtóg inrite le líne amháin
R CMD BATCH C:rscriptscheck_botcheck_bot.R. IonadaighC:rscriptscheck_botcheck_bot.Rgo dtí an cosán iomlán chuig do chomhad R. - Ansin, cumraigh é ag baint úsáide as an sceidealóir tascanna. Windows sceideal lainseála, mar shampla, gach leathuair an chloig.
Conclúid
San Airteagal seo, rinneamar amach conas bot a chruthú agus é a úsáid chun fógraí éagsúla a sheoladh i teileagram.
Rinne mé cur síos ar an tasc chun monatóireacht a dhéanamh ar an sceidealóir tascanna Windows, ach is féidir leat an t-ábhar san alt seo a úsáid chun aon fhógraí a sheoladh, ó réamhaisnéisí aimsire go luachana stoic, mar go gceadaíonn R duit ceangal le líon ollmhór foinsí sonraí.
Sa chéad alt eile, déanfaimid amach conas orduithe agus méarchlár a chur leis an bot ionas nach féidir leis fógraí a sheoladh ní hamháin, ach freisin gníomhartha níos casta a dhéanamh.
Foinse: will.com
