Untitled
unknown
plain_text
2 years ago
1.7 kB
8
Indexable
import discord from discord.ext import commands import yfinance as yf import matplotlib.pyplot as plt from io import BytesIO TOKEN = "MTE3OTcxMTE2NzcwNzQ5MjQyMw.G_pP24.ekloXFhWOugQeej7iTXmLHeth3UPDL08IqZ8S8" intents = discord.Intents.all() intents.all() intents.message_content = True bot = commands.Bot(command_prefix='!', intents=intents) @bot.event async def on_ready(): print(f'We have logged in as {bot.user.name}') @bot.command(name='stock') async def stock(ctx, symbol): """Get stock information for a given symbol.""" stock_data = yf.Ticker(symbol) try: info = stock_data.info history = stock_data.history(period='1y') # Sending the text message to Discord stock_info_message = f"Stock Information for {symbol}:\n" for key, value in info.items(): stock_info_message += f"{key}: {value}\n" await ctx.send(stock_info_message) # Plotting the data plt.figure(figsize=(10, 6)) plt.plot(history.index, history['Close'], label='Closing Price') plt.title(f"Stock Data for {symbol} - Last Year") plt.xlabel("Date") plt.ylabel("Closing Price") # Save the plot to a BytesIO object image_stream = BytesIO() plt.savefig(image_stream, format='png') plt.close() # Sending the plot as an image image_stream.seek(0) await ctx.send(file=discord.File(image_stream, filename='stock_plot.png')) except Exception as e: await ctx.send(f"Error: Unable to fetch data. {str(e)}") bot.run(TOKEN)
Editor is loading...
Leave a Comment