7.8 KiB
TelegramPoster
⚠️ Українська версія 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).
-
Завантажте бота:
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 --norunpython3 ./main.py --cleanup --confirm
Локалізація
Бот може використовувати різні мови. Є деякі попередньо встановлені (Англійська та Українська), однак Ви можете додавати свої власні локалізації теж.
Всі файли локалізації знаходяться у папці locale, якщо в конфігураційному файлі не вказано іншу. Просто скопіюйте цікавлячий Вас файл, назвіть його відповідно до тегів мови IETF (якщо Ви хочете, щоб переклад був сумісним з перекладами Telegram) або просто вкажіть свою власну назву. Збережіть свій переклад як json файл і все готово. Якщо ви хочете змінити мову за замовчуванням для повідомлень самого бота, які не можуть визначити мову адміністратора, відредагуйте параметр "locale" у config.json. Якщо ця мова недоступна, замість неї буде використано "locale_fallback". Якщо обидві мови недоступні - буде показано помилку. Для зміни мови виведення консолі та логування вам слід відредагувати "locale_log".
Ми рекомендуємо вносити будь-які зміни лише до вашої окремої мови. Або, принаймні, завжди мати резервну копію, наприклад, en.json як запасний варіант.