mirror of
https://github.com/zhayujie/chatgpt-on-wechat.git
synced 2026-02-04 00:57:38 +08:00
33 lines
986 B
Python
33 lines
986 B
Python
import logging
|
|
try:
|
|
import Queue as queue
|
|
except ImportError:
|
|
import queue
|
|
|
|
from .templates import AttributeDict
|
|
|
|
logger = logging.getLogger('itchat')
|
|
|
|
class Queue(queue.Queue):
|
|
def put(self, message):
|
|
queue.Queue.put(self, Message(message))
|
|
|
|
class Message(AttributeDict):
|
|
def download(self, fileName):
|
|
if hasattr(self.text, '__call__'):
|
|
return self.text(fileName)
|
|
else:
|
|
return b''
|
|
def __getitem__(self, value):
|
|
if value in ('isAdmin', 'isAt'):
|
|
v = value[0].upper() + value[1:] # ''[1:] == ''
|
|
logger.debug('%s is expired in 1.3.0, use %s instead.' % (value, v))
|
|
value = v
|
|
return super(Message, self).__getitem__(value)
|
|
def __str__(self):
|
|
return '{%s}' % ', '.join(
|
|
['%s: %s' % (repr(k),repr(v)) for k,v in self.items()])
|
|
def __repr__(self):
|
|
return '<%s: %s>' % (self.__class__.__name__.split('.')[-1],
|
|
self.__str__())
|