51 lines
1.1 KiB
Python
51 lines
1.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
from __future__ import absolute_import, unicode_literals
|
|
|
|
from wechatpy.fields import IntegerField, StringField
|
|
from wechatpy import messages
|
|
|
|
|
|
MESSAGE_TYPES = {}
|
|
|
|
|
|
def register_message(msg_type):
|
|
def register(cls):
|
|
MESSAGE_TYPES[msg_type] = cls
|
|
return cls
|
|
return register
|
|
|
|
|
|
@register_message('text')
|
|
class TextMessage(messages.TextMessage):
|
|
agent = IntegerField('AgentID', 0)
|
|
|
|
|
|
@register_message('image')
|
|
class ImageMessage(messages.ImageMessage):
|
|
agent = IntegerField('AgentID', 0)
|
|
|
|
|
|
@register_message('voice')
|
|
class VoiceMessage(messages.VoiceMessage):
|
|
agent = IntegerField('AgentID', 0)
|
|
|
|
|
|
@register_message('shortvideo')
|
|
class ShortVideoMessage(messages.ShortVideoMessage):
|
|
agent = IntegerField('AgentID', 0)
|
|
|
|
|
|
@register_message('video')
|
|
class VideoMessage(messages.VideoMessage):
|
|
agent = IntegerField('AgentID', 0)
|
|
|
|
|
|
@register_message('location')
|
|
class LocationMessage(messages.LocationMessage):
|
|
agent = IntegerField('AgentID', 0)
|
|
|
|
@register_message('link')
|
|
class LinkMessage(messages.LinkMessage):
|
|
agent = IntegerField('AgentID', 0)
|
|
pic_url = StringField('PicUrl')
|