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