Бот для роботи зі скріншотами та повідомленнями за аргументами запуску
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.