Created
September 11, 2020 05:47
-
-
Save Semdevmaster/f134191e98b24d81eb29ac67b11c6cbd to your computer and use it in GitHub Desktop.
Telegram bot messaging
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 1)Ищем канал BotFather | |
| 2)Даём ему команду /newbot (Создает нового бота) | |
| 3)Даём человеко-читаемое имя боту (Вася, Петя, Оповещалка и.т.д) | |
| 4)Даём машино-читаемое имя боту, на конце обязательно должно быть слово bot (notification_bot или NotiBot) | |
| 5)Если предыдущие шаги прошли успешно то будет получен токен для работы с новым ботом по API (сохраняем его и никому не показываем) | |
| 6)Проверяем, что наш бот зарегестрирован в системе, переходим в браузер и формируем такой адрес: | |
| https://api.telegram.org/botТОКЕН/getMe | |
| В ответе будет JSON с описанием параметров бота (Значит всё хорошо) | |
| 7)В телеграме в нашем боте пишем команду /start это запустит бота в работу, а дальше пишем тестовое сообщение, например "Hello" | |
| 8)В браузере переходим по адресу: | |
| https://api.telegram.org/botТОКЕН/getUpdates | |
| В ответ получим JSON содержащий сообщение, которое мы только, что написали в чате бота. | |
| Из этого JSON нужно скопировать id, он там будет повторятся дважды. | |
| 9)Формируем в браузере следующий адрес: | |
| https://api.telegram.org/botТОКЕН/sendMessage?chat_id=ID&text=MESSAGE | |
| Где: ТОКЕН - это выданный секретный токен, ID - который скопировали на шаге 8, MESSAGE - любое сообщение | |
| Перейдя по этому адресу, в чат прилетит сообщение и появится уведомление. | |
| ОПЦИОНАЛЬНО: | |
| Для уведомлялок с Mikrotic | |
| tool fetch url="https://api.telegram.org/botТОКЕН/sendMessage?chat_id=ID&text=MESSAGE" dst-path=log.txt | |
| Чтобы отправлять сообщения на русском: | |
| Функция конвертации кирилицы в UTF-8 | |
| +++++++++++++++++++++++++++++++++++++ | |
| # Function Converter of Russian characters for sending in Telegram | |
| # by Sertik 09/09/2020 | |
| # usage [$FuncStrToTele «Строка String .,!+»] | |
| :global FuncStrToTele do={ | |
| :global string; :set $string $1; | |
| # table of the codes of Russian letters UTF8 | |
| :local rsimv [:toarray {«А»=«D090»; «Б»=«D091»; «В»=«D092»; «Г»=«D093»; «Д»=«D094»; «Е»=«D095»; «Ж»=«D096»; «З»=«D097»; «И»=«D098»; «Й»=«D099»; «К»=«D09A»; «Л»=«D09B»; «М»=«D09C»; «Н»=«D09D»; «О»=«D09E»; «П»=«D09F»; «Р»=«D0A0»; «С»=«D0A1»; «Т»=«D0A2»; «У»=«D0A3»; «Ф»=«D0A4»; «Х»=«D0A5»; «Ц»=«D0A6»; «А»=«D0A7»; «Ш»=«D0A8»; «Щ»=«D0A9»; «а»=«D0AA»; «Ы»=«D0AB»; «Ь»=«D0AC»; «Э»=«D0AD»; «Ю»=«D0AE»; «Я»=«D0AF»; «а»=«D0B0»; «б»=«D0B1»; «в»=«D0B2»; «г»=«D0B3»; «д»=«D0B4»; «е»=«D0B5»; «ж»=«D0B6»; «з»=«D0B7»; «и»=«D0B8»; «й»=«D0B9»; «к»=«D0BA»; «л»=«D0BB»; «м»=«D0BC»; «н»=«D0BD»; «о»=«D0BE»; «п»=«D0BF»; «р»=«D180»; «с»=«D181»; «т»=«D182»; «у»=«D183»; «ф»=«D184»; «х»=«D185»; «ц»=«D186»; «ч»=«D187»; «ш»=«D188»; «щ»=«D189»; «ъ»=«D18A»; «ы»=«D18B»; «ь»=«D18C»; «э»=«D18D»; «ю»=«D18E»; «я»=«D18F»; «Ё»=«D001»; «ё»=«D191»}] | |
| # encoding of the symbols and аssembly line | |
| :local StrTele ""; :local code ""; | |
| :for i from=0 to=([:len $string]-1) do={:local keys [:pick $string $i (1+$i)]; :local key ($rsimv->$keys); if ([:len $key]!=0) do={:set $code ("%"."$[:pick ($rsimv->$keys) 0 2]"."%"."$[:pick ($rsimv->$keys) 2 4]");} else={:set $code $keys}; :set $StrTele ("$StrTele"."$code")} | |
| :set $string $StrTele | |
| :return $string; | |
| } | |
| +++++++++++++++++++++++++++++++++++++++ | |
| Отправляем уведомление | |
| :local botID "botXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXX"; | |
| :local myChatID "YYYYYY"; | |
| :global FuncStrToTele; | |
| :local string [$FuncStrToTele "Привет от Sertik ! Работает функция-конвертер Russian alfabit для Telegramm"] | |
| :tool fetch url=("https://api.telegram.org/$botID/sendMessage?chat_id=$myChatID&text=$string") keep-result=no |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment