Table of Contents
This installation procedure assumes you are on a Linux system, using bash and have python3 installed.
Requirements
- Git
- Python 3.8 (or higher)
- An Internet connection
- A Telegram bot token (obtainable at @Botfather)
- A payment provider token (obtainable by connecting a provider with your bot)
Consider renting a virtual private server (VPS) to host the bot on; a cheap one should do, as greed is pretty lightweight! :)
Steps
-
Download the project files by running:
$ git clone https://github.com/Steffo99/greed.git -
Enter the newly created folder:
$ cd greed -
Create a new venv:
$ python3 -m venv venv -
Activate the venv:
$ source venv/bin/activate -
Install the project requirements:
$ pip install -r requirements.txt -
Optional: For colored console output, install coloredlogs:
$ pip install coloredlogs -
Generate the configuration file:
$ python -OO core.py -
Edit the configuration file
config.toml, adding your bot and payment tokens to it:$ nano config/config.toml(Press Ctrl+X and then two times Enter to save and quit
nano.)Beware to not enter your configuration in the
template_config.tomlfile, as it will be ignored and may cause trouble when updating. -
Optional: customize the files in the
stringsfolder for custom messages. -
Start the bot:
$ python -OO core.py -
Open Telegram, and send a
/startcommand to your bot to be automatically promoted to 💼 Manager. -
Stop the bot by pressing Ctrl+C.
Running the bot
After the installation, to run the bot, you'll need to:
-
Activate the venv (if it has not already been activated in the current console session):
$ source venv/bin/activate -
Start the bot:
$ 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 an external program, such as:
screen(easier, but doesn't restart automatically)systemd(recommended, but more complex)
screen
- Open a
screenthat will be running the bot with the following command:To safely detach the screen, press Ctrl+A and then Ctrl+D.$ screen venv/bin/python -OO core.py
systemd
Assuming you downloaded greed in /srv/greed:
-
Create a new user named
greed:$ useradd greed --system -
Give ownership of the greed folder you downloaded earlier to the
greeduser:$ chown -R greed: /srv/greed -
Create a new file in
/etc/systemd/systemnamedbot-greed.servicewith the following contents:[Unit] Name=bot-greed Description=Greed Bot Wants=network-online.target After=network-online.target nss-lookup.target [Service] Type=exec User=greed WorkingDirectory=/srv/greed ExecStart=/srv/greed/venv/bin/python -OO /srv/greed/core.py Environment=PYTHONUNBUFFERED=1 [Install] WantedBy=multi-user.target -
Start the
bot-greedservice:$ systemctl start bot-greed -
If everything goes well, enable the bot-greed service, so it will automatically start on a reboot:
$ systemctl enable bot-greed
Updating
To update the bot, run the following commands:
$ git stash
$ git pull
$ git stash pop
If you're using an older version of greed, you may need to recreate the configuration, as greed doesn't use
config.inianymore and but usesconfig.tomlinstead.
Please respect my free time and do not contact me on Telegram for anything related to Greed.
I will not answer, and you might be blocked.
Use the appropriate communication channels instead.