7.7 KiB
TelegramPoster
Цей бот використовується для однієї-єдиної задачі - розміщувати фотографії з мого особистого архіву. Ось його код, тож Ви також можете захостити бота самостійно та розважитися з ним. Тільки не очікуйте, що він ідеальним. Не буде. Але гей, Ви завжди можете його доробити під себе ;)
Установка
Для запуску цього бота спочатку потрібно мати інтерпретатор Python та встановлений git. Google — Ваш друг у пошуках. Ви також можете ігнорувати git і просто завантажити код, також має спрацювати добре. Після цього Ви готові до встановлення.
У цьому README я вважаю, що Ви використовуєте python за замовчуванням у своїй системі і PATH Вашої системи містить його. Якщо Ваш python за замовчуванням є
python3
або, наприклад,/home/user/.local/bin/python3.9
- використовуйте його натомість. Якщо це нестандартний шлях до виконуваного файлу - Вам також слід змінити це у скриптах, які Ви використовуватимете (loop.sh
,loop.bat
,start.sh
таstart.bat
).
-
Завантажте бота:
git clone https://git.end-play.xyz/profitroll/TelegramSender.git
(якщо хочете використовувати git)cd ./TelegramSender
-
Встановіть залежності:
python -m pip install -r requirements.txt
Без їх установки бот не зможе працювати взагалі -
Встановіть додаткові залежності [Не обов'язково]:
python -m pip install -r requirements-optional.txt
Вони не є обов’язковими, але можуть прискорити роботу бота -
Налаштуйте свого бота за допомогою текстового редактора:
nano config.json
Ви можете редагувати за допомогою vim, nano, у Windows це Notepad або Notepad++. На Ваш смак.
Якщо Ви не знаєте, де знайти bot_token і свій ідентифікатор, тут Ви можете знайти кілька підказок: отримати токен бота, отримати свій ідентифікатор, отримати api_hash і api_id.
Також не забудьте змінити режим роботи бота. Ключ"mode"
має в собі ключі"post"
та"submit"
, кожен з який може бутиtrue
абоfalse
. -
Додайте бота на канал:
Звичайно, щоб використовувати свого бота, Вам потрібно мати канал або групу, інакше немає сенсу мати такого бота. Тут Ви можете знайти короткий гайд, як додати свого бота до каналу. -
Заповніть папку вмістом:
Звичайно, бот не може опублікувати щось із нічого. Налаштуйте свійconfig.json
, які медіа-типи бот повинен публікувати ("posting", "extensions"
), коли їх публікувати ("posting", "time"
), а також де їх знайти ("locations"
). Ви також можете переміщати їх після надсилання, встановивши для"posting", "move_sent"
значенняtrue
. -
Готово, запускайте!
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 (якщо Ви хочете, щоб переклад був сумісним з перекладами Telegram) або просто вкажіть свою власну назву. Збережіть свій переклад як json файл і все готово. Якщо ви хочете змінити мову за замовчуванням для повідомлень самого бота, які не можуть визначити мову адміністратора, відредагуйте параметр "locale"
у config.json
. Якщо ця мова недоступна, замість неї буде використано "locale_fallback"
. Якщо обидві мови недоступні - буде показано помилку. Для зміни мови виведення консолі та логування вам слід відредагувати "locale_log"
.
Ми рекомендуємо вносити будь-які зміни лише до вашої окремої мови. Або, принаймні, завжди мати резервну копію, наприклад, en.json
як запасний варіант.