Merge branch 'bot-features' of https://github.com/WebEngineering2/TelegramAktienBot into bot-features
This commit is contained in:
@@ -20,17 +20,22 @@ import telebot
|
||||
import time
|
||||
import sys
|
||||
import logging
|
||||
import json
|
||||
|
||||
import news.news_fetcher as news
|
||||
<<<<<<< HEAD
|
||||
import share_fetcher
|
||||
=======
|
||||
import shares.share_fetcher as share_fetcher
|
||||
>>>>>>> 2961bbb4294b603c694edd0bf0ec74661641b833
|
||||
|
||||
from telebot import types
|
||||
from dotenv import load_dotenv
|
||||
from telegram_bot.share_fetcher import Share_Handler
|
||||
|
||||
|
||||
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
|
||||
@@ -107,7 +112,7 @@ def send_welcome(message):
|
||||
|
||||
:rtype: none
|
||||
"""
|
||||
bot.reply_to(message, "/id or /auth for authentication. /update to get updates on your shares. /users to see all users. /news to get current use for your keywords. For further details see aktienbot.flokaiser.com")
|
||||
bot.reply_to(message, "/id or /auth for authentication. /update to get updates on your shares. /users to see all users. /news to get current use for your keywords. /share to get price of specific share. For further details see aktienbot.flokaiser.com")
|
||||
|
||||
|
||||
@bot.message_handler(commands=['users'])
|
||||
@@ -148,7 +153,7 @@ def send_id(message):
|
||||
bot.reply_to(message, answer)
|
||||
|
||||
|
||||
@bot.message_handler(commands=['update']) # /update -> send static update via user_id to this user, later fetch from database
|
||||
@bot.message_handler(commands=['update'])
|
||||
def send_update(message):
|
||||
|
||||
""" Send update on shares
|
||||
@@ -161,11 +166,52 @@ def send_update(message):
|
||||
"""
|
||||
user_id = int(message.from_user.id)
|
||||
|
||||
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')
|
||||
|
||||
with open(json_path) as json_file:
|
||||
json_share_data = json.load(json_file)
|
||||
int_share_count = int(json_share_data['share_count'])
|
||||
str_username = str(json_share_data['user'])
|
||||
bot.send_message(chat_id=user_id, text=f'Hello {str_username}. Here is the update on your currently owned shares:')
|
||||
|
||||
|
||||
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_share_update(message):
|
||||
|
||||
""" Send price of a specific share
|
||||
:type message: message object bot
|
||||
:param message: message that was reacted to, in this case always containing '/share'
|
||||
|
||||
:raises: none
|
||||
|
||||
:rtype: none
|
||||
"""
|
||||
user_id = int(message.from_user.id)
|
||||
|
||||
#Get Information for user with this id
|
||||
#call Share_Handler
|
||||
bot.send_message(chat_id=user_id, text='This is your update')
|
||||
bot.send_message(chat_id=user_id, text='Send symbol of share:')
|
||||
#str_share_price = shares.wait_for_share.main_loop(bot)
|
||||
bot.register_next_step_handler(message, send_share_price)
|
||||
|
||||
def send_share_price(message):
|
||||
str_share_price = share_fetcher.get_share_price(str(message.text))
|
||||
bot.reply_to(message, str_share_price)
|
||||
|
||||
|
||||
@bot.message_handler(commands=['news'])
|
||||
@@ -180,7 +226,7 @@ def send_news(message):
|
||||
:rtype: none
|
||||
"""
|
||||
|
||||
keyword = "business"
|
||||
keyword = "bitcoin"
|
||||
user_id = int(message.from_user.id)
|
||||
#Get Information for user with this id
|
||||
|
||||
|
||||
Reference in New Issue
Block a user