2020-06-29 01:40:01 +00:00
# Greed
2020-03-01 22:51:35 +00:00
2020-04-07 22:03:33 +00:00
A [customizable ](/config/template_config.ini ), [multilanguage ](/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)
2020-09-10 21:13:09 +00:00
## Installation
This installation procedure assumes you are on a Linux system, using `bash` and have `python3.8` installed.
2020-03-01 22:51:35 +00:00
2020-09-10 21:13:09 +00:00
### Requirements
* [Git ](https://git-scm.com/ )
2020-04-23 15:50:51 +00:00
* [Python 3.6 (or higher) ](https://www.python.org/ )
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 ))
2018-05-03 06:48:31 +00:00
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
2020-09-10 21:13:09 +00:00
### Steps
2020-06-29 01:40:01 +00:00
1. Download the project files by running:
```bash
git clone https://github.com/Steffo99/greed.git
```
2020-09-10 21:13:09 +00:00
2. Enter the newly created folder:
```bash
cd greed
```
2020-06-29 01:40:01 +00:00
2020-09-10 21:13:09 +00:00
3. Create a new virtualenv:
2020-06-29 01:40:01 +00:00
```bash
2020-09-10 21:13:09 +00:00
python3.8 -m venv venv
2020-06-29 01:40:01 +00:00
```
2020-09-10 21:13:09 +00:00
4. Activate the virtualenv:
2020-06-29 01:40:01 +00:00
```bash
source venv/bin/activate
```
2020-09-10 21:13:09 +00:00
5. Install the project requirements:
2020-06-29 01:40:01 +00:00
```bash
pip install -r requirements.txt
```
2020-09-10 21:13:09 +00:00
6. _Optional:_ For colored console output, install [coloredlogs ](https://pypi.org/project/coloredlogs/ ):
2020-06-29 01:40:01 +00:00
```bash
pip install coloredlogs
```
2020-09-10 21:13:09 +00:00
7. Generate the configuration file:
2020-06-29 01:40:01 +00:00
```bash
python -OO core.py
```
2020-09-10 21:13:09 +00:00
8. Edit the configuration file, adding your bot and payment tokens to it:
2020-06-29 01:40:01 +00:00
```bash
2020-09-10 21:13:09 +00:00
nano config/config.toml
2020-06-29 01:40:01 +00:00
```
2020-09-10 21:13:09 +00:00
(Press **Ctrl+X** and then two times **Enter** to save and quit `nano` .)
2020-06-29 01:40:01 +00:00
9. _Optional:_ customize the files in the `strings` folder for custom messages.
10. Start the bot:
```bash
python -OO core.py
```
2020-09-10 21:13:09 +00:00
11. Open Telegram, and send a `/start` command to your bot to be automatically promoted to 💼 Manager.
12. Stop the bot by pressing **Ctrl+C** .
### Running the bot
After the installation, to run the bot, you'll need to:
1. Activate the virtualenv (if it's not already activated in the current console session):
```bash
source venv/bin/activate
```
2. Start the bot:
```bash
python -OO core.py
```
### Keep the bot running
If you want to keep the bot open even after you closed your terminal window, you'll need to use some external program.
Some of them are:
- `screen`
- `systemd`
- `nohup`
#### `screen`
2020-06-29 01:40:01 +00:00
2020-09-10 21:13:09 +00:00
1. Open a `screen` that will be running the bot with the following command:
2020-06-29 01:40:01 +00:00
```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-06-29 01:40:01 +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` ](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/ ).