LevelBot / app.py
lunarflu's picture
lunarflu HF staff
Update app.py
3b06990
raw
history blame
2.07 kB
import discord
import os
import threading
from discord.ext import commands
import json
import time
import matplotlib.pyplot as plt
from io import BytesIO
import gradio_client
import gradio as gr
from gradio_client import Client
DISCORD_TOKEN = os.environ.get("DISCORD_TOKEN", None)
intents = discord.Intents.all()
bot = commands.Bot(command_prefix='!', intents=intents)
@bot.event
async def on_ready():
print(f'Logged in as {bot.user.name}')
@bot.command()
async def save_messages(ctx, channel_id: int):
if ctx.author.id == 811235357663297546:
channel = bot.get_channel(channel_id)
if not channel:
await ctx.send("Channel not found.")
return
messages = []
async for message in channel.history(limit=None):
messages.append(message)
with open("gradio-questions.json", 'w', encoding='utf-8') as file:
for message in messages:
file.write(f"{message.content}\n")
await ctx.send(f"Messages from {channel.name} saved to gradio-questions.json")
with open("gradio-questions.json", 'rb') as file:
discord_file = discord.File(file)
await ctx.send(file=discord_file)
@bot.command()
async def save_forum(ctx, channel_id: int):
channel = bot.get_channel(channel_id)
threads = channel.threads
messages_data = []
async for message in thread.history(limit=None): # limit=None retrieves all messages
message_data = {
"content": message.content,
"author": message.author.name,
"timestamp": message.created_at.isoformat()
}
messages_data.append(message_data)
""""""
DISCORD_TOKEN = os.environ.get("DISCORD_TOKEN", None)
def run_bot():
bot.run(DISCORD_TOKEN)
threading.Thread(target=run_bot).start()
def greet(name):
return "Hello " + name + "!"
demo = gr.Interface(fn=greet, inputs="text", outputs="text")
demo.launch()