Бот для роботи зі скріншотами та повідомленнями за аргументами запуску
ScreenAlertArgsTgBot — це бот, який дозволяє:
- Відправляти текстові повідомлення до Telegram.
- Робити знімки екрану й надсилати їх до чату Telegram.
- Для керування приймає команди через аргументи командного рядка.
- Відправка текстових повідомлень: Введіть текст у параметри запуску, і бот відправить його в Telegram.
- Відправка скріншотів: Додайте ключові слова ("screen" або "png") у текст, щоб бот зробив знімок екрану та надіслав його.
- Налаштування через файл конфігурації: Параметри бота зберігаються у файлі
config.ini.
- Python 3.11: Проект розроблено за допомогою сучасної версії Python 3.11, яка забезпечує високу продуктивність та підтримку нових функцій.
- Основні бібліотеки:
- pillow: Обробка та створення зображень, зокрема захоплення скріншотів.
- pyTelegramBotAPI: Для інтеграції з API Telegram, що дозволяє надсилати повідомлення та файли.
- configparser: Для зручної роботи з конфігураційними файлами в форматі
.ini. - os і sys: Для роботи з файловою системою й обробки аргументів командного рядка.
-
Завантажте
ScreenAlertArgsTgBot.exeфайл із релізів. -
Створіть файл
config.iniу папці з ботом або завантажте готовий файл із репозиторію config.ini.example і перейменуйте його вconfig.ini. Ось приклад вмісту файлу:[telegram] bot_token = <Ваш_Telegram_токен> chat_id = <Ідентифікатор_чату> computer_name = My_PC
- bot_token: Токен вашого Telegram бота.
- chat_id: Ідентифікатор вашого Telegram чату.
- computer_name: Назва комп'ютера (буде використовуватися в підписах повідомлень).
ВАЖЛИВО: Замість
<Ваш_Telegram_токен>і<Ідентифікатор_чату>вкажіть реальні значення. -
Запустіть
ScreenAlertArgsTgBot.exeчерез командний рядок:ScreenAlertArgsTgBot.exe <ВАШЕ ПОВІДОМЛЕННЯ>
- Наприклад:
ScreenAlertArgsTgBot.exe Hello, world! - Для відправки скріншота:
ScreenAlertArgsTgBot.exe screen Ось скріншот мого екрану
- Наприклад:
- Клонуйте репозиторій:
git clone https://github.com/yourusername/projectname.git cd projectname - Встановіть необхідні залежності з файлу
requirements.txt:pip install -r requirements.txt
- Створіть файл
config.iniабо завантажте приклад із репозиторію config.ini.example, перейменуйте його вconfig.ini, та змініть змінні на власні:[telegram] bot_token = <Ваш_Telegram_токен> chat_id = <Ідентифікатор_чату> computer_name = My_PC
- Запустіть скрипт через командний рядок:
python main.py <ВАШЕ ПОВІДОМЛЕННЯ>
- Наприклад, для відправки текстового повідомлення:
python main.py Привіт, Telegram! - Або для відправки скріншота:
python main.py screen Мій скріншот
- Наприклад, для відправки текстового повідомлення:
Для компіляції вашого Python файлу в .exe доступні два варіанти: із вшиванням файлу config.ini у виконуваний файл або з винесенням config.ini як окремого файлу.
1. Компіляція з вшиванням файлу config.ini в main.py (користувач не матиме доступу для редагування після компіляції)
-
Встановіть бібліотеку
pyinstaller:pip install pyinstaller
-
Запустіть команду компіляції:
pyinstaller -w -F --onefile --hidden-import=pyTelegramBotAPI main.py
Ось що означає кожен параметр:
-w: Прибирає консольне вікно під час запуску.exeфайлу. Використовується для тихих програм, які не потребують виводу в консоль.-Fабо--onefile: Упаковує всі залежності разом із файлом Python у один.exeфайл.--hidden-import=pyTelegramBotAPI: Включає бібліотекуpyTelegramBotAPI, якщо вона була імпортована динамічно.
У результаті ви отримаєте
main.exeфайл, який містить код програми та всі необхідні залежності. Конфігураціяconfig.iniбуде "захована", тобто користувач не матиме доступу для її редагування.
Якщо необхідно надати користувачеві можливість редагування файлу config.ini після компіляції:
-
Встановіть бібліотеку
pyinstaller:pip install pyinstaller
-
Запустіть команду компіляції:
pyinstaller -w -F --onefile --hidden-import=pyTelegramBotAPI --add-data "config.ini:." main.pyПараметри в команді:
-w: Прибирає консольне вікно під час запуску.exeфайлу.-Fабо--onefile: Упаковує основний скрипт і його залежності у один.exeфайл.--hidden-import=pyTelegramBotAPI: Додає імпорт бібліотекиpyTelegramBotAPI, який міг би бути пропущений через динамічний імпорт у програмі.--add-data "config.ini:.": Додає файлconfig.iniу ту ж саму директорію, де буде розташовано.exeфайл:"config.ini:.": У форматіSOURCE:DEST, де:config.ini— файл конфігурації..— директорія, в яку файл буде виведено.
-
Скомпільований
.exeфайл буде розташовано в папціdist/(файлconfig.iniв деяких випадках потрібно перенести в ручну вdist/) :dist/ ├── main.exe # Ваш виконуваний файл └── config.ini # Файл конфігурації (за наявності) -
Ви можете перейменувати
main.exeу будь-яке інше ім'я, наприклад,ScreenAlertArgsTgBot.exe.
Ці два підходи забезпечують гнучкість залежно від ваших вимог — або повністю "заховати" конфігурацію, або надати користувачеві можливість її змінювати.
-
Перейменуйте
main.exeв потрібну назву, наприклад,ScreenAlertArgsTgBot.exe, та перенесіть у бажану директорію. -
Тепер ви можете запускати
ScreenAlertArgsTgBot.exeтак само, як інші виконувані файли:bot.exe <ВАШЕ ПОВІДОМЛЕННЯ>
ScreenAlertArgsTgBot/
│
├── main.py # Основний код проекту
├── config.ini # Файл конфігурації (створюється користувачем)
├── README.md # Інструкції до проекту
│
└── requirements.txt # Залежності для роботи бота
Створено з ❤️ для полегшення автоматизації роботи з Telegram. Щоб повідомити про помилки чи запропонувати покращення, створіть Issue.