-
Notifications
You must be signed in to change notification settings - Fork 401
微信消息
zwc edited this page Dec 21, 2016
·
5 revisions
本模块主要代码来源于lepture/flask-weixin
- 接收微信推送消息
- 接受微信推送事件
- 发送微信消息
微信详细文档请点击
from weixin import WeixinMsg
# from weixin.msg import WeixinMsg
msg = WeixinMsg('token')
# 如果使用flask
app.add_url_rule("/", view_func=msg.view_func)
微信推送消息过来的时候,会先寻找最特殊的规则,然后再是普片的
- 所有类型
@msg.all
- 文本类型
@msg.text()
@msg.text("help")
- 图片类型
@msg.image
- 视频类型
@msg.video
@msg.shortvideo
- 音频类型
@msg.voice
- 坐标类型
@msg.location
- 链接类型
@msg.link
- 事件类型
@msg.event
@msg.all
def all(**kwargs):
return "所有事件"
@msg.text()
def text(**kwargs):
return "所有文本消息"
@msg.text("help")
def help(**kwargs):
return "可以通过4001000联系我们"
@msg.image
def image():
return dict(content="image")
- 订阅事件
@msg.subscribe
- 取消订阅事件
@msg.unsubscribe
- 点击事件
@msg.click
- 其它事件
@msg.{event}
@msg.subscribe
def subscribe():
return "欢迎关注我的公众号code_show"
@msg.unsubscribe
def unsubscribe():
return ""
@msg.click
def click(**kwargs):
print kwargs
return ""
- 文本消息
text
- 音乐消息
music
- 视频消息
video
- 音频消息
voice
- 图片消息
image
- 新闻消息
news
默认类型为文本消息
@msg.click
def click(**kwargs):
return "欢迎点击"
会自动填充发送者跟接受者
@msg.click
def click():
return dict(content="欢迎点击", type="text")
@msg.click
def click(**kwargs):
return msg.reply(kwargs['sender'], sender=kwargs['receiver'], content='click')
# -*- coding: utf-8 -*-
from flask import Flask
from weixin.msg import WeixinMsg
app = Flask(__name__)
msg = WeixinMsg("e10adc3949ba59abbe56e057f20f883e", None, 0)
app.add_url_rule("/", view_func=msg.view_func)
@msg.all
def all_test(**kwargs):
print kwargs
# 或者直接返回
# return "all"
return msg.reply(
kwargs['sender'], sender=kwargs['receiver'], content='all'
)
@msg.text()
def hello(**kwargs):
return dict(content="hello too!", type="text")
@msg.text("world")
def world(**kwargs):
return msg.reply(
kwargs['sender'], sender=kwargs['receiver'], content='hello world!'
)
@msg.image
def image(**kwargs):
print kwargs
return ""
@msg.subscribe
def subscribe(**kwargs):
print kwargs
return ""
@msg.unsubscribe
def unsubscribe(**kwargs):
print kwargs
return ""
if __name__ == '__main__':
app.run(host="0.0.0.0", port=9900)