Cкрипт на AutoIt для отправки сообщений через Bot-a в Telegram
Позволяет, имея зарегистрированного Телеграм Бота (нужен токен и id чата), отправлять сообщения ботом прямо из командной строки.
Размер программы меньше 852Kb. В системе может оставлять только файл настроек %Tempr%~tgbot.tmp
В обращении очень прост.
Использует несколько параметров командной строки /h, /s, /d, /m
- TelegbamBot_v2.exe /h — вывод помощи в консоль (на английском)
- TelegbamBot_v2.exe /s token chat_id — записывает токен и id чата во временный файл для дальнейшего использования, файл записывается в каталог темп и содержит в открытом виде ваши token и chat_id, поэтому позаботьтесь о его удалении командой /d
- TelegbamBot_v2.exe /d — удаляет данные записанные параметром /s
- TelegbamBot_v2.exe /m token chat_id message — отправляет сообщение используя только данные коммандной строки. если в сообщении присутствуют пробелы — то все сообщение ОБЯЗАТЕЛЬНО поместить в кавычки: TelegbamBot_v2.exe /m 328765:ldbflshdgblb 8374658 «ваше сообщение»
- TelegbamBot_v2.exe message — отправляет сообщение message используя, заранее сохраненные командой /s, token и chat_id
Можно легко сделать различные уведомления от программ, служб, сообщения от систем аудита и т.п.
Создаем TELEGRAM бота на PYTHON и заливаем на БЕСПЛАТНЫЙ ХОСТИНГ за 5 МИНУТ
Собственно сам код AutoIt
В архиве файл исходника на AutoIt и скомпилированный консольный бинарный (.exe) под x86
TelegramBot_v2.zip version=2.0.0.21 from Yandex.Disk
______________________________________________________________________
UPD. 15-12-2017
программа обновлена до версии 2.0.0.21
Что изменено:
1.Полностью переписан способ передачи в программу token-a и chat_id
2.Программа переделана в консольную версию. Убраны все GUI сообщения.
Как зарегистрировать своего бота и получить token и chat_id
<«ok»:true,»result»:[<«update_id»:485763969, «message»:<«message_id»:1,»from»:<«id»:376718569,»is_bot»:false,»first_name»:»u041fu043eu043au0430u043bu044cu043du0435u0442u043eu0432″,»last_name»:»u041fu0430u0432u0435u043b»,»username»:»RedXes»,»language_code»:»en»>,»chat»:,»date»:1513335210,»text»:»/start»,»entities»:[]>>]>
В итоге мы получили:
token = 505718974:AAHYpDfIaIJNRWY1KDiMrDagP-YqsUQE6ts
chat_id = 376718569
Источник: www.neo-techno.ru
Создаем Telegram-бота на Python. Часть 2
25.09.2019
2429
Рейтинг: 5 . Проголосовало: 3
Вы проголосовали:
Для голосования нужно авторизироваться
Чат боты — это новый инструмент взаимодействия разработчика с пользователем. Их все чаще внедряют для совершенно различных целей. Новостные ленты, обработка налоговых деклараций, сохранение файлов – боты становятся удобным интерфейсом взаимодействия c различными сервисами.
В прошлой статье мы рассмотрели, как написать простейшего чат-бота на Python и запустить его на своем компьютере. Сегодня мы рассмотрим, как того, написанного нами бота, разместить на внешнем сервере в сети Интернет.
В качестве места размещения мы будем использовать бесплатный сервис Heroku.
Установка и настройка Git
Для дальнейшей работы нам понадобится установить Git, зарегистрироваться на GitHub и создать репозиторий с именем нашего приложения. В нашем случае это MyFirstTestBot.
Скачать версии Git, соответствующие вашей операционной системе, можно по следующим ссылкам для macOS и для Windows. На Linux Git можно установить, выполнив такую команду:
sudo apt-get install git-all
Далее, желательно использовать виртуальную среду. Если она не установлена, при установке Python вы можете ее установить, выполнив команду:
pip install virtualenv
Создадим новую папку для нашего приложения и связи его с GitHub. В нашем случае это папка PythonApplication1 в корне диска C.
Выполним клонирование репозитория. Для этого находясь в нашей папке в консоли выполним команду, введя ссылку на ваш репозиторий:
Тема связана со специальностями:
git clone https://github.com/your_github_account/your_repository_name
После выполнения этой команды в нашей папке с именем PythonApplication1 мы получили еще одну папку – MyFirstTestBot.
В консоли перейдем в корень диска C и выполним команду:
virtualenv PythonApplication1
Если команда не выполняется, и вы на экране консоли видите «»virtualenv» не является внутренней или внешней командой…» — вам следует настроить системную переменную PATH и добавить в нее адреса расположения вашей папки с Python и подпапки со скриптами (в моем случае C:UsersBAppDataLocalProgramsPythonPython37-32Scripts).
Будем в дальнейшем пользоваться консолью Git, которую мы установили ранее:
После выполнения этого скрипта в нашей папке будет такое содержимое:
Поместим скрипт в папку, полученную в результате выполнения команды git clone (папка MyFirstTestBot). Имя файла с нашим скриптом — mftb.py
Теперь запустим наше виртуальное окружение. Перейдем в консоли в папку C:PythonApplication1 и выполним команду:
source C:PythonApplication1Scriptsactivate
Если все сработало нормально – в консоли приглашение командной строки будет начинаться с имени нашей папки (PythonApplication1):
Перейдём в нашу папку репозитория и выполним команду:
pip install requests
Создадим список зависимостей для Heroku, введя команду:
pip freeze > requirements.txt
Обратите внимание – в файле requirements.txt указываются требования к серверу Huroku. Там должно быть приблизительно такое содержимое:
Если вы не продолжаете проект из предыдущей статьи, а создали новый – не забудьте указать все зависимости.
В папке MyFirstTestBot создадим файл с именем Procfile без расширения. В теле этого файла пропишем:
Видео курсы по схожей тематике:
Как стать программистом?
web: python mftb.py
В папке MyFirstTestBot создадим также файл с именем __init__.py без содержимого.
Содержимое нашей папки MyFirstTestBot теперь такое:
Отправим в GitHub репозиторий наш набор изменений. Для этого выполним следующую серию команд, с указанием ссылки на ваш репозиторий:
git init
git add .
git commit -m “first commit – ваше сообщение комментарий к коммиту”
git push -u https://github.com/your_github_account/your_repository_name
Код нашего бота теперь загружен на GitHub и нам остается загрузить его на Heroku, где будет хоститься наш бот.
Рекомендуется ознакомиться с основами работы с Heroku по ссылке. По той же ссылке следует скачать установщик интерфейса командной строки (CLI) от Heroku и запустить его.
После установки CLI зарегистрируемся на Heroku через веб браузер.
Далее подключимся к Heroku через консоль используя команду:
heroku login
Нас попросят подключиться через браузер к сайту Heroku и залогиниться там. Нужно будет ввести ваши данные.
Выполним команду для создания приложения в Heroku:
heroku create
Дальнейшие наши команды отправят наш проект на сервер Heroku и укажут необходимую настройку:
git push heroku master
heroku ps:scale web=1
Последняя команда запустит наше приложение на сервере:
heroku open
Теперь наше предложение установлено и запущено на сервере. Мы можем проверить это, пообщавшись с нашим ботом в Telegram:
Как мы видим – все работает. Если по каким-то причинам бот не запустился, нужно ввести в консоли команду:
heroku logs –tail
И смотреть на коды ошибок на сайте.
Резюме.
В прошлой статье мы с вами посмотрели, как можно создать простого Telegram бота. Теперь мы опубликовали его на удаленном сервере. Наш чатбот работает, и мы можем к нему обращаться, используя привычный мессенджер. Конечно, этот вариант бота далек от идеала, но для учебных целей, как первый проект бота, он подойдет.
Бесплатные вебинары по схожей тематике:
Создаём игру-бестселлер Тетрис на Python
Пишем игру Танки 2D на Pygame
Разработка сервиса обмена фотографиями на Django — вебинары ITVDN
Попробуйте создать своего бота с другим набором предопределенных ответов. В дальнейшем вы сможете создавать более продвинутых чатботов, работающих с нейросетями и другими элементам искусственного интеллекта.
Чаще всего востребованные библиотеки для работы ботов сейчас пишут на Python. Именно поэтому мы рассмотрели этот простой пример. Для дальнейшего развития вас как квалифицированного Python разработчика мы рекомендуем ознакомиться с курсом подготовки Python-разработчика на портале ITVDN.
Источник: itvdn.com
телеграмм бот для системного администратора
Телеграмм бот для системных администраторов. Это ни в коем случае не готовый проект, в нем есть над чем поработать. Это полуфабрикат и набор приемов который каждый админ может подпиливать под свои разные задачи.
в статье содержатся примеры нескольких ботов и примеры работы с апи телеграмм из powershell
тут содержится инфо как зарегать бота и получить токен
если такую ссылку комуто переслать то он может просто кликнуть по ней чтобы открыть чат с вашим ботом
Готовые шаблоны админботов
Простой бот
- небольшой — всего около 300 строк
- может исполнять команды описанные в функции logic
- может получать и отправлять сообщения
- может принимать файлы
- есть проверка по паролю
- ведет лог присланых команд
- может открывать несколько сессий для одновременной работы (реализовано не полностью. Но взаимодействовать несколько человек одновременно могут
- слишком простая авторизация. Пароль останется в чате на устройстве. Не может отличить устройства
скачать простого бота можно вот отсюда, в архиве содержится: 1. хелп с примерами разметки текста; 2. исходник
Для запуска нужно получить токен бота у BotFather как описывается в начале статьи и прописать в переменную $token скрипта. Работать должно сразу.
Функционал добавлять в функцию logic
Сложный бот
- небольшой — всего около 450 строк
- может исполнять команды описанные в функции logic
- может получать и отправлять сообщения
- может принимать файлы
- есть проверка по паролю, может дополнительно проверять chat_id
- ведет лог присланых команд
- может открывать несколько сессий для одновременной работы (реализовано не полностью. На последнем этапе прикручивалась консоль, если работать в ней то у других пользователей будет зависание и может быть кик по таймауту
функционал который был реализован для примера:
- может принимать файлы, складывает их в папочку
- может показывать файлы из папочки
- может файлы из папки загрузки
- может запускать файл на исполнение (посредством start-process)
- показывает список серверов с которым производится работа (просто список имен в текстовом файле)
- пингует серверы из списка и показывает какие из них онлайн
- отключает компы из списка
- показывает пользователей залогинившихся на терминал, делает вызов внешнего скрипта (нужно установить на терминал PSTerminalServices)
- делает logoff пользователя на терминале. Входишь в режим консоли и потом пишешь имена пользователей (нужно установить на терминал PSTerminalServices)
- делает скриншот того компа на котором запущен (но не передает обратно)
- открывает ssh сессию с устройством в сети и переходит в режим ввода команд (для примера кредиталы и адрес жеско зашиты в скрипт)
из того что не было реализовано но хотелось бы:
- обратная передача файлов (напишите кто знает как это сделать через powershell)
- не полноценная поддержка многопользовательской работы
- не полноценный режим консоли
скачать бота можно вот отсюда, в архиве содержится: 1. хелп с примерами разметки текста; 2. конфигурационный файл config.csv; 3. сам бот — abormot.ps1; 4. набор вспомогательный файлов; 5. список компов для работы в текстовом файле ping-list.txt
Для запуска нужно получить токен бота у BotFather как описывается в начале статьи и прописать в конфигурационном файле config.csv. Работать должно сразу.
Функционал добавлять в функцию logic
бот самообслуживания делающий Unlock учеток в домене
в некоторых организациях по требованиям иб если пароль введен неверное определенное количество раз то лочится учетная запись на определенное время. Чтобы снять лок пользователь должен позвонить админу. Этот бот сделан так что ему можно написать имя учетной записи и он ее разблокирует, но не более 3х раз в сутки. При превышении лимита он перенаправит пользователя к системному администратору и отправит оповещение ему в чат.
Для запуска нужно получить токен бота у BotFather прописать токен в переменную $token. Выставить номер чата админа в $adminChatID. Прописать адрес доменной машины и кредиталы к ней
я встроил в примере функцию unlock прямо в скрипт, для постоянного использования лучше создать реакцию на событие в журнале и самому генерировать это событие. По событию будет запускаться скрипт unlock из места которое доступно только админам, так вы не забудете пароль от домена в скрипте. Это важно.
бот принимающий файлы от знакомых ему пользователей
например нам нужно пробрасывать в общий ресурс фотографии от пользователей на выезде, или просто принимать файлы и знать от кого они пришли и кому отправить. Ниже пример бота принимающего фотографии от знакомых ему пользователей
Для запуска нужно получить токен бота у BotFather прописать токен в переменную $token. Работать должно сразу. Не забудьте добавить нужный вам чат в switch
Как работать с bot api
1. принять сообщение
Нужно выполнить Invoke-WebRequest на адрес
https://api.telegram.org/bot/getUpdates?offset=$FDownload : file name is «»$($JSON.file_path)»»; size $($json.file_size) kb»
можно использовать метод отправки посложнее:
Источник: savepearlharbor.com