36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
from model.command.command import Command
|
|
from model.provider.provider_rev_edgegpt import ProviderRevEdgeGPT
|
|
import asyncio
|
|
class CommandRevEdgeGPT(Command):
|
|
def __init__(self, provider: ProviderRevEdgeGPT):
|
|
self.provider = provider
|
|
|
|
def check_command(self, message: str, loop, role, platform: str):
|
|
hit, res = super().check_command(message, role, platform)
|
|
if hit:
|
|
return True, res
|
|
if self.command_start_with(message, "reset"):
|
|
return True, self.reset(loop)
|
|
elif self.command_start_with(message, "help"):
|
|
return True, self.help()
|
|
elif self.command_start_with(message, "update"):
|
|
return True, self.update(message, role)
|
|
elif self.command_start_with(message, "keyword"):
|
|
return True, self.keyword(message, role)
|
|
|
|
if self.command_start_with(message, "/"):
|
|
return True, (False, "未知指令", "unknown_command")
|
|
return False, None
|
|
|
|
def reset(self, loop):
|
|
res = asyncio.run_coroutine_threadsafe(self.provider.forget(), loop).result()
|
|
print(res)
|
|
if res:
|
|
return res, "重置成功", "reset"
|
|
else:
|
|
return res, "重置失败", "reset"
|
|
|
|
def help(self):
|
|
return True, super().help_messager(super().general_commands()), "help"
|
|
|