FinTwit-Bot is a Discord bot designed to track and analyze financial markets by pulling data from platforms like Twitter, Reddit, and Binance. It features customizable tools for sentiment analysis, market trends, and portfolio tracking to help traders stay informed and make data-driven decisions.
Since the news also has impact on the financial markets, maybe this channel contains tweets from news sources (such as @deltaone, @FirstSquawk, @EPSGUID) or scans a news site constantly (CNBC).
!portfolio <exchange> <key> <secret>
Doing this command will add a new row to the database, the exchange options are KuCoin and Binance.
After this has happened we open a user socket so we can keep track of the user's buys and sells.
We also make calls every hour to check the prices of the assets on their account (if there are any)
Make a command for adding exchange information
Format the exchange (always lower) and check if we support this exchange, if not don't add to db
Save this information to a database (pandas dataframe, which will be pickled everytime something changes)
Get the account balance if !portfolio has been used and save the (user, symbol, quantity, price) in db
Start user socket (and publish new trades in dedicated channel)
Check assets on account and make a new channel dedicated to this user (for showing their current assets)
Send the user a message if their SL or TP has been hit
Use https://pypi.org/project/tradingview-scraper/ to get the ideas, and filter based on time they were posted. Only use the ideas posted in the last 24h, and sort them based on likes.
For instance !alert TSLA will tag the user at every tweet containing the $TSLA ticker
We need to have a db for this, maybe alerts.db (ticker, user, id)
https://github.com/man-c/pycoingecko
trending
/search/trending (Get trending search coins (Top-7) on CoinGecko in the last 24 hours)
cg.get_search_trending()
If a tweet contains a ticker add the ticker, user, sentiment, category, time of tweet to the database.
For every new tweet send a message containing the list of the tickers mentioned in the last 24h and delete the tickers older than 24h.
Also every x hours compare the top 10 (or more depending on rate limit) tickers with twitter's global sentiment.
First ensure that:
#185 is working correctly to save time on deciding the ticker category