Skip to content

Instantly share code, notes, and snippets.

@Semdevmaster
Created September 11, 2020 05:47
Show Gist options
  • Select an option

  • Save Semdevmaster/f134191e98b24d81eb29ac67b11c6cbd to your computer and use it in GitHub Desktop.

Select an option

Save Semdevmaster/f134191e98b24d81eb29ac67b11c6cbd to your computer and use it in GitHub Desktop.
Telegram bot messaging
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