Free python/telegram bot for easy execution and surveillance of crypto trading plans on multiple exchanges.

Overview

GitHub PyPi Docker

Docker Pulls GitHub repo size in bytes GPLv3 license GitHub last commit GitHub top language GitHub issues

EazeBot

Introduction

  • Have you ever traded cryptocurrencies and lost overview of your planned buys/sells?
  • Have you encountered the experience that your buy order was executed while you slept, and before you could place any stop-loss, the price rushed so deep that you made huge loss?
  • Have you ever complained about that there is no exchange where you can set for one and the same coin a sell order and a stop-loss at the same time?
  • Have you ever had a really good trading plan but then you got greedy or anxious and messed it up?

Then EazeBot is your man!

EazeBot is a free Python-based Telegram bot that helps you defining an unlimited number of trade sets that will then be carried out for you via exchange APIs. Such a trade set is consisting of buy/sell levels and amounts and an optional stop-loss level. EazeBot lets you check the progress of your tradings, tells you about filled orders and triggered stop losses, and can tell your balances. Breakout trading (set buy order if daily candle closes over price X) are supported, too.

Most importantly: All popular exchanges are supported! (for supported exchanges see here)

Installation

There are different ways to install EazeBot. We recommend using Docker as this guarantees system- independent compatibility.

After the next steps, no matter if you are on Windows or Linux/Mac, you should have at least a "user_data" folder in your target folder containing two json files (APIs.json and botConfig.json). Under Windows there are additional bat files for easier execution.

With docker

You require Docker to be installed on your system.

  1. Create a new folder for EazeBot

  2. Download (right click, save link as) this File to that folder.

  3. Open a terminal, cd to your EazeBot directory and run

     docker-compose run --rm eazebot --init
    

With Pip

You require Python 3.6 or higher to be installed on your system.

Windows

We simplified installation/configuration of the bot on Windows:

  1. Simply download (right click, save link as) this File ) and put the file in a folder, where you wish EazeBot files to be installed.
  2. Then execute it.

Linux/Mac

  1. The simpliest and recommended way of installing EazeBot is using the pip install command:

     sudo python3 -m pip install eazebot
    
  2. You then need to copy the configuration files to some folder. Here is an example to make a folder in your home directory and copy the files there:

     sudo mkdir ~/eazebot
     cd ~/eazebot
     python3 -m eazebot --init"
    

Getting Started

After installation of EazeBot you have to set up the bot so that you can control him via Telegram and that he can access your exchanges.

Obtain the necessary configuration tokens and keys

For this the following steps are necessary:

  1. Create a Telegram bot token using @botfather

    • This sounds complicated but is rather simple. Start a chat with Botfather on Telegram and follow these instructions. The token you get in the end is needed during EazeBot configuration.
  2. Get your Telegram ID

    • Your Telegram ID is needed during EazeBot configuration, too. It ensures that only you are able to control the bot via Telegram. The Telegram ID is (normally) a 9-digit number.
    • If you do not know it, you can talk to the userinfobot.
  3. Create API keys for each exchange you want to access via EazeBot

    • Please refer on your exchange on how to create an API token.
    • Some exchanges allow you to determine what you can do with the created API token (e.g. read-only or no withdrawing etc.). Of course, EazeBot bot needs the permission to set and cancel orders for you and to fetch your balance in order to work properly. Also, if you want to use the built-in donation feature, it needs the right to withdraw.
    • Normally, once you created an API token, you will see an API key and an API secret (sometimes also called private key). This information is needed during EazeBot configuration, so save it temporarily somewhere.
    • Some exchanges also have more security factors, like a API password (not your exchange login password!)or an uid. If existent, please temporarily save this information as you will need it for EazeBot configuration, too.

Interactive configuration

With docker

Run the following command in your EazeBot folder:

docker-compose run --rm eazebot --config

With pip / others

Run the following command in your EazeBot folder:

python3 -m eazebot --config"

Manual configuration

We recommend the interactive configuration, as editing the json files in the wrong way may lead to EazeBot not being functional! However, here is how you can configure EazeBot manually (all json files are located in the user_data folder within your EazeBot folder, assuming you have installed EazeBot correctly):

  • The Telegram bot token needs to be inserted into the botConfig.json file: Replace the PLACEHOLDER text to the right of the telegramAPI key (keep the quotation marks!).
  • Your Telegram ID needs to be inserted into the botConfig.json file: Replace the PLACEHOLDER text to the right of the telegramUserId key (keep the quotation marks!).
  • Each API key information needs to be inserted into the APIs.json between the brackets in the following format:
    {
    "exchange": "xxx",
    "key": "xxx",
    "secret": "xxx",
    "password": "xxx",
    "uid": "xxx"
    }
    • The value under exchange needs to be in lower case and be one of the exchanges supported by ccxt (i.e. a value from the id column).
    • As mentioned above, password and uid are only necessary on some exchanges. If not available, completely discard these lines.

Start EazeBot

Now you can run the bot and start a conversation via Telegram.**

  • On Windows, double-click on startBot.bat in your EazeBot folder.
  • On Linux/Mac use the terminal, go to your EazeBot folder and run this command:
python3 -m eazebot
  1. Thereafter you should start a conversation with your bot (see Token creation with bot father) on Telegram.
  2. The bot will welcome you and show you a menu of things you can do. Everything should be rather self-explanatory as the bot will have a dialog with you on everything you click.
  3. Enjoy!

Update EazeBot

From time to time you should update EazeBot:

  1. Stop EazeBot with Telegram by clicking on Settings in the main menu, then *Stop bot* and then confirm the stop dialog.
  2. The way of updating depends on your OS and installation:
    • Windows:
      • Double-clicking on updateBot.bat in your EazeBot folder
    • Linux/Mac:
  3. Restart the Bot

Help

We have added a Wiki with more details on installing and handling the bot. You may also open an issue if you encounter bugs or want to suggest improvements.

Versioning

For the versions available, see the tags on this repository.

Authors

  • Marcel Beining - Ground work - MBeining

License

You may copy, distribute and modify the software provided that modifications are described and licensed for free under LGPL-3. Derivatives works (including modifications or anything statically linked to the library) can only be redistributed under LGPL-3, but applications that use the library don't have to be. See the LICENSE and LICENSE.LESSER file for details

Features to be added

Depending on my time and/or putative incentives (donations), I plan to add the following features (any suggestions welcome):

  • add instant buy / sell
  • move profit into fiat after trade set finished
  • option to avoid flash crash SL triggering by checking e.g. after 5 min if SL is still reached.
  • add info to the trade set what the current gain/loss would be when price reaches SL
  • update the Wiki

Donations

If you want to support our project or simply want to say thank you for the profit you made with this bot, you can either use send your donation to one of the crypto addresses below, or use the built-in donation feature (Bot Info -> Donate button).

Currency Address
Bitcoin bc1q5wfzxdk3xhujs6589gzdeu6fgqpvqrel5jzzt2
ETH 0xE0451300D96090c1F274708Bc00d791017D7a5F3
Neo AaGRMPuwtGrudXR5s7F5n11cxK595hCWUg
XLM GCEAF5KYYUJSYPEDAWTZUBP4TE2LUSAPAFNHFSY54RA4HNLBVYOSFM6K
USDT (ERC20) 0x55b1be96e951bfce21973a233970245f728782f1
USDT (TRC20) TGTh3ts5sdhBnGDm9aacUHLmdryPnCa8HJ

New! Also accepting payments via beerpay 🍻 ! Beerpay

Want a new feature to be implemented to EazeBot? Beerpay

Thank you very much!

Owner
Marcel Beining
Marcel Beining
A Python wrapper around the OpenWeatherMap web API

PyOWM A Python wrapper around OpenWeatherMap web APIs What is it? PyOWM is a client Python wrapper library for OpenWeatherMap (OWM) web APIs. It allow

Claudio Sparpaglione 740 Dec 18, 2022
Popcorn-time-api - Python API for interacting with the Popcorn Time Servers

Popcorn Time API 📝 CONTRIBUTIONS Before doing any contribution read CONTRIBUTIN

Antonio 3 Oct 31, 2022
Trabalho N1 para a materia Tecnicas de Progamação da Anhembi Morumbi

Projeto da Anhembi Morumbi - Tecnicas de Programação. RPG de Console (CMD) Trabalho proposto pelo professor André Santana, na materia Tecnicas de Prog

Leonardo Silva M de Barros 3 Sep 12, 2021
EC2 that automatically move files received through FTP to S3

ftp-ec2-s3-cf EC2 that automatically move files received through FTP to S3 Installation CloudFormation template Deploy now! Usage IP / domain name: ta

Javier Santana 1 Jun 19, 2021
Bot developed in python, 100% open-source, compatible with Windows and Linux.

Bombcrypto Bot [Family JOW] Bot desenvolvido em python, 100% do código é aberto, para aqueles que tenham conhecimento validarem que não existe nenhum

Renato Maia 71 Dec 20, 2022
A Tool to scrape URLs for a given domain from wayback machine, Commoncrawl and OTX Alienvault

Mr_URL Mr.URL fetches known URLs for a given domain from Wayback Machine, Commoncrawl and OTX Alienvault. It also finds old versions of any given URL

Stinger 9 Sep 05, 2022
A Telelgram Bot to Extract Text from an Image

Text-Scanner-OCR A Telelgram Bot to Extract Text from an Image Configs Vars API_KEY: Your API_KEY from OCR Space GROUP: Your Group Username without '@

ALBY 8 Feb 20, 2022
API kumpulan doa-doa sesuai al-qur'an dan as-sunnah

API kumpulan doa-doa sesuai al-qur'an dan as-sunnah

Miftah Afina 4 Nov 26, 2022
Bot that embeds a random hysterical meme from Reddit into your text channel as an embedded message, using an API call.

Discord_Meme_Bot 🤣 Bot that embeds a random hysterical meme from Reddit into your text channel as an embedded message, using an API call. Add the bot

2 Jan 16, 2022
API de mi aplicación de Biblioteca

BOOKSTORE API Instalación/Configuración Previo Es una buena idea crear un entorno virtual antes de instalar las dependencias. Puedes hacerlo con el si

Gabriel Morales 1 Jan 09, 2022
Discord bot that shows valorant your daily store by using the Ingame API

Valorant store checker - Discord Bot Discord bot that shows valorant your daily store by using the Ingame API. written using Python and the Pycord lib

STACIA 226 Jan 02, 2023
Rust UserBot, Telegram istifadəsini asanlaşdıran bir proyektdir.

RUST USERBOT 🇦🇿 Rust UserBot, Telegram istifadəsini asanlaşdıran bir proyektdir. Qurulum Heroku Serverə qurulum git clone https://github.com/rustres

1 Oct 25, 2021
A bot created with Python that interacts with GroupMe

GroupMe_Bot This is a bot I'm working on a small groupme group I'm in. This is something I'll work on in my spare time. Nothing but just a fun little

0 May 19, 2022
Experiment to find the best time to look for an appointment at the Berlin Bürgeramt

Bürgeramt appointment experiment Checks Berlin.de for free Anmeldung appointments every X minutes, then analyses the results. How to use Run get-page.

Nicolas Bouliane 42 Jan 02, 2023
A fork of discord.py

discord.py A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. The Future of discord.py Please read the gi

1 Dec 19, 2021
An unofficial wrapper for Engineer Man's Piston API

Pistonpy Pistonpy is an API wrapper for the Piston code execution engine by Engineer Man. Key Features Simple modern and efficient Pythonic API using

AalbatrossGuy 4 Jan 03, 2022
A updated and improved version from the original Discord-Netflix from Nirewen.

Discord-Netflix A updated version from the original Discord-Netflix from nirewen A Netflix wrapper that uses Discord RPC to show what you're watching

Void 42 Jan 02, 2023
Build a better understanding of your data in PostgreSQL.

Data Fluent for PostgreSQL Build a better understanding of your data in PostgreSQL. The following shows an example report generated by this tool. It g

Mark Litwintschik 28 Aug 30, 2022
CryptoApp - Python code to pull wallet balances from a variety of different chains through nothing other than your public key.

CryptoApp - Python code to pull wallet balances from a variety of different chains through nothing other than your public key.

Zach Frank 4 Dec 13, 2022