Как запустить файл Телеграмм бота через консоль

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

Создаем Telegram-бота на Python. Часть два

25.09.2019

2429

Рейтинг: 5 . Проголосовало: 3
Вы проголосовали:
Для голосования нужно авторизироваться

advertisement advertisement

Чат боты — это новый инструмент взаимодействия разработчика с пользователем. Их все чаще внедряют для совершенно различных целей. Новостные ленты, обработка налоговых деклараций, сохранение файлов – боты становятся удобным интерфейсом взаимодействия c различными сервисами.

В прошлой статье мы рассмотрели, как написать простейшего чат-бота на Python и запустить его на своем компьютере. Сегодня мы рассмотрим, как того, написанного нами бота, разместить на внешнем сервере в сети Интернет.

В качестве места размещения мы будем использовать бесплатный сервис Heroku.

advertisement advertisement

Установка и настройка 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 без расширения. В теле этого файла пропишем:

Видео курсы по схожей тематике:

Python Базовый

Как стать программистом?

Как стать программистом?

Flask Framework

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

Создаём игру-бестселлер Тетрис на Python

Пишем игру Танки 2D на Pygame

Пишем игру Танки 2D на Pygame

Разработка сервиса обмена фотографиями на Django - вебинары ITVDN

Разработка сервиса обмена фотографиями на 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

Рейтинг
( Пока оценок нет )
Загрузка ...