Incoming Webhook to telegram message
 
 
Go to file
dependabot[bot] c8667888ea
Bump jinja2 from 3.0.1 to 3.1.4
Bumps [jinja2](https://github.com/pallets/jinja) from 3.0.1 to 3.1.4.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.0.1...3.1.4)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 17:27:50 +00:00
.github Update main.py 2024-05-01 08:38:17 +07:00
assets Beautified code 2021-06-22 14:34:31 +02:00
.gitignore Initial commit 2020-04-21 16:05:31 +02:00
Dockerfile Minor updates 2021-08-05 07:02:06 +02:00
LICENSE Minor updates 2021-03-14 09:24:07 +01:00
README.md Update main.py 2024-05-01 08:42:52 +07:00
config.py Beautified code 2021-06-22 14:34:31 +02:00
docker-compose.yml Minor updates 2021-08-05 07:02:06 +02:00
handler.py Fixed underscore issue in msg body 2021-08-13 14:58:40 +02:00
main.py Update main.py 2024-05-01 08:38:17 +07:00
requirements.txt Bump jinja2 from 3.0.1 to 3.1.4 2024-05-06 17:27:50 +00:00

README.md

Python version GitHub license GitHub issues GitHub pull requests
GitHub stars GitHub forks GitHub watchers

AboutFeaturesInstallationImagesHelp

About

The TradingView Webhook Bot ⚙️ listens to TradingView alerts via webhooks using flask. All alerts can be instantly sent to Telegram, Discord, Twitter and/or Email.

📊 If you are looking for an exchange to trade on, I can recommend Bybit. Sign up now and receive up to $30,000 in Deposit Rewards!

Features

  • Telegram Support using the Python Telegram libary.
  • Discord Support using webhooks.
  • Slack Support using webhooks.
  • Twitter Support using the tweepy libary.
  • Email Support using smtplib.
  • Alert channels can be enabled or disabled in config.py.
  • Dynamically send alerts to different Telegram and/or Discord channels.
  • TradingView {{close}}, {{exchange}} etc. variables support. Read more here.

Installation

⚠️ Best to run the bot on a VPS. I can recommend Hetzner's CX11 VPS for 3.79€/month. Sign up now and receive €20 free credits.

  1. Clone this repository git clone https://github.com/fabston/TradingView-Webhook-Bot.git
  2. Create your virtual environment python3 -m venv TradingView-Webhook-Bot
  3. Activate it source TradingView-Webhook-Bot/bin/activate && cd TradingView-Webhook-Bot
  4. Install all requirements pip install -r requirements.txt
  5. Edit and update config.py
  6. Setup TradingView alerts. An example alert message would be:
    {
     "key": "9T2q394M92",
     "telegram": "-1001277977502",
     "discord": "789842341870960670/BFeBBrCt-w2Z9RJ2wlH6TWUjM5bJuC29aJaJ5OQv9sE6zCKY_AlOxxFwRURkgEl852s3",
     "slack": "T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX",
     "msg": "Long *#{{ticker}}* at `{{close}}`"
    }
    
    • key is mandatory! It has to match with sec_key in config.py. It's an extra security measurement to ensure nobody else is executing your alerts
    • telegram, discord, slack is optional. If it is not set it will fall back to the config.py settings
    • msg can be anything. Markdown for Telegram and Discord is supported as well
      • TradingViews variables like {{close}}, {{exchange}} etc. work too. More can be found here
    • Your webhook url would be http://<YOUR-IP>/webhook
  7. If you use a firewall be sure to open the corresponding port
  8. Run the bot with python main.py
  9. PM2 can help you in running the app in the background / on system boot.

Forward Port 80 to 8080 using NGINX

It is recommended to run flask on a different port like 8080. It is then necessary to forward port 80 to 8080.

  1. Install the necessary packages: sudo apt-get install nginx
  2. Edit the NGINX configuration file: sudo nano /etc/nginx/sites-enabled/tv_webhook
  3. Add the following content:
    server {
       listen 80;
    
       server_name <YOUR-IP>;
    
       location / {
           proxy_pass http://127.0.0.1:8080;  # Forward traffic to port 8080
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  # Pass client's IP address
           proxy_set_header X-Forwarded-Proto $scheme;
       }
    }
    
  4. Restart NGINX sudo service nginx restart

Docker

  1. Clone this repository git clone https://github.com/fabston/TradingView-Webhook-Bot.git
  2. Edit and update config.py
  3. docker-compose build
  4. docker-compose up

Images

Webhook Bot

How can I help?

All kinds of contributions are welcome 🙌! The most basic way to show your support is to ⭐️ star the project, or raise 🐞 issues.


Buy Me A Coffee