|
|
|
@ -10,28 +10,46 @@ usage_service = UsageService(Path(os.environ.get("DATA_DIR", os.getcwd())))
|
|
|
|
|
model = Model(usage_service)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Settings_autocompleter:
|
|
|
|
|
class Settings_autocompleter:
|
|
|
|
|
async def get_settings(ctx: discord.AutocompleteContext):
|
|
|
|
|
SETTINGS = [re.sub("^_","",key) for key in model.__dict__.keys() if key not in model._hidden_attributes]
|
|
|
|
|
return [parameter for parameter in SETTINGS if parameter.startswith(ctx.value.lower())][:25]
|
|
|
|
|
async def get_value(ctx: discord.AutocompleteContext): # Behaves a bit weird if you go back and edit the parameter without typing in a new command
|
|
|
|
|
SETTINGS = [
|
|
|
|
|
re.sub("^_", "", key)
|
|
|
|
|
for key in model.__dict__.keys()
|
|
|
|
|
if key not in model._hidden_attributes
|
|
|
|
|
]
|
|
|
|
|
return [
|
|
|
|
|
parameter
|
|
|
|
|
for parameter in SETTINGS
|
|
|
|
|
if parameter.startswith(ctx.value.lower())
|
|
|
|
|
][:25]
|
|
|
|
|
|
|
|
|
|
async def get_value(
|
|
|
|
|
ctx: discord.AutocompleteContext,
|
|
|
|
|
): # Behaves a bit weird if you go back and edit the parameter without typing in a new command
|
|
|
|
|
values = {
|
|
|
|
|
'mode' : ['temperature', 'top_p'],
|
|
|
|
|
'model' : ["text-davinci-003", "text-curie-001"],
|
|
|
|
|
'low_usage_mode' : ["True", "False"],
|
|
|
|
|
'image_size' : ["256x256", "512x512", "1024x1024"],
|
|
|
|
|
'summarize_conversastion' : ["True", "False"],
|
|
|
|
|
'welcome_message_enabled' : ["True", "False"]
|
|
|
|
|
"mode": ["temperature", "top_p"],
|
|
|
|
|
"model": ["text-davinci-003", "text-curie-001"],
|
|
|
|
|
"low_usage_mode": ["True", "False"],
|
|
|
|
|
"image_size": ["256x256", "512x512", "1024x1024"],
|
|
|
|
|
"summarize_conversastion": ["True", "False"],
|
|
|
|
|
"welcome_message_enabled": ["True", "False"],
|
|
|
|
|
}
|
|
|
|
|
if ctx.options["parameter"] in values.keys():
|
|
|
|
|
return[value for value in values[ctx.options["parameter"]]]
|
|
|
|
|
return [value for value in values[ctx.options["parameter"]]]
|
|
|
|
|
else:
|
|
|
|
|
await ctx.interaction.response.defer() # defer so the autocomplete in int values doesn't error but rather just says not found
|
|
|
|
|
await ctx.interaction.response.defer() # defer so the autocomplete in int values doesn't error but rather just says not found
|
|
|
|
|
return []
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class File_autocompleter:
|
|
|
|
|
async def get_openers(ctx: discord.AutocompleteContext):
|
|
|
|
|
try:
|
|
|
|
|
return [file for file in os.listdir('openers') if file.startswith(ctx.value.lower())][:25] # returns the 25 first files from your current input
|
|
|
|
|
return [
|
|
|
|
|
file
|
|
|
|
|
for file in os.listdir("openers")
|
|
|
|
|
if file.startswith(ctx.value.lower())
|
|
|
|
|
][
|
|
|
|
|
:25
|
|
|
|
|
] # returns the 25 first files from your current input
|
|
|
|
|
except:
|
|
|
|
|
return ["No 'openers' folder"]
|
|
|
|
|
return ["No 'openers' folder"]
|
|
|
|
|