dev #19

Merged
profitroll merged 98 commits from dev into master 2023-04-24 13:48:22 +03:00
2 changed files with 19 additions and 17 deletions
Showing only changes of commit ba5a0f116c - Show all commits

View File

@ -11,7 +11,11 @@ This bot is used for one and only task - post pictures from my personal archive.
## Dependencies ## Dependencies
For now bot requires [MongoDB](https://www.mongodb.com) and [PhotosAPI](https://git.end-play.xyz/profitroll/PhotosAPI) in order to function properly. Use [MongoDB's installation manual](https://www.mongodb.com/docs/manual/installation) and [Photos API's README](https://git.end-play.xyz/profitroll/PhotosAPI/src/branch/master/README.md) to install install them. * [Python 3.7+](https://www.python.org) (3.9+ recommended)
* [MongoDB](https://www.mongodb.com)
* [PhotosAPI](https://git.end-play.xyz/profitroll/PhotosAPI)
Use [MongoDB's installation manual](https://www.mongodb.com/docs/manual/installation) and [Photos API's README](https://git.end-play.xyz/profitroll/PhotosAPI/src/branch/master/README.md).
Please note that Photos API also requires MongoDB so it makes sense to install and configure Mongo first. Please note that Photos API also requires MongoDB so it makes sense to install and configure Mongo first.
@ -32,10 +36,10 @@ To make this bot run at first you need to have a Python interpreter, Photos API,
2. Download the bot: 2. Download the bot:
1. `git clone -b dev https://git.end-play.xyz/profitroll/TelegramPoster.git` (if you want to use git) 1. `git clone -b dev https://git.end-play.xyz/profitroll/TelegramPoster.git` (if you're using git)
2. `cd ./TelegramPoster` 2. `cd TelegramPoster`
3. Create virtual environment [Optional yet recommended]: 3. Create virtual environment [Optional]:
1. Install virtualenv module: `pip install virtualenv` 1. Install virtualenv module: `pip install virtualenv`
2. Create venv: `python -m venv env` 2. Create venv: `python -m venv env`
@ -44,12 +48,12 @@ To make this bot run at first you need to have a Python interpreter, Photos API,
4. Install project's dependencies: 4. Install project's dependencies:
`python -m pip install -r requirements.txt` `python -m pip install -r requirements.txt`
Without installing those - bot cannot work at all Without installing those - bot cannot work at all.
5. Install optional dependencies [Not required]: 5. Install optional dependencies [Optional]:
`python -m pip install -r requirements-optional.txt` `python -m pip install -r requirements-optional.txt`
These are not required but can make the bot run a bit faster These are not required but can make the bot run a bit faster.
6. Configure "bot" and "owner" with your favorite text editor: 6. Configure "bot" and "owner" with your favorite text editor:
@ -60,13 +64,13 @@ To make this bot run at first you need to have a Python interpreter, Photos API,
7. Configure database and API: 7. Configure database and API:
1. Configure database: 1. Configure database:
1. Change database host and port in keys `"database.host"` and `"database.port"`. For default local installation those will be `127.0.0.1` and `27017` respectively; 1. Change database host and port in keys `"database.host"` and `"database.port"`. For default local installation those will be `127.0.0.1` and `27017` respectively
2. Change database name to the one you like in `"database.name"`. It will be automatically created on start; 2. Change database name to the one you like in `"database.name"`. It will be automatically created on start
3. If you've changed user and password to access the db, you should also change `"database.user"` and `"database.password"` keys, otherwise leave them `null` (default). 3. If you've changed user and password to access the db, you should also change `"database.user"` and `"database.password"` keys, otherwise leave them `null` (default).
2. Configure Photos API: 2. Configure Photos API:
1. Change `"posting.api.address"` to the one your API servers uses; 1. Change `"posting.api.address"` to the one your API servers uses
2. Run your bot using `python ./poster.py --create-user --create-album` to configure its new user and album. You can also use manual user and album creation described [in the wiki](https://git.end-play.xyz/profitroll/TelegramPoster/wiki/Configuring-API). You can also change username, password and album in`"posting.api"` to the user and album you have if you already have Photos API album and user set up. In that case you don't need to create a new one. 2. Run your bot using `python poster.py --create-user --create-album` to configure its new user and album. You can also use manual user and album creation described [in the wiki](https://git.end-play.xyz/profitroll/TelegramPoster/wiki/Configuring-API). You can also change username, password and album in`"posting.api"` to the user and album you have if you already have Photos API album and user set up. In that case you don't need to create a new one.
8. Add bot to the channel: 8. Add bot to the channel:
@ -78,7 +82,7 @@ To make this bot run at first you need to have a Python interpreter, Photos API,
10. Good to go, run it! 10. Good to go, run it!
Make sure MongoDB and Photos API are running and use `python ./poster.py` to start it. Make sure MongoDB and Photos API are running and use `python poster.py` to start it.
Or you can also use `.\start.bat` on Windows and `bash ./start.sh` on Linux. 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. 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.
@ -93,13 +97,12 @@ Of course bot also has them. You can perform some actions with them.
Examples: Examples:
* `python ./poster.py --create-user` * `python poster.py --create-user`
* `python ./poster.py --create-user --create-album` * `python poster.py --create-user --create-album`
## Tips and improvements ## Tips and improvements
* It's better to use virtual environments in most of production cases so there's also [a tutorial how to put your bot into venv](https://git.end-play.xyz/profitroll/TelegramPoster/wiki/Configuring-Virtual-Environment) and use it inside the virtual environment; * You may want to configure your bot to work as a systemd service instead. There's [a tutorial for that](https://git.end-play.xyz/profitroll/TelegramPoster/wiki/Configuring-Service) in the wiki.
* You may also want to configure your bot to work as a systemd service instead. There's [a tutorial for that](https://git.end-play.xyz/profitroll/TelegramPoster/wiki/Configuring-Service) in the wiki.
## Localization ## Localization

View File

@ -1 +0,0 @@
# Configuring virtual environment