From 8a6af6919362a15743fc1f8ad3e6ca5acfddd1cc Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 18 Mar 2023 17:15:15 +0100 Subject: [PATCH] Lets try this for fun --- reginaldgptCog/__init__.py | 6 ++++++ reginaldgptCog/reginaldgpt | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 reginaldgptCog/__init__.py create mode 100644 reginaldgptCog/reginaldgpt diff --git a/reginaldgptCog/__init__.py b/reginaldgptCog/__init__.py new file mode 100644 index 0000000..c4c2a5e --- /dev/null +++ b/reginaldgptCog/__init__.py @@ -0,0 +1,6 @@ +from redbot.core.bot import Red +from .reginaldgpt import ReginaldGptCog + +def setup(bot: Red): + cog = ReginaldGptCog(bot) + bot.add_cog(cog) \ No newline at end of file diff --git a/reginaldgptCog/reginaldgpt b/reginaldgptCog/reginaldgpt new file mode 100644 index 0000000..fe1b402 --- /dev/null +++ b/reginaldgptCog/reginaldgpt @@ -0,0 +1,35 @@ +import os +import discord +from redbot.core import Config, checks, commands +import openai + +class ReginaldGptCog(commands.Cog): + def __init__(self, bot): + self.bot = bot + openai.api_key = os.environ["OPENAI_API_KEY"] + + @commands.guild_only() + @checks.admin_or_permissions(manage_guild=True) + async def reginaldgpt(self, ctx, *, message): + try: + response = openai.ChatCompletion.create( + model="gpt-3.5-turbo", + messages=[ + {"role": "system", "content": "You are a helpful assistant who responds succinctly"}, + {"role": "user", "content": message} + ] + ) + + content = response['choices'][0]['text'] + finish_reason = response['choices'][0]['finish_reason'] + + if finish_reason == 'stop': + await ctx.send(content) + else: + await ctx.send(f"Response not completed. Finish reason: {finish_reason}") + + except Exception as e: + await ctx.send("As an AI robot, I errored out.") + +def setup(bot): + bot.add_cog(ReginaldGptCog(bot))