51 lines
3.4 KiB
Markdown
51 lines
3.4 KiB
Markdown
# TelegramPoster
|
||
This bot is used for one and only task - post pictures from my personal archive. Here's its source code so you can also host a bot and have fun with it. Just don't exepect it to be brilliant. It is not. But hey, you can always fork it ;)
|
||
Шукаєш інструкцію українською? А вона [ось тут](https://git.profitroll.eu/profitroll/TelegramPoster/src/branch/master/README_uk.md) знаходиться)
|
||
|
||
## Installation
|
||
To make this bot run at first you need to have a Python interpreter and git. Google is your friend finding it. You can also ignore git and simply download source code, should also work fine. After that you're ready to go.
|
||
|
||
> In this README I assume that you're using default python in your
|
||
> system and your system's PATH contains it. If your default python
|
||
> is `python3` or for example `/home/user/.local/bin/python3.9` - use it instead.
|
||
> If it's non-standart executable path - you should also change
|
||
> it in scripts you will use (`loop.sh`, `loop.bat`, `start.sh` and `start.bat`).
|
||
|
||
1. Download the bot:
|
||
1. `git clone https://git.end-play.xyz/profitroll/TelegramSender.git` (if you want to use git)
|
||
2. `cd ./TelegramSender`
|
||
|
||
2. Install dependencies:
|
||
`python -m pip install -r requirements.txt`
|
||
Without installing those - bot cannot work at all
|
||
|
||
3. Install optional dependencies [Not required]:
|
||
`python -m pip install -r requirements-optional.txt`
|
||
These are not required but can make the bot run a bit faster
|
||
|
||
4. Configure your bot with a favorite text editor:
|
||
`nano config.json`
|
||
You can edit with vim, nano, on Windows it's Notepad or Notepad++. Whatever.
|
||
If you don't know where to find bot_token and your id - here you can find some hints: [get bot token](https://www.siteguarding.com/en/how-to-get-telegram-bot-api-token), [get your id](https://www.alphr.com/telegram-find-user-id/), [get api_hash and api_id](https://core.telegram.org/api/obtaining_api_id).
|
||
|
||
5. Add bot to the channel:
|
||
To use your bot of course you need to have a channel or group otherwise makes no sense to have such a bot. [Here](https://stackoverflow.com/a/33497769) you can find a quick guide how to add your bot to a channel.
|
||
|
||
6. Fill your contents folder:
|
||
Of course bot cannot post something from nothing. Configure your `config.json` what media types bot should post (`"posting", "extensions"`), when to post them (`"posting", "time"`) and also where to find them (`"locations"`). You can also move them when sent by setting `"posting", "move_sent"` to `true`.
|
||
|
||
6. Good to go, run it!
|
||
`python ./main.py`
|
||
Or you can also use `.\start.bat` on Windows and `bash ./start.sh` on Linux.
|
||
Additionally there are `loop.sh` and `loop.bat` available if you want your bot to start again after being stopped or after using `/reboot` command.
|
||
|
||
## Command line arguments
|
||
Of course bot also has them. You can perform some actions with them.
|
||
* `--move-sent` - allows you to move all sent files from queue to sent directories
|
||
* `--cleanup` - purge files in both `queue` and `sent` folders if they're sent. Requires `--confirm` argument
|
||
* `--cleanup-index` - purge all sent entries from index. Requires `--confirm` argument
|
||
* `--norun` - allows you to execute above arguments without triggering the bot start itself
|
||
|
||
Examples:
|
||
* `python3 ./main.py --move-sent --norun`
|
||
* `python3 ./main.py --cleanup --confirm` |