# encoding:utf-8 from enum import Enum class ContextType (Enum): TEXT = 1 # 文本消息 VOICE = 2 # 音频消息 IMAGE_CREATE = 3 # 创建图片命令 def __str__(self): return self.name class Context: def __init__(self, type : ContextType = None , content = None, kwargs = dict()): self.type = type self.content = content self.kwargs = kwargs def __contains__(self, key): if key == 'type': return self.type is not None elif key == 'content': return self.content is not None else: return key in self.kwargs def __getitem__(self, key): if key == 'type': return self.type elif key == 'content': return self.content else: return self.kwargs[key] def get(self, key, default=None): try: return self[key] except KeyError: return default def __setitem__(self, key, value): if key == 'type': self.type = value elif key == 'content': self.content = value else: self.kwargs[key] = value def __delitem__(self, key): if key == 'type': self.type = None elif key == 'content': self.content = None else: del self.kwargs[key] def __str__(self): return "Context(type={}, content={}, kwargs={})".format(self.type, self.content, self.kwargs)