Уведомления, получаемые от систем мониторинга, стали неотъемлемой частью специалистов занимающихся сопровождением информационных систем. Однако, мир не стоит на месте и все чаще появляются новые способы оповещения. К традиционным средствам оповещения о состоянии информационных систем: электронная почта и SMS добавились новые средства доставки уведомлений, такие как мессенджеры. Наибольшей популярностью, для этой цели, у системных администраторов стал мессенджер Telegram. А в системах мониторинга появилась возможность настраивать интеграцию с мессенджерами, с целью оперативной рассылки уведомлений.
Но что делать если централизованной системы мониторинга нет, или в ней нет особой необходимости, а потребность получать уведомления в Telegram есть.
Ниже описан один из способов пошаговой настройки для отправки сообщений в Telegram используя PowerShell.
Допустим наш бот будет называться UserMan.ru и иметь идентификатор UserManRu_bot.
В ответ придет уникальный token для созданного бота, который будет использоваться при отправке сообщений.
Например боту UserManRu_bot был присвоен токен: 819090298:AAGjXP6QLPMkem9t2LflIHOAiE_Q58bA43g
2. Создать группу в Telegram и получить ее идентификатор
Для получения идентификатора группы необходимо создать новую группу в Telegram (или использовать имеющуюся группу) и добавить туда созданного бота UserManRu_bot. А для получения идентификатор учетной записи следует отправить боту UserManRu_bot сообщение /Start и любое тестовое сообщение.
Затем необходимо проверить историю обращений которые были к боту, используя запрос ниже:
https://api.telegram.org/bot/getUpdates
В случае с ботом UserManRu_bot это будет:
https://api.telegram.org/bot819090298:AAGjXP6QLPMkem9t2LflIHOAiE_Q58bA43g/getUpdates
В результате мы увидим уникальный идентификатор пользователя (наш идентификатор), он нам понадобится при отправке сообщений
А также уникальный идентификатор группы
<«ok»:true,»result»:[<«update_id»:146972760, «message»:<«message_id»:2,»from»:172489755,»is_bot»:false,»first_name»:»Test»,»last_name»:»Test»,»username»:»mynick»,»language_code»:»en»>,»chat»:,»date»:1553259454,»text»:»Test»>>,,»chat»:-347310642,»title»:»UserMan.ru»,»type»:»group»,»all_members_are_administrators»:true>,»date»:1553257968,»group_chat_created»:true>>]>
Из этого набора символов в формате JSON определяем ID пользователя, который отправил сообщение «Test»: 172489755
и Id группы в которую добавили бота: -347310642
- token — Уникальный идентификатор, который был получен при создании бота
- chat_id — уникальный идентификатор пользователя или группы. Он определяется запросом getUpdates
- text — текст сообщения, которое необходимо направить
https://api.telegram.org/bot/sendMessage?chat_id=text=Hello
Вставляем этот запрос в адресную строку браузера и переходим по ссылке. Сообщение Hello должно прийти сообщение в группу.
Livegrambot — все сообщения в одной группе/чате + рассылка. Telegram BOT/Телеграм бот.
4. Сформировать скрипт для отправки сообщения
Чтобы сформировать и выполнить Web запрос выше, используя PowerShell, потребуется небольшой скрипт. Пример скрипта показан ниже:
$token = «819090298:AAGjXP6QLPMkem9t2LflIHOAiE_Q58bA43g» $chat_id = «-347310642» $text = «Hello World!» $URI = «https://api.telegram.org/bot» + $token + «/sendMessage?chat_id=» + $chat_id + «>ID чата всегда начинается со знака минус, а ID пользователя всегда без знака минус
5. Использование Proxy для отправки запроса
Если вы используете в своей сети прокси сервер или ваш провайдер запрещает доступ к telegram, то можно добавить к PowerShell командлету Invoke-WebRequest параметр -Proxy с указанием прокси сервера и порта, с которых разрешен доступ к Telegram. В этом случае скрипт будет иметь вид:
$token = «819090298:AAGjXP6QLPMkem9t2LflIHOAiE_Q58bA43g» $chat_id = «-347310642» $text = «Hello World!» $URI = «https://api.telegram.org/bot» + $token + «/sendMessage?chat_id=» + $chat_id + » + $text $Request = Invoke-WebRequest -URI ($URI) -Proxy «http://134.19.218.94:3128»
Где, 134.19.218.94:3128 — это один из примеров открытого прокси сервера.
Источник: userman.ru
Создание бота в мессенджере Telegram
Для того чтобы получить так называемую базовую основу для своего собственного бота, необходимо обратиться за помощью к специальному боту Телеграм.
-
Откройте мессенджер и либо воспользуйтесь представленной выше ссылкой, либо введите название бота в поисковую строку и откройте чат с ним. Нажмите на кнопку «Запустить».
Шаг 2: Настройка
Обратите внимание! Данный шаг инструкции подразумевает, что у вас уже есть как минимум основная идея для бота и общее представление о том, как он будет выглядеть и работать. О создании его «внутренней», программной части, будет рассказано в следующем шаге, а потому вы вполне можете начать с разработки и только после этого перейти к настройке.
/setname | Изменение отображаемого имени бота |
/setdescription | Добавление описания |
/setuserpic | Смена аватара |
/setcommands | Установка и редактирование перечня команд, на которые бот должен реагировать |
/deletebot | Удаление добавленного бота |
/token | Создание нового токена или замена старого, если оригинальный скомпрометирован |
/setinline | Включение inline-режима, при котором бот будет реагировать на соответствующие команды во всех чатах, куда он добавлен |
/setinlinefeedback | Ответ на ввод отображением заданных вариантов (показом сообщения-шаблона, изображения, кнопки и т. д.) |
/setprivacy | Активация приватного режима, при котором бот будет распознавать исключительно команды и адресованные ему сообщения |
Шаг 3: Разработка
Наиболее важный и, наверное, сложный, если говорить о малоопытных пользователях, этап в создании собственного Telegram-бота – его непосредственная разработка. В примере далее нами будет использоваться Python.
Примечание: pyTelegramBotAPI – библиотека, необходимая для обеспечения работы Telegram-бота, но это не единственное такого рода решение. В качестве альтернативы можете использовать telegram-bot – соответствующая команда для установки указана ниже. По этой библиотеке можно найти довольно много инструкций в интернете, но в нашем случае она работала некорректно.
pip install python-telegram-bot
Откройте редактор кода и сделайте следующее:
-
Прежде всего импортируйте в него установленную на предыдущем шаге библиотеку. В случае с pyTelegramBotAPI запрос должен выглядеть следующим образом: import telebot
Обратите внимание! Описанное выше, — это обязательная «основа» для будущего бота. Далее – пример простейшего кода команды запуска и ответа с пояснениями, в вашем случае это может и наверняка будет отличаться, так как зависит исключительно от поставленной задачи.
Пояснение: Это декоратор для функции send_welcome, который указывает, что она должна выполняться в случае, если пользователь отправляет команду /start. Когда это происходит, бот отвечает приветственным сообщением с текстом «Привет! Я простой бот, рад познакомиться!».
Пояснение: Этот обработчик, обозначенный декоратором echo_message, будет вызываться для всех текстовых сообщений, которые отправляют пользователи. Когда бот получает текстовое сообщение, он просто повторяет это сообщение обратно отправителю с помощью функции bot.reply_to().
Завершающая команда – запуск бота: if __name__ == «__main__»:
bot.polling()
Пояснение: Эта команда запускает бота и начинает прослушивать входящие обновления от Telegram. Как только пользователь отправит сообщение, обработчики, определенные ранее, будут вызваны и выполнят необходимые действия.
Шаг 4: Запуск и использование
Для того чтобы бот работал и был доступен к использованию в Telegram, его необходимо запустить. Сделать это можно с помощью любого варианта системной консоли, будь то «Командная строка», «PowerShell» или «Терминал».
-
Перейдите в папку с проектом вашего бота, зажмите клавишу «Shift» на клавиатуре, не отпуская ее, кликните правой кнопкой мышки (ПКМ) в пустой области и, далее, в зависимости от версии используемой операционной системы (в нашем примере – Windows 11) и/или ваших собственных пожеланий, выберите предпочтительный вариант консоли в контекстном меню.
Введите команду следующего вида и нажмите «Enter»: python your_telegram_bot.py ‘your_telegram_bot’ – название вашего бота, присвоенное ему при сохранении на последнем шаге предыдущей инструкции.
Примечание: Вместо выполнения двух предыдущих шагов вы можете самостоятельно запустить консоль, перейти из нее в папку с проектом и выполнить его запуск. Для этого поочередно введите и выполните следующие команды: cd путь_к_папке_с_проектом
python your_telegram_bot.py
Шаг 5: Хостинг
Для того чтобы Telegram-бот работал постоянно, даже когда ваш компьютер выключен и/или проект не запущен в консоли, его необходимо разместить на хостинге. Это не самая сложная задача, но и откровенно простой ее назвать нельзя. Причем важно отметить, что сделать это бесплатно на сегодняшний день не получится, по крайней мере, если не рассматривать ограниченные по времени и/или функциональности решения. А с учетом того, что использование и настройка в каждом отдельном случае существенно отличается (это может делаться на веб-сайте, в десктопной программе или консоли), предоставить универсальную инструкцию не получиться.
Единственное, что мы можем порекомендовать – ввести в поисковую систему запрос приблизительно указанного ниже вида и последовательно ознакомиться со всей доступной информацией по теме. Наверняка вы сможете отыскать подходящее предложение.
хостинг телеграм бот
Способ 2: Специализированный сервис
Альтернативой решению от Telegram и последующей самостоятельной разработке будет один из сторонних сервисов, который позволяет как создавать ботов, так и добавлять к ним дополнительную функциональность, причём последнее не требует навыков программирования. Одним из самых удобных решений такого рода является проект Manybot, которым мы и воспользуемся.
- Воспользуйтесь ссылкой выше, а после загрузки страницы нажмите на кнопку «Создать бота».
- Далее кликните «Открыть Manybot в Telegram».
Важно! Этот сервис работает только с клиентским приложением, веб-версия не поддерживается!
Источник: lumpics.ru
Как создать бота в Telegram
Что нужно знать, прежде чем создавать бота в Telegram
Боты являются своего рода программами, которые умеют выполнять разные функции — от предоставления информации до управления устройствами — и работают прямо в мессенджере.
Взаимодействие осуществляется как с помощью заранее заготовленного набора команд, так в виде живого общения. В зависимости от возлагаемых на бота задач его можно добавить в канал или чат, а также подключить к платформам автоматизации и различным сервисам. Более сложные возможности реализуются с помощью программируемых скриптов, которые составляют разработчики.
Но так или иначе сначала бота нужно создать. Делается это следующим образом.
Как создать бота в Telegram
Чтобы сделать своего бота, понадобится другой бот — BotFather. Это официальный инструмент для создания ботов и управления ими. Найти BotFather можно через поиск. Обратите внимание на синюю галочку рядом с именем: именно она укажет на правильный чат.
Запустите диалог с ним и нажмите «Начать».
Кликните по кнопке меню и выберите /newbot.
Следующим шагом нужно придумать боту никнейм. Он должен быть уникальным и заканчиваться на bot. Если эти условия не выполняются, BotFather просит сочинить другой.
Далее BotFather предоставит ссылку на созданного бота и токен для обращения к нему. Ссылка нужна для поиска бота, ею можно делиться. А вот токен — длинный набор символов — вещь секретная. Это своеобразный ключ, с помощью которого осуществляется управление программой. Сохраните его в надёжном месте и никому не показывайте.
После этого с ботом, по сути, можно работать. Если перейти по выданной в предыдущем шаге ссылке, откроется диалог с ним. Правда, без настройки он пока ничего не сможет сделать.
Как настроить бота в Telegram
В зависимости от того, для чего вам требуется бот, его нужно будет подключить к различным сервисам и платформам автоматизации. Для этого в процессе настройки понадобится указать имя бота и его токен.
Также при желании можно добавить описание (/setdescription), прикрепить аватар (/setuserpic) или сменить имя (/setname). Все эти действия осуществляются через меню в BotFather. Если у вас несколько ботов, то сначала придётся выбрать нужный из списка.
В качестве наглядного примера мы создадим простого чат-бота с помощью бесплатного сервиса Manybot. Он не требует навыков программирования и работает прямо в Telegram. Наш бот будет предлагать полезную информацию для читателей: книги и подкасты Лайфхакера, а также открытые вакансии и возможность связи с редакцией. Принцип работы несложный: пользователь переходит в нужный чат по ссылке, запускает одну из команд, нажимая на кнопку в меню, и получает ответ на свой вопрос. Вот какие этапы включает настройка.
Подключение бота
Сначала нужно открыть чат с Manybot, перейдя по ссылке, и нажать «Начать».
Затем выбрать удобный для вас язык.
Кликните «Добавить нового бота».
А вот теперь понадобится токен созданного ранее бота, который выдал BotFather. Нажмите «Я скопировал токен» и отправьте его Manybot.
Добавьте описание бота, которое будут видеть пользователи, или пропустите этот шаг.
Создание команд
Далее вернитесь к своему боту, которого создали с помощью BotFather, и нажмите «Начать».
Выберите «Пользовательские команды».
Затем — «Создать команду».
Придумайте название команды латинскими буквами, начиная со слеша.
Впишите текст, добавьте ссылки или фото, которые увидит пользователь после вызова команды. Сообщений может быть несколько. Нажмите «Отправить», а затем «Сохранить».
Таким же образом через меню «Создать команду» добавьте остальные команды, которые вам нужны. В нашем примере это подкасты, вакансии и обратная связь.
Добавление кнопок в меню
Чтобы пользователи могли взаимодействовать с ботом через графический интерфейс, а не вводить команды вручную, необходимо добавить кнопки для каждой из них. Для этого нажмите «Настроить гл. меню».
Кликните «Добавить пункт меню».
Выберите нужную команду.
По такому же принципу добавьте кнопки для других команд.
Проверка работы бота
Перейдите по ссылке на бота. Пользователи увидят только добавленные команды, у вас же будет отображаться расширенное меню с настройками.
Протестировать бота из нашего примера и посмотреть, как выглядит работа с ним, можно по этой ссылке.
- 10 маленьких хитростей для пользователей Telegram
- Как сделать анимированный стикер в Telegram
- 10 возможностей Telegram, о которых полезно знать
- Как создать канал в Telegram
- Какую платформу для блога выбрать
Источник: lifehacker.ru