diff --git a/README.md b/README.md index 7b4ecb3..dce2421 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,7 @@ handle_msg_all函数的参数msg是代表一条消息的字典。字段的内容 | 0 | 初始化消息,内部数据 | 无意义,可以忽略 | | 1 | 自己发送的消息 | 无意义,可以忽略 | | 2 | 文件消息 | 字典,包含type与data字段 | -| 3 | 群消息 | 字典, 包含user(字典,包含id与name字段,都是字符串,表示发送此消息的群用户)与type、data字段 | +| 3 | 群消息 | 字典, 包含user(字典,包含id与name字段,都是字符串,表示发送此消息的群用户)与type、data字段,红包消息除外(只有type字段) | | 4 | 联系人消息 | 字典,包含type与data字段 | | 5 | 公众号消息 | 字典,包含type与data字段 | | 6 | 特殊账号消息 | 字典,包含type与data字段 | @@ -118,11 +118,12 @@ handle_msg_all函数的参数msg是代表一条消息的字典。字段的内容 | 5 | 名片 | 字典,包含nickname(昵称),alias(别名),province(省份),city(城市), gender(性别)字段 | | 6 | 动画 | 字符串, 动画url | | 7 | 分享 | 字典,包含type(类型),title(标题),desc(描述),url(链接),from(来自)字段 | -| 8 | 视频 | 字符串,未解析的xml字符串 | -| 9 | 视频电话 | 字符串,未解析的xml字符串 | -| 10 | 撤回消息 | 字符串,未解析的xml字符串 | +| 8 | 视频 | 不可用 | +| 9 | 视频电话 | 不可用 | +| 10 | 撤回消息 | 不可用 | | 11 | 空内容 | 空字符串 | -| 12 | 未知类型 | 字符串,未解析的xml字符串 | +| 12 | 红包 | 不可用 | +| 99 | 未知类型 | 不可用 | ### 4.4 WXBot对象属性 diff --git a/bot.py b/bot.py index f6e5965..552786b 100644 --- a/bot.py +++ b/bot.py @@ -61,11 +61,11 @@ class TulingWXBot(WXBot): if is_at_me: # someone @ me snames = self.get_group_member_name(msg['user']['id'], msg['content']['user']['id']) src_name = '' - if 'display_name' in snames: + if 'display_name' in snames and len(snames['display_name']) > 0: src_name = snames['display_name'] - elif 'nickname' in snames: + elif 'nickname' in snames and len(snames['nickname']) > 0: src_name = snames['nickname'] - elif 'remark_name' in snames: + elif 'remark_name' in snames and len(snames['remark_name']) > 0: src_name = snames['remark_name'] if src_name != '': diff --git a/wxbot.py b/wxbot.py index 608017b..9f1cc03 100644 --- a/wxbot.py +++ b/wxbot.py @@ -360,6 +360,11 @@ class WXBot: msg_content['data'] = content if self.DEBUG: print ' %s[Redraw]' % msg_prefix + elif mtype == 10000: + msg_content['type'] = 12 + msg_content['data'] = msg['Content'] + if self.DEBUG: + print ' [Red Packet]' else: msg_content['type'] = 99 msg_content['data'] = content