go-tg-screenshot-bot
Описание
Программа позволяет делать скриншоты экранов и отправлять их либо в ответ на HTTP-запросы, либо в виде изображений в чате Telegram. Программа поддерживает многопоточную обработку запросов и использует стандартные библиотеки Go вместе с библиотеками сторонних разработчиков.
Языки
- Go100%
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
README.md
Описание программы
Эта программа написана на языке Go и выполняет функции веб-сервера и бота для Telegram. Программа позволяет делать скриншоты экранов и отправлять их либо в ответ на HTTP-запросы, либо в виде изображений в чате Telegram. Программа поддерживает многопоточную обработку запросов и использует стандартные библиотеки Go вместе с библиотеками сторонних разработчиков.
Основные функции программы:
1. Telegram Bot
- Программа реализует бота для Telegram, который авторизуется с помощью токена, переданного через флаг командной строки
.--token - Бот прослушивает входящие сообщения от пользователей и ожидает, что в сообщении будет содержаться номер дисплея (экранного монитора).
- После получения сообщения бот делает скриншот экрана с указанным номером и отправляет его обратно пользователю в виде изображения в чате.
2. Веб-сервер
- Веб-сервер слушает HTTP-запросы на порту
.8080 - При обращении к серверу с GET-запросом на путь
и передачей параметра/(номер дисплея), программа делает скриншот указанного экрана.d - Скриншот возвращается в виде изображения в формате PNG в ответе на HTTP-запрос.
3. Общие функциональные возможности
- Программа использует библиотеку
для захвата скриншотов с разных дисплеев.github.com/kbinani/screenshot - В случае возникновения ошибок при захвате скриншота, программа предпринимает повторные попытки (до 5 раз), чтобы сделать успешный скриншот.
- Программа разделяет обработку запросов Telegram и HTTP на разные горутины, что позволяет ей обрабатывать сообщения и запросы одновременно.
Использование программы:
-
Запуск программы:
- Для запуска необходимо указать токен Telegram бота с помощью флага
.--token - Пример запуска:
- Для запуска необходимо указать токен Telegram бота с помощью флага
-
Использование Telegram бота:
- Отправьте сообщение боту, содержащее номер дисплея (например, "0" для первого дисплея).
- Бот ответит вам сообщением, содержащее изображение — скриншот указанного дисплея.
-
Использование веб-сервера:
- Откройте браузер и перейдите по адресу
, гдеhttp://localhost:8080/?d=0— номер дисплея.d=0 - В ответ вы получите изображение в формате PNG, содержащее скриншот указанного дисплея.
- Откройте браузер и перейдите по адресу
Примечания:
- В случае возникновения ошибок, связанных с захватом изображения (например, если дисплей не существует), программа попытается сделать скриншот до 5 раз перед тем, как отказаться от попытки.
- Программа работает в многопоточном режиме, что обеспечивает её эффективность при одновременной обработке запросов Telegram и HTTP.