72 lines
7.8 KiB
Markdown
72 lines
7.8 KiB
Markdown
<h1 align="center">TelegramPoster</h1>
|
||
|
||
<p align="center">
|
||
<a href="https://git.end-play.xyz/profitroll/TelegramPoster/src/branch/master/LICENSE"><img alt="License: GPL" src="https://img.shields.io/badge/License-GPL-blue"></a>
|
||
<a href="https://git.end-play.xyz/profitroll/TelegramPoster"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
|
||
</p>
|
||
|
||
## ⚠️ Українська версія README dev гілки ще не готова! Користуйтесь англійською! ⚠️
|
||
|
||
Цей бот використовується для однієї-єдиної задачі - розміщувати фотографії з мого особистого архіву. Ось його код, тож Ви також можете захостити бота самостійно та розважитися з ним. Тільки не очікуйте, що він ідеальним. Не буде. Але гей, Ви завжди можете його доробити під себе ;)
|
||
|
||
## Установка
|
||
|
||
Для запуску цього бота спочатку потрібно мати інтерпретатор Python та встановлений git. Google — Ваш друг у пошуках. Ви також можете ігнорувати git і просто завантажити код, також має спрацювати добре. Після цього Ви готові до встановлення.
|
||
|
||
> У цьому README я вважаю, що Ви використовуєте python за замовчуванням у своїй
|
||
> системі і PATH Вашої системи містить його. Якщо Ваш python за замовчуванням
|
||
> є `python3` або, наприклад, `/home/user/.local/bin/python3.9` - використовуйте його натомість.
|
||
> Якщо це нестандартний шлях до виконуваного файлу - Вам також слід змінити
|
||
> це у скриптах, які Ви використовуватимете (`loop.sh`, `loop.bat`, `start.sh` та `start.bat`).
|
||
|
||
1. Завантажте бота:
|
||
1. `git clone https://git.end-play.xyz/profitroll/TelegramSender.git` (якщо хочете використовувати git)
|
||
2. `cd ./TelegramSender`
|
||
|
||
2. Встановіть залежності:
|
||
`python -m pip install -r requirements.txt`
|
||
Без їх установки бот не зможе працювати взагалі
|
||
|
||
3. Встановіть додаткові залежності [Не обов'язково]:
|
||
`python -m pip install -r requirements-optional.txt`
|
||
Вони не є обов’язковими, але можуть прискорити роботу бота
|
||
|
||
4. Налаштуйте свого бота за допомогою текстового редактора:
|
||
`nano config.json`
|
||
Ви можете редагувати за допомогою vim, nano, у Windows це Notepad або Notepad++. На Ваш смак.
|
||
Якщо Ви не знаєте, де знайти bot_token і свій ідентифікатор, тут Ви можете знайти кілька підказок: [отримати токен бота](https://www.siteguarding.com/en/how-to-get-telegram-bot-api-token), [отримати свій ідентифікатор](https://www.alphr.com/telegram-find-user-id/), [отримати api_hash і api_id](https://core.telegram.org/api/obtaining_api_id).
|
||
Також не забудьте змінити режим роботи бота. Ключ `"mode"` має в собі ключі `"post"` та `"submit"`, кожен з який може бути `true` або `false`.
|
||
|
||
5. Додайте бота на канал:
|
||
Звичайно, щоб використовувати свого бота, Вам потрібно мати канал або групу, інакше немає сенсу мати такого бота. [Тут](https://stackoverflow.com/a/33497769) Ви можете знайти короткий гайд, як додати свого бота до каналу.
|
||
|
||
6. Заповніть папку вмістом:
|
||
Звичайно, бот не може опублікувати щось із нічого. Налаштуйте свій `config.json`, які медіа-типи бот повинен публікувати (`"posting", "extensions"`), коли їх публікувати (`"posting", "time"`), а також де їх знайти (`"locations"`). Ви також можете переміщати їх після надсилання, встановивши для `"posting", "move_sent"` значення `true`.
|
||
|
||
6. Готово, запускайте!
|
||
`python ./main.py`
|
||
Або ви також можете використовувати `.\start.bat` на Windows і `bash ./start.sh` на Linux.
|
||
Крім того, доступні `loop.sh` і `loop.bat`, якщо ви хочете, щоб ваш бот запускався знову після зупинки або після використання команди `/reboot`.
|
||
|
||
## Аргументи командного рядка
|
||
|
||
Звичайно, у бота вони також є. З ними можна виконувати деякі дії.
|
||
|
||
* `--move-sent` - дозволяє перемістити всі надіслані файли з черги до папки надісланих
|
||
* `--cleanup` - очистити файли в папках `queue` і `sent`, якщо вони вже надіслані. Потрібен аргумент `--confirm`
|
||
* `--cleanup-index` - видалити всі надіслані записи з індексу. Потрібен аргумент `--confirm`
|
||
* `--norun` - дозволяє виконувати наведені вище аргументи, не запускаючи самого бота
|
||
|
||
Приклади:
|
||
|
||
* `python3 ./main.py --move-sent --norun`
|
||
* `python3 ./main.py --cleanup --confirm`
|
||
|
||
## Локалізація
|
||
|
||
Бот може використовувати різні мови. Є деякі попередньо встановлені (Англійська та Українська), однак Ви можете додавати свої власні локалізації теж.
|
||
|
||
Всі файли локалізації знаходяться у папці `locale`, якщо в конфігураційному файлі не вказано іншу. Просто скопіюйте цікавлячий Вас файл, назвіть його відповідно до [тегів мови IETF](https://en.wikipedia.org/wiki/IETF_language_tag) (якщо Ви хочете, щоб переклад був сумісним з перекладами Telegram) або просто вкажіть свою власну назву. Збережіть свій переклад як json файл і все готово. Якщо ви хочете змінити мову за замовчуванням для повідомлень самого бота, які не можуть визначити мову адміністратора, відредагуйте параметр `"locale"` у `config.json`. Якщо ця мова недоступна, замість неї буде використано `"locale_fallback"`. Якщо обидві мови недоступні - буде показано помилку. Для зміни мови виведення консолі та логування вам слід відредагувати `"locale_log"`.
|
||
|
||
Ми рекомендуємо вносити будь-які зміни лише до вашої окремої мови. Або, принаймні, завжди мати резервну копію, наприклад, `en.json` як запасний варіант.
|