.run | ||
alembic | ||
config | ||
strings | ||
.gitignore | ||
alembic.ini | ||
CONTRIBUTING.md | ||
core.py | ||
database.py | ||
duckbot.py | ||
LICENSE.txt | ||
localization.py | ||
nuconfig.py | ||
README.md | ||
requirements.txt | ||
utils.py | ||
worker.py |
Greed
A customizable, multilanguage Telegram shop bot with Telegram Payments support!
Demo
Send a message to @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.
Screenshots
Requirements
- Python 3.6 (or higher)
- The packages specified in
requirements.txt
(install withpip install -r requirements.txt
) - An Internet connection
- A Telegram bot token (obtainable at @Botfather)
- A payment provider token (obtainable by connecting a provider with your bot)
- Optional: a git client
- Optional: a sentry.io token
Consider renting a VPS to host the bot on; a cheap one should do, as greed is pretty lightweight! :)
Installation
This installation procedure assumes you have python3.8
installed on an Ubuntu server. If you have a different version installed,
-
Download the project files by running:
git clone https://github.com/Steffo99/greed.git
-
Create a new virtualenv:
virtualenv -p python3.8 venv
-
Activate the virtualenv:
source venv/bin/activate
-
Install the project requirements:
pip install -r requirements.txt
-
Optional: For colored output, install coloredlogs:
pip install coloredlogs
-
Generate the configuration file:
python -OO core.py
-
Edit the configuration file to your preferences:
nano config/config.ini
Ensure the
is_template
field is set tono
.
Press Ctrl+X and then two times Enter to save and quit. -
Generate the database:
python -OO database.py
-
Optional: customize the files in the
strings
folder for custom messages. -
Start the bot:
python -OO core.py
-
Open Telegram, and send a
/start
command to your bot to be promoted to 💼 Manager. -
Optional: Stop the bot, and start it in a
screen
so it can keep running even after you close the console window:screen venv/bin/python -OO core.py
To safely detach the screen, press Ctrl+A and then Ctrl+D.
Usage
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
To update the bot, run the following commands:
git stash
git pull
git stash pop
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 on GitHub, or, if GitHub is blocked in your country, join the Telegram group and send a message there.
If you can read Italian, you can try to read the paper 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
file, so try to have a look there.
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 is currently maintaining a greed
fork adding Bitcoin support through Blockonomics.