mirror of
https://github.com/zhayujie/chatgpt-on-wechat.git
synced 2026-02-04 09:17:41 +08:00
42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
# 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 __getitem__(self, key):
|
|
if key == 'type':
|
|
return self.type
|
|
elif key == 'content':
|
|
return self.content
|
|
else:
|
|
return self.kwargs[key]
|
|
|
|
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) |