mirror of
https://gitlab.com/simple-stock-bots/simple-telegram-stock-bot.git
synced 2025-06-16 15:06:53 +00:00
fix #16
This commit is contained in:
parent
8589082439
commit
74e63bb697
5
bot.py
5
bot.py
@ -1,6 +1,5 @@
|
||||
# Work with Python 3.7
|
||||
import logging
|
||||
import re
|
||||
import os
|
||||
|
||||
import telegram
|
||||
@ -40,7 +39,7 @@ def tickerDetect(bot, update):
|
||||
message = update.message.text
|
||||
chat_id = update.message.chat_id
|
||||
|
||||
tickers = re.findall(TICKER_REGEX, message)
|
||||
tickers = getTickers(message)
|
||||
|
||||
data = tickerData(tickers) if tickers else {}
|
||||
|
||||
@ -69,7 +68,7 @@ def news(bot, update):
|
||||
message = update.message.text
|
||||
chat_id = update.message.chat_id
|
||||
|
||||
tickers = re.findall(TICKER_REGEX, message)
|
||||
tickers = getTickers(message)
|
||||
|
||||
news = tickerNews(tickers) if tickers else {}
|
||||
|
||||
|
19
functions.py
19
functions.py
@ -2,6 +2,17 @@ import urllib.request
|
||||
import json
|
||||
from datetime import datetime
|
||||
import time
|
||||
import re
|
||||
|
||||
|
||||
def getTickers(text: str):
|
||||
"""
|
||||
Takes a blob of text and returns any stock tickers found.
|
||||
"""
|
||||
|
||||
TICKER_REGEX = "[$]([a-zA-Z]{1,4})"
|
||||
|
||||
return list(set(re.findall(TICKER_REGEX, text)))
|
||||
|
||||
|
||||
def tickerData(tickers: list):
|
||||
@ -127,13 +138,16 @@ def tickerNewsReply(ticker: dict):
|
||||
[Is Vanguard's VIG Better Than Its WisdomTree Counterpart?](https://api.iextrading.com/1.0/stock/aapl/article/7238581261167527)
|
||||
"""
|
||||
reply = tickerDataReply(ticker)
|
||||
if len(ticker["news"]) == 0 : return reply + f"\n\tNo News was found for {ticker['name']}"
|
||||
if len(ticker["news"]) == 0:
|
||||
return reply + f"\n\tNo News was found for {ticker['name']}"
|
||||
for title, url in ticker["news"]:
|
||||
reply = reply + f"\n\t[{title}]({url})"
|
||||
return reply
|
||||
|
||||
|
||||
# Below Functions are incomplete
|
||||
|
||||
|
||||
def tickerInfo(ticker):
|
||||
infoURL = f"https://api.iextrading.com/1.0/stock/{ticker}/stats"
|
||||
|
||||
@ -152,6 +166,7 @@ def tickerInfo(ticker):
|
||||
|
||||
return info
|
||||
|
||||
|
||||
def tickerDividend(ticker):
|
||||
data = tickerInfo(ticker)
|
||||
if data["divDate"] == 0:
|
||||
@ -177,4 +192,4 @@ def tickerDividend(ticker):
|
||||
|
||||
countdownMessage = f"\n\nThe dividend is in: {d:.0f} Days {h:.0f} Hours {m:.0f} Minutes {s:.0f} Seconds."
|
||||
|
||||
return dividendInfo + countdownMessage
|
||||
return dividendInfo + countdownMessage
|
||||
|
Loading…
x
Reference in New Issue
Block a user