2020-06-29 01:40:01 +00:00
# Greed
2020-03-01 22:51:35 +00:00
2020-09-07 16:18:26 +00:00
A [customizable ](/config/template_config.ini ), [multilanguage ](/greedbot/strings ) Telegram shop bot with [Telegram Payments support ](https://core.telegram.org/bots/payments )!
2018-05-03 06:48:31 +00:00
2020-06-29 01:40:01 +00:00
## 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.
2020-07-01 00:08:59 +00:00
## Screenshots
![](https://i.imgur.com/FdT2tRV.png)
![](https://i.imgur.com/rDYWdUB.png)
![](https://i.imgur.com/9plMzO6.png)
2018-05-03 06:48:31 +00:00
## Requirements
2020-03-01 22:51:35 +00:00
2020-04-23 15:50:51 +00:00
* [Python 3.6 (or higher) ](https://www.python.org/ )
2018-05-03 06:48:31 +00:00
* The packages specified in `requirements.txt` (install with `pip install -r requirements.txt` )
2018-07-01 14:57:27 +00:00
* An Internet connection
2018-05-03 06:48:31 +00:00
* A Telegram bot token (obtainable at [@Botfather ](https://t.me/Botfather ))
2018-07-01 14:57:27 +00:00
* A payment provider token (obtainable by [connecting a provider with your bot ](https://t.me/Botfather ))
2020-04-23 15:50:51 +00:00
* _Optional: a [git client ](https://git-scm.com/ )_
2018-05-03 06:48:31 +00:00
* _Optional: a [sentry.io ](https://sentry.io ) token_
2020-06-29 01:47:13 +00:00
Consider renting a VPS to host the bot on; a cheap one should do, as greed is pretty lightweight! :)
2020-06-29 01:40:01 +00:00
2018-05-03 06:48:31 +00:00
## Installation
2020-03-01 22:51:35 +00:00
2020-06-29 01:40:01 +00:00
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.
2018-05-03 06:48:31 +00:00
## Usage
2020-03-01 22:51:35 +00:00
2020-06-29 01:40:01 +00:00
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.
2018-05-03 06:48:31 +00:00
Users will be able to add credit to their wallet, place orders and contact you in case they require assistance.
2019-10-20 17:14:14 +00:00
2020-04-07 22:03:33 +00:00
## Updating
2020-06-29 01:40:01 +00:00
To update the bot, run the following commands:
2020-04-07 22:03:33 +00:00
2020-06-29 01:40:01 +00:00
```bash
2020-04-07 22:03:33 +00:00
git stash
git pull
git stash pop
```
2020-06-29 01:40:01 +00:00
## Documentation and help
2019-10-20 17:14:14 +00:00
2020-06-29 01:40:01 +00:00
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.
2020-03-01 22:51:35 +00:00
2020-06-29 01:40:01 +00:00
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.
2020-04-07 21:42:35 +00:00
2020-09-07 16:18:26 +00:00
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` ](greedbot/worker.py ) file, so try to have a look there.
2020-04-07 21:42:35 +00:00
2020-03-01 22:51:35 +00:00
## Forks
2020-06-29 01:40:01 +00:00
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.
2020-03-01 22:51:35 +00:00
### Bitcoin - Blockonomics
2020-06-29 01:40:01 +00:00
[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/ ).