Trying to hook an assistant to discord. Can someone help me please?
I keep getting the error:
thread = client.beta.threads.create()
AttributeError: ‘Client’ object has no attribute ‘beta’
Here is my code
import discord
import openai
import time
from openai import OpenAI
intents = discord.Intents.default()
intents.messages = True
intents.guilds = True
client = discord.Client(intents=intents)
openai.api_key = ‘XXX’ # Replace with your OpenAI API key
ASSISTANT_ID = ‘XXX’ # Replace with your Assistant’s ID
def wait_on_run(run, thread_id):
while run.status == “queued” or run.status == “in_progress”:
run = openai.ThreadRun.retrieve(
thread_id=thread_id,
id=run.id,
)
time.sleep(0.5)
return run
@client.event
async def on_ready():
print(f’Logged in as {client.user}')
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('!ask'):
user_message = message.content[len('!ask '):]
thread = client.beta.threads.create()
openai.ThreadMessage.create(
thread_id=thread.id,
role="user",
content=user_message
)
run = openai.ThreadRun.create(
thread_id=thread.id,
assistant_id=ASSISTANT_ID,
)
run = wait_on_run(run, thread.id)
messages = openai.ThreadMessage.list(thread_id=thread.id)
response = messages.data[-1].content[0].text.value
await message.channel.send(response)
client.run(‘XXX’) # Replace with your Discord bot token