Added reginaldCog

This commit is contained in:
unknown 2023-03-14 17:24:21 +01:00
parent 4ebc90297c
commit f0129c17cd
2 changed files with 45 additions and 0 deletions

5
reginaldCog/__init__.py Normal file
View File

@ -0,0 +1,5 @@
from .reginald import ReginaldCog
def setup(bot):
cog = ReginaldCog(bot)
bot.add_cog(cog)

40
reginaldCog/reginald.py Normal file
View File

@ -0,0 +1,40 @@
import openai
from redbot.core import commands
from threading import Lock
from ratelimit import rate_limited
class ReginaldCog(commands.Cog):
def __init__(self, bot):
self.bot = bot
self.api_key = self.bot.config.get("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")
openai.api_key = self.api_key
self.model = self.bot.config.get("openai_model")
self.lock = Lock()
@rate_limited(1, 10) # Limits command execution to 1 per 10 seconds
@commands.command()
@commands.has_permissions(administrator=True)
async def reginald(self, ctx, *, prompt=None):
"""Ask Reginald a question"""
if prompt is None:
prompt = "Hey,"
async with ctx.typing(), self.lock:
try:
max_tokens = min(len(prompt) * 2, 2048)
response = openai.Completion.create(
model=self.model,
prompt=prompt,
max_tokens=max_tokens,
n=1,
stop=None,
temperature=0.5,
)
await ctx.send(response.choices[0].text.strip())
except openai.error.OpenAIError as e:
await ctx.send("I apologize, sir, but I am unable to generate a response at this time.")
print(f"OpenAI API Error: {e}")
def setup(bot):
bot.config.register("openai_api_key", default=None)
bot.config.register("openai_model", default="text-davinci-002")
bot.add_cog(ReginaldCog(bot))