Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lorcalhost/BTB-manager-telegram
A feature packed but easy-to-use Telegram bot for remotely managing Binance Trade Bot instances
https://github.com/lorcalhost/BTB-manager-telegram
binance binance-trade-bot btb-manager-telegram telegram-bot trading
Last synced: 3 months ago
JSON representation
A feature packed but easy-to-use Telegram bot for remotely managing Binance Trade Bot instances
- Host: GitHub
- URL: https://github.com/lorcalhost/BTB-manager-telegram
- Owner: lorcalhost
- License: mit
- Created: 2021-03-28T15:23:23.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-27T01:57:35.000Z (over 1 year ago)
- Last Synced: 2024-06-28T06:31:09.813Z (5 months ago)
- Topics: binance, binance-trade-bot, btb-manager-telegram, telegram-bot, trading
- Language: Python
- Homepage:
- Size: 651 KB
- Stars: 387
- Watchers: 27
- Forks: 159
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Binance Trade Bot Manager Telegram
A Telegram bot for remotely managing Edendg23's [Binance Trade Bot](https://github.com/edeng23/binance-trade-bot) and its forks ([Idkravitz's](https://github.com/idkravitz/binance-trade-bot), [Tntwist's](https://github.com/tntwist/binance-trade-bot), [MasaiasuOse's](https://github.com/MasaiasuOse/binance-trade-bot) being the major forks).
This program aims to be an easy way of managing Binance Trade Bot so that I wouldn't have to constantly ssh into my VPS, and my non-techy friends could enjoy the benefits of automated trading.
This program supports only Linux and WSL. Other distributions (BSD, MacOS, Windows, ...) are unmainted and support is not currently planned and is supposed to run 24/7. If you can't have a long running computer on linux, you can use a free VPS, such as Oracle Cloud's.
## Manual install
**Python 3.7, 3.8 or 3.9** is required.### 0 - Create a dedicated folder
Create a dedicated directory for the binance trade bot and the present manager. In this tutorial, we will be using **as an example** the folder `~/trading-bot`:
```bash
cd ~
mkdir trading-bot
```### 1 - Install binance trade bot.
Choose the fork you want to use. The main one ([Edendg23's](https://github.com/edeng23/binance-trade-bot)) is fine to go with.Place youself in the previously created directory, e.g.:
```bash
cd ~/trading-bot
```Then follow the install instruction given on the binance-trade-bot's readme. **Setup telegram bot during the install of binance-trade-bot (see the section `Notifications with Apprise` in the README)**
Once the binance-trade-bot has been installed, make sure everything is properly installed : the following commands should yeild no errors.
```
cd ~/trading-bot
ls binance-trade-bot/binance_trade_bot/__main__.py
ls binance-trade-bot/config/apprise.yml
```### 2 - Install the telegram manager next to the binance trade bot
As always, place youself in the install directory, e.g.:
```bash
cd ~/trading-bot
```Then, run the following lines:
```console
git clone https://github.com/lorcalhost/BTB-manager-telegram.git
cd BTB-manager-telegram
python3 -m pip install -r requirements.txt
```## Other Install Methods
### Automated Install
For an automated install, please refer to [Enriko82's Install Script](https://github.com/Enriko82/BTB-Install-script)### Docker Install
**This method is discouraged as it is no longer maintained.**
*If you crave to contain the bot and its manager, you can always use python's virtual environments.*
However, you can still find a docker setup guide [here](./docs/docker-setup.md).## Usage
As the telegram bot is launching itself the **Binance Trade Bot**, you only have to start the **BTB Manager Telegram** like so:```console
python3 -m btb_manager_telegram
```If the bot is running on a server you may want to keep it running even after ssh connection is closed by using nohup. Note the trailing "&" :
```console
nohup python3 -m btb_manager_telegram &
```However, you can run the bot with options :
```console
# Autostart the Binance Trade Bot when the BTB Manager starts
# (Otherwise you will have to manually start the Binance Trade Bot from telegram)
python3 -m btb_manager_telegram -s# Use the french translation. Available translation : en, ru, fr, de, nl, es, id, cn, pt
python3 -m btb_manager_telegram -l fr# Make possible to plot the bot's performance in EUR instead of USD
python3 -m btb_manager_telegram -u EUR# If using other currencies than USD or EUR, for example GBP, you will have to provide
# an openexchangerates API key, see the flag --oer_key.
# Get you key here : https://openexchangerates.org/signup/free
python3 -m btb_manager_telegram -u GBP -o OPENEXCHANGERATES_KEY# Of course you can combine all of this!
python3 -m btb_manager_telegram -s -l fr -u EUR# Using nohup with options
nohup python3 -m btb_manager_telegram -s -l fr -u EUR &# See all available options
python3 -m btb_manager_telegram --help
```## Stopping the bot
If the trade bot has been launched with the telegram bot, stopping the telegram bot will stop the trade bot.- If the telegram bot has been launched **without** `nohup`, closing the terminal or pressing `CTRL + C` will stop the bot.
- If the telegram bot has been launched **with** `nohup`, the bot can be stopped with the command `kill $(cat btbmt.pid)` (no animal will be hurt in this operation). If this command respond the file `btbmt.pid`, it his very likely the telegram bot is no longer running.
## Manual upgrade
First of, stop the telegram bot.
```console
git pull
python3 -m pip install --upgrade -r requirements.txt
```
You can now reboot the telegram bot.## Additional notes
### Custom scripts
This bot supports custom scripts in a plugin manner. An extensive documentation on customs scripts is available [here](./docs/custom-scripts.md).### Telegram token and chat_id
Make sure that **Binance Trade Bot**'s `config/apprise.yml` file is correctly setup before running, the telegram manager retreives this file to connect the bot.If **Binance Trade Bot** and **BTB-Manager-Telegram** were **not** installed in the same parent directory or if `apprise.yml` is not setup or you want to use different `token` and `chat_id` from the ones in the `apprise.yml` file, you can set these two keys with the options `--token` and `--chat_id`
### Virtualenvs
If the Binance Trade Bot has its own python environment, that is not shared with the telegram manager, you have to specify the path of the python binary used by the trade bot with the option `--python_path`. For example, if you created a virtualenv specific to the binance trade bot in the folder `/home/user/trading_bot/binance-trade-bot/venv`, you have to run the telegram bot like so:
```console
python3 -m btb_manager_telegram --python_path /home/user/trading_bot/binance-trade-bot/venv/bin/python
```### Multiple bots
If you would like to run several **Binance Trade Bot** instances at the same time [click here](./docs/multiple-bots.md).### Compatibility
This program is fully compatible with **Linux** and **Windows** through **WSL** (*Windows Subsystem for Linux*).Severa known problems are present on **native Windows** and will not be asserted.
**MacOS** compatibility is unknown, but supposed to be good ad this system is close to **Linux**.
## Screenshots
Click here
## Contributions and feature requests
If you have any feature requests please [open an issue].
Contributions from anyone are welcome! Before opening pull requests please read the [contributing guidelines].
## Disclaimer
This project is for informational purposes only. You should not consider any
such information or other material as legal, tax, investment, financial, or
other advice. Nothing contained here constitutes a solicitation, recommendation,
endorsement, or offer by me or any third party service provider to buy or sell
any securities or other financial instruments in this or in any other
jurisdiction in which such solicitation or offer would be unlawful under the
securities laws of such jurisdiction.**If you plan to use real money, USE AT YOUR OWN RISK.**
Under no circumstances will I or the project's maintainers be held responsible or liable in any way for any claims, damages, losses, expenses, costs, or liabilities whatsoever, including, without limitation, any direct or indirect damages for loss of profits.
## Contributors ✨
Many people contributed to the project by providing ideas, finding bugs and helping in the development ([Emoji Key ✨](https://allcontributors.org/docs/en/emoji-key)).
This project follows the [all-contributors] specification.
Lorenzo Callegari 乐子睿
🚇 ⚠️ 💻 📖 🚧 🐛 🤔
Dmytro Litvinov
💻 🤔 🚧 🧑🏫
Heitor Ramon Ribeiro
🤔 🎨
NovusEdge
💻
Sachin S. Kamath
🤔 📖
Hoang Dinh
🐛
Dmitry Kravtsov
🤔 💻
Florian Sydekum
💻
Nico L.
🐛
SeriousSeal
💻
titulebolide
📖 🚧 👀 🐛 🌍 ⚠️ 🔧
Stephen Goult
🐛
Patrick Weingärtner
💻 🤔 🌍 📖
Federico Arredondo
🌍
MasaiasuOse
🌍 📖
phoenix-blue
🌍
neuhausj
💻
Santiago Caro Duque
🐛
Ivan Myronov
🌍
Hieu Nguyen
🐛
Riza Abdul Aziz
🌍
Kelecheck
🌍
kentuki
🌍
maromalo
🐛 💻
Ulllas Bharadwaj
🤔 💻 🐛
Ren Kasiyas
🌍
KevinTroyT
🌍
Timur
💻 🌍
Diogo Marques
🌍
stavsher
💻
[binance trade bot]: https://github.com/edeng23/binance-trade-bot
[wsl]: https://docs.microsoft.com/en-us/windows/wsl/install-win10
[troubleshooting]: ./docs/troubleshooting.md
[docker setup]: ./docs/docker-setup.md
[open an issue]: https://github.com/lorcalhost/BTB-manager-telegram/issues/new
[contributing guidelines]: ./CONTRIBUTING.md
[all-contributors]: https://github.com/all-contributors/all-contributors