From cb909599ecb3c05a3c1492a53d258d24e6fd4bb2 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Mon, 29 Jun 2020 03:40:01 +0200 Subject: [PATCH] Update the README --- README.md | 112 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 84 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 1b8b620..713d960 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,15 @@ -# greed +# Greed A [customizable](/config/template_config.ini), [multilanguage](/strings) Telegram shop bot with [Telegram Payments support](https://core.telegram.org/bots/payments)! ![](https://img.shields.io/badge/version-beta-blue.svg) +## Demo + +Send a message to [@greedtestbot](https://t.me/greedtestbot) on Telegram to view a demo of the bot in action! + +Use the special credit card number `4242 4242 4242 4242` to add unlimited credit to your account. + ## Requirements * [Python 3.6 (or higher)](https://www.python.org/) @@ -14,53 +20,103 @@ A [customizable](/config/template_config.ini), [multilanguage](/strings) Telegra * _Optional: a [git client](https://git-scm.com/)_ * _Optional: a [sentry.io](https://sentry.io) token_ +Consider renting a VPS to host the bot on + ## Installation -1. Download the project files through `git clone https://github.com/Steffo99/greed.git` (recommended) or [this link](https://github.com/Steffo99/greed/archive/master.zip). -2. Install the project requirements with `pip install -r requirements.txt` -3. _Optional: run `pip install coloredlogs` to have colored logging output._ -3. Run `python -OO core.py` to generate the configuration file. -4. Open the config folder and edit the `config.ini` file following the contained instructions. -Ensure the `is_template` field is set to `no`. -5. Run `python -OO database.py` to generate the database tables. -6. _Optional: customize the `strings.py` file_ -7. Run `python -OO core.py` again to run the bot. -8. Open Telegram, and send a `/start` command to your bot to be promoted to administrator. +This installation procedure assumes you have `python3.8` installed on an Ubuntu server. If you have a different version installed, + +1. Download the project files by running: + ```bash + git clone https://github.com/Steffo99/greed.git + ``` + +2. Create a new virtualenv: + ```bash + virtualenv -p python3.8 venv + ``` + +3. Activate the virtualenv: + ```bash + source venv/bin/activate + ``` + +4. Install the project requirements: + ```bash + pip install -r requirements.txt + ``` + +5. _Optional:_ For colored output, install [coloredlogs](https://pypi.org/project/coloredlogs/): + ```bash + pip install coloredlogs + ``` + +6. Generate the configuration file: + ```bash + python -OO core.py + ``` + +7. Edit the configuration file to your preferences: + ```bash + nano config/config.ini + ``` + Ensure the `is_template` field is set to `no`. + Press **Ctrl+X** and then two times **Enter** to save and quit. + +8. Generate the database: + ```bash + python -OO database.py + ``` + +9. _Optional:_ customize the files in the `strings` folder for custom messages. + +10. Start the bot: + ```bash + python -OO core.py + ``` + +11. Open Telegram, and send a `/start` command to your bot to be promoted to 💼 Manager. + +12. _Optional:_ Stop the bot, and start it in a `screen` so it can keep running even after you close the console window: + ```bash + screen venv/bin/python -OO core.py + ``` + To safely detach the screen, press Ctrl+A and then Ctrl+D. ## Usage -All the bot features are available through Telegram. -As the administrator, you can add new products, check the placed orders, create new transactions and generate .csv log files. +All features can be accessed through the Telegram bot chat. + +As a 💼 Manager, you can add new products, check the placed orders, create new transactions and generate .csv log files. +You can also add additional 💼 Managers. + Users will be able to add credit to their wallet, place orders and contact you in case they require assistance. ## Updating -### Through `git` +To update the bot, run the following commands: -If you downloaded `greed` through `git`, you can update it by running: - -``` +```bash git stash git pull git stash pop ``` -### By redownloading the zip file - -If you downloaded `greed` through the zip archive, you can update it by redownloading [the latest version](https://github.com/Steffo99/greed/archive/master.zip) and by moving your `config.ini` and `database.sqlite` (if applicable) files to the new folder. - -## Documentation - -`greed` currently does not have a documentation page, but you can try to read the [paper](https://docs.google.com/document/d/1f4MKVr0B7RSQfWTSa_6ZO0LM4nPpky_GX_qdls3EHtQ/edit?usp=sharing) (in Italian) I wrote for my final Scuola Superiore exam about it. - -## Help! +## Documentation and help If you find a bug, have an idea for a new feature or just require help with `greed`, please [post an issue](https://github.com/Steffo99/greed/issues/new) on GitHub, or, if GitHub is blocked in your country, join [the Telegram group](https://t.me/greed_project) and send a message there. +If you can read Italian, you can try to read the [paper](https://docs.google.com/document/d/1f4MKVr0B7RSQfWTSa_6ZO0LM4nPpky_GX_qdls3EHtQ/edit?usp=sharing) I wrote about greed for my final High School exam. + +If you are proficient in Python, you can also try reading the code. Most of the bot interactions can be found in the [`worker.py`](worker.py) file, so try to have a look there. + ## Forks -> Please note that @Steffo99, the developer of `greed`, does not endorse any of these forks. +Some people made a copy of Greed and added or changed some things to it (they made a _fork_). +These forks are listed below. + +> Please note that @Steffo99, the main developer of `greed`, does not endorse any of these forks. ### Bitcoin - Blockonomics -[DarrenWestwood](https://github.com/DarrenWestwood) is currently maintaining a [`greed`](https://github.com/DarrenWestwood/greed) fork with **Bitcoin support** through [Blockonomics](https://www.blockonomics.co/). +[DarrenWestwood](https://github.com/DarrenWestwood) is currently maintaining a [`greed`](https://github.com/DarrenWestwood/greed) fork adding **Bitcoin support** through [Blockonomics](https://www.blockonomics.co/).