![]() README.MD formatting : IPs |
||
---|---|---|
.github | ||
assets | ||
service | ||
.gitignore | ||
Dockerfile | ||
LICENSE | ||
README.md | ||
config.py | ||
docker-compose.yml | ||
handler.py | ||
main.py | ||
requirements.txt |
README.md
About • Features • Installation • Images • Help
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.
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
💡 Got a feature idea? Open an issue and I might implement it.
Installation
On any VPS
- Clone this repository
git clone https://github.com/fabston/TradingView-Webhook-Bot.git
- Create your virtual environment
python3 -m venv TradingView-Webhook-Bot
- Activate it
source TradingView-Webhook-Bot/bin/activate && cd TradingView-Webhook-Bot
- Install all requirements
pip install -r requirements.txt
- Edit and update
config.py
- The Telegram ID should be set as an integer, but in some cases it is needed to define it as a sting, and to set the Channel name (@MyChannel) insteed of the Channel ID (-1001277977502).
- 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 withsec_key
inconfig.py
. It's an extra security measurement to ensure nobody else is executing your alertstelegram
,discord
,slack
is optional. If it is not set it will fall back to the config.py settingsmsg
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
- TradingViews variables like
- Your webhook url would be
http://<YOUR-IP>/webhook
- If you use a firewall be sure to open the corresponding port
- TradingView POST Request are made from the bellow IP Source - Ref : https://www.tradingview.com/?solution=43000529348
52.89.214.238
34.212.75.30
54.218.53.128
52.32.178.7
Run manually the bot with python main.py
Create a service
-
Create a /root/startbot.sh
-
Create a directory for logs : mkdir /root/TradingView-Webhook-Bot/logs
-
Create a service file : /etc/systemd/system/telegrambotservice.service
-
Start the service : systemctl start telegrambotservice.service
-
You can stop or check the status of the service with the command bellow
-
systemctl stop telegrambotservice.service
-
systemctl status telegrambotservice.service
Docker
- Clone this repository
git clone https://github.com/fabston/TradingView-Webhook-Bot.git
- Edit and update
config.py
docker-compose build
docker-compose up
It is recommended to run flask on a different port like 8080. It is then necessary to forward port 80 to 8080.
Images
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
.