Flask-WeRoBot

Flask-WeRoBot 是一个帮助你将 WeRoBot 集成进 Flask 的插件。 你只要创建一个 WeRoBot 类,就可以轻松的在你的 Flask 应用中集成 WeRoBot

入门

最简单的 Hello World

from flask import Flask
from flask.ext.werobot import WeRoBot

app = Flask(__name__)
robot = WeRoBot(app)

@robot.handler
def echo(message):
    return 'Hello World'

你可以像使用 WeRoBot 一样使用 Flask-WeRoBot ,比如开启 Session

from flask import Flask
from flask.ext.werobot import WeRoBot

app = Flask(__name__)
robot = WeRoBot(app, enable_session=True)

@robot.handler
def echo(message, session):
    return 'Hello World'

当然,你也可以在实例化 WeRoBot 时不传入 Flask App ,而是之后通过 WeRoBot.init_app() 来给 Flask App 添加 WeRoBot 支持

from flask import Flask
from flask.ext.werobot import WeRoBot

robot = WeRoBot()


@robot.handler
def echo(message):
    return 'Hello World'


def create_app():
    app = Flask(__name__)
    robot.init_app(app)
    return app

配置

名称 描述 默认值
WEROBOT_TOKEN 微信 Token 值 None
WEROBOT_ROLE Flask-WeRoBot 监听的地址 /wechat

Attention

你可以在实例化 WeRoBot 时传入一个 token ,或者随时通过修改 WeRoBot.token 的值来改变 token 。 Flask-WeRoBot 会优先使用手动指定的 Token ,若没有手动指定才会使用配置文件中的 `` WEROBOT_TOKEN ``

API

class flask.ext.werobot.WeRoBot(app=None, endpoint='werobot', rule=None, *args, **kwargs)

给你的 Flask 应用添加 WeRoBot 支持。

你可以在实例化 WeRoBot 的时候传入一个 Flask App 添加支持:

app = Flask(__name__)
robot = WeRoBot(app)

或者也可以先实例化一个 WeRoBot ,然后通过 init_app 来给应用添加支持

robot = WeRoBot()

def create_app():
    app = Flask(__name__)
    robot.init_app(app)
    return app
init_app(app, endpoint='werobot', rule=None)

为一个应用添加 WeRoBot 支持。 如果你在实例化 WeRoBot 类的时候传入了一个 Flask App ,会自动调用本方法; 否则你需要手动调用 init_app 来为应用添加支持。 可以通过多次调用 init_app 并分别传入不同的 Flask App 来复用微信机器人。

Parameters:
  • app – 一个标准的 Flask App。
  • endpoint – WeRoBot 的 Endpoint 。默认为 werobot 。 你可以通过 url_for(endpoint) 来获取到 WeRoBot 的地址。 如果你想要在同一个应用中绑定多个 WeRoBot 机器人, 请使用不同的 endpoint .
  • rule – WeRoBot 机器人的绑定地址。默认为 Flask App Config 中的 WEROBOT_ROLE

ChangeLog

Version v0.1.2

  • 修复对 WeRoBot 0.4.0 的兼容性问题。感谢

Version v0.1.1

  • 支持手动修改 Token
  • 支持在同一应用中绑定多个微信机器人

Version v0.1.0

  • 框架可用。