diff --git a/apps/discord.py b/apps/discord.py index 734ea4dc..b6168335 100644 --- a/apps/discord.py +++ b/apps/discord.py @@ -1,10 +1,23 @@ +import discord from discord.ext import commands from swarms.models import OpenAIChat from swarms.agents import OmniModalAgent +import os +from dotenv import load_dotenv +from discord.ext import commands + +load_dotenv() + +intents = discord.Intents.default() +intents.messages = True +intents.guilds = True +intents.voice_states = True +intents.message_content = True +bot = commands.Bot(command_prefix="!", intents=intents) # Setup -TOKEN = "YOUR_DISCORD_BOT_TOKEN" -bot = commands.Bot(command_prefix="!") + +DISCORD_TOKEN = os.getenv("DISCORD_TOKEN") # Initialize the OmniModalAgent llm = OpenAIChat(model_name="gpt-4") @@ -41,5 +54,39 @@ async def help_me(ctx): """ await ctx.send(help_text) +@bot.event +async def on_command_error(ctx, error): + """Handles errors that occur while executing commands.""" + if isinstance(error, commands.CommandNotFound): + await ctx.send("That command does not exist!") + else: + await ctx.send(f"An error occurred: {error}") + +def setup(bot): + @bot.command() + async def join(ctx): + """Joins the voice channel that the user is in.""" + if ctx.author.voice: + channel = ctx.author.voice.channel + await channel.connect() + else: + await ctx.send("You are not in a voice channel!") + + @bot.command() + async def leave(ctx): + """Leaves the voice channel that the bot is in.""" + if ctx.voice_client: + await ctx.voice_client.disconnect() + else: + await ctx.send("I am not in a voice channel!") + +# voice_transcription.py +from discord.ext import commands + +def setup(bot): + @bot.command() + async def listen(ctx): + """Starts listening to voice in the voice channel that the bot is in.""" + # ... (code for listening to voice and transcribing it goes here) -bot.run(TOKEN) +bot.run("DISCORD_TOKEN")