by RadRabbit
Financial Analysis Bot
from discord.ext import commands
from pandas import DataFrame
from tabulate import tabulate
from typing import Any, List, Dict, Union
import aiohttp
import discord
import json
import numpy as np
import openai
import requests
import yfinance as yf
from yahoo_fin import stock_info as si
import os
from financial_analysis import fetch_financial_data, generate_summary
from ai_company_info import ai_company_info
API_ENDPOINT = "https://api.openai.com/v1/chat/completions"
def load_credentials() -> Dict[str, Any]:
credentials = {
"command_prefix": "!",
"api_key": os.environ.get("OPENAI_API_KEY"),
"bot_token": os.environ.get("BOT_TOKEN")
}
Created: | Last Updated:
Introduction to the Financial Analysis Bot Template
The Financial Analysis Bot template is a powerful tool designed to help you create a Discord bot that can generate AI summaries of financial data for renowned US companies. This bot leverages the Alpha Vantage API to fetch financial data and uses OpenAI's GPT models to provide insights and analysis. Whether you're a financial analyst, a stock market enthusiast, or just curious about company performances, this template will enable you to build a bot that can provide valuable financial information right within Discord.
Getting Started with the Template
To begin building your Financial Analysis Bot, click on "Start with this Template" in the Lazy builder interface. This will pre-populate the code in the Lazy Builder, so you won't need to copy, paste, or delete any code manually.
Initial Setup: Adding Environment Secrets
Before you can use the Financial Analysis Bot, you'll need to set up a few environment secrets within the Lazy Builder. These are necessary for the bot to interact with the Alpha Vantage API and Discord.
- OPENAI_API_KEY: This is your API key for OpenAI, which is used to access GPT models for generating AI summaries. You can obtain this key by signing up for an account on the OpenAI platform and navigating to the API section.
- BOT_TOKEN: This is the token for your Discord bot, which allows it to operate within your Discord server. You can get this token from the Discord Developer Portal by creating a new application, adding a bot to it, and copying the token provided.
- ALPHAVANTAGE_API_KEY: This is the API key for Alpha Vantage, which provides financial data that your bot will analyze. You can get this key by signing up on the Alpha Vantage website and claiming your free API key.
Once you have these keys, enter them into the Environment Secrets tab within the Lazy Builder.
Test: Pressing the Test Button
After setting up the environment secrets, it's time to test your bot. Press the "Test" button in the Lazy Builder. This will deploy your application and launch the Lazy CLI. The CLI will prompt you for any required user input.
Entering Input: Filling in User Input
If the bot requires user input, you will be prompted to provide it through the Lazy CLI after pressing the test button. For example, if you want to analyze financial data, you might need to enter the stock symbol and the type of financial data you're interested in, such as earnings or balance sheets.
Using the App
Once your bot is up and running, you can interact with it directly within your Discord server. Use the commands you've set up, like !earnings AAPL
or !compare GOOGL MSFT
, to get financial data and AI-generated summaries.
Integrating the App
If you want to integrate the bot's functionality into another service or frontend, you may need to use the server link provided by Lazy after pressing the Test button. This link allows you to interact with the bot's API and integrate its capabilities into your chosen platform.
Remember, the Financial Analysis Bot is a versatile tool that can be customized to fit your needs. Explore the code, experiment with the commands, and tailor the bot to provide the financial insights that are most relevant to you and your community.
For detailed documentation on the Discord bot setup and the Alpha Vantage API, you can refer to the following links:
With the Financial Analysis Bot template, you're well on your way to creating a valuable resource for financial data analysis within Discord. Happy building!