feat: Add discord commands

pull/66/head
Zack 1 year ago
parent cf6cd14a45
commit 553b8ef085

@ -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")

Loading…
Cancel
Save