1
0
Fork 0
This bot is used for one and only task - post pictures from my personal archive. https://t.me/prashuryashur
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

7.3 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).

  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 і свій ідентифікатор, тут Ви можете знайти кілька підказок: отримати токен бота, отримати свій ідентифікатор, отримати api_hash і api_id.
    Також не забудьте змінити режим роботи бота. Ключ "mode" має в собі ключі "post" та "submit", кожен з який може бути true або false.

  5. Додайте бота на канал:
    Звичайно, щоб використовувати свого бота, Вам потрібно мати канал або групу, інакше немає сенсу мати такого бота. Тут Ви можете знайти короткий гайд, як додати свого бота до каналу.

  6. Заповніть папку вмістом:
    Звичайно, бот не може опублікувати щось із нічого. Налаштуйте свій config.json, які медіа-типи бот повинен публікувати ("posting", "extensions"), коли їх публікувати ("posting", "time"), а також де їх знайти ("locations"). Ви також можете переміщати їх після надсилання, встановивши для "posting", "move_sent" значення true.

  7. Готово, запускайте!
    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 як запасний варіант.