Sign inSign up

danger89/crypto-bot

By danger89

•Updated 5 months ago

Automated Crypto alerts of top crypto coins via Telegram. Code: https://bit.ly/3vsnzG8

Image
API management
Monitoring & observability
1

4.0K

danger89/crypto-bot repository overview

⁠Crypto Alert Bot

crypto-bot is an open-source bot that track some popular crypto tokens/coins (BTC, ETH, BNB, ADA, LINK, SOL, DOT, MATIC, ALGO and AVAX). The bot gives you a notification when the trend is changing (up/down trend).

This bot will be informed you via the Telegram channel⁠ automatically, whenever there is an up- or downtrend in one of those crypto coins. Technical analysis is applied to determine the up- or downtrends (MACD/PPO).

⁠Usage

You can join the public Crypto Exchange Alert Telegram channel⁠, where this bot is present. And keeps you up-to-date!

Or since this project is open-source, you can setup your own crypto-bot as well as your own Telegram Bot⁠. See below.

⁠Run it yourself

⁠Requirements

This bot is written in JavaScript and run on NodeJS.

⁠Docker

Use the DockerHub Docker image⁠ (see also: Dockerfile⁠).

  1. Copy/rename the config template file⁠ to config.yml, can be stored anywhere on your machine:

    cp configTemplate.yml config.yml
    
  2. Now change the config.yml to your needs (see "Most important Settings" section below).

  3. Start Docker container by providing the config.yml from outside the Docker container (by default using current working directory, pwd, on your host machine):

    docker run --restart always -p 127.0.0.1:3010:3010 -v $(pwd)/config.yml:/app/config.yml -d danger89/crypto-bot
    

Note: The command above should pull the image automatically from Docker Hub.

You can also use docker-compose, see docker-compose.yml⁠.

⁠Plain terminal

Follow the steps:

  1. Copy the config template to config.yml: cp configTemplate.yml config.yml
  2. Change the configuration settings, webhook domain for Telegram bot and API keys for the stock data
  3. Install depedencies via: npm install (once needed)
  4. Start the bot using: npm start

Advice: Run the bot 24/7 on some dedicated hardware. cron_time within the configuration will take care of the triggers when to look-up for data.

Hidden feature: Set DEBUG to true value in the dataProcessor.js⁠ source file to dump the market data to a comma-seperated values (CSV) file. Useful for off-line verification/calculations.

⁠Most important Settings

The following settings require definitely some attention during setup:

  • exchange_settings -> use_cache - Set to False to not use any local caching, needed for production!
  • exchange_settings -> api_token - API token of twelvedata - Create a free API token on their website⁠
  • telegram_settings -> bot_token - Token from Telegram, created via @BotFather⁠
  • telegram_settings -> public_url - Telegram public URL for Webhook
  • telegram_settings -> chat_id - Telegram channel name including '@' or any other chat ID.

There are also 2 environment variables available to set:

  • HOST (default: 0.0.0.0)
  • PORT (default: 3010)

⁠License

MIT License⁠

Tag summary

Content type

Image

Digest

sha256:cec6ddde7…

Size

94.6 MB

Last updated

5 months ago

docker pull danger89/crypto-bot