12345678910111213141516171819202122232425262728 |
- 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
|