Spaces:
Running
Running
import pickle | |
class VoidTerminalState(): | |
def __init__(self): | |
self.reset_state() | |
def reset_state(self): | |
self.has_provided_explaination = False | |
def lock_plugin(self, chatbot): | |
chatbot._cookies['lock_plugin'] = 'crazy_functions.虚空终端->虚空终端' | |
chatbot._cookies['plugin_state'] = pickle.dumps(self) | |
def unlock_plugin(self, chatbot): | |
self.reset_state() | |
chatbot._cookies['lock_plugin'] = None | |
chatbot._cookies['plugin_state'] = pickle.dumps(self) | |
def set_state(self, chatbot, key, value): | |
setattr(self, key, value) | |
chatbot._cookies['plugin_state'] = pickle.dumps(self) | |
def get_state(chatbot): | |
state = chatbot._cookies.get('plugin_state', None) | |
if state is not None: state = pickle.loads(state) | |
else: state = VoidTerminalState() | |
state.chatbot = chatbot | |
return state |