update function now getting share data from json and updating on all shares

This commit is contained in:
Florian Kellermann
2022-03-16 17:42:46 +01:00
parent 536bdf3bd6
commit e4423a76b7
4 changed files with 59 additions and 51 deletions

View File

@@ -20,6 +20,7 @@ import telebot
import time
import sys
import logging
import json
import news.news_fetcher as news
import shares.share_fetcher as share_fetcher
@@ -30,7 +31,7 @@ from dotenv import load_dotenv
load_dotenv()
bot_version = "0.1.1"
bot_version = "0.2.1"
user_list = []
class User: # Currently saving users in this class to test functionality -> later database
@@ -161,15 +162,30 @@ def send_update(message):
"""
user_id = int(message.from_user.id)
share_fetcher = share_fetcher.Share_Handler()
#Can be deleted when getting from database
dirname = os.path.dirname(__file__)
json_path = os.path.join(dirname, 'shares/shares_example.json')
#Get Information for user with this id
#call Share_Handler
bot.send_message(chat_id=user_id, text='This is your update')
with open(json_path) as json_file:
json_share_data = json.load(json_file)
int_share_count = int(json_share_data['share_count'])
for i in range(int_share_count):
my_share = json_share_data['shares'][i]
my_share_symbol = str(my_share['symbol'])
my_share_amount = float(my_share['amount_bought'])
my_share_buy_price = float(my_share['price_bought'])
my_share_course = float(share_fetcher.get_share_price(my_share_symbol))
my_update_message = f'Symbol: {my_share_symbol}\nPrice: {my_share_course}\nBought for: {my_share_buy_price}\n\
Amount owned: {my_share_amount}\nWin/Lose: {(my_share_amount*my_share_course) - (my_share_amount*my_share_buy_price)}'
bot.send_message(chat_id=user_id, text=my_update_message)
@bot.message_handler(commands=['share'])
def send_update(message):
def send_share_update(message):
""" Send price of a specific share
:type message: message object bot
@@ -187,10 +203,8 @@ def send_update(message):
bot.register_next_step_handler(message, send_share_price)
def send_share_price(message):
share_fetcher_obj = share_fetcher.Share_Handler()
str_share_price = share_fetcher_obj.get_share_price(str(message.text))
str_share_price = share_fetcher.get_share_price(str(message.text))
bot.reply_to(message, str_share_price)
@bot.message_handler(commands=['news'])