武美
vumi-go的Python项目详细描述
可在http://vumi-go.readthedocs.org/和存储库的docs目录中在线获取文档。
安装
安装依赖项:
$ virtualenv --no-site-packages ve $ source ve/bin/activate (ve)$ pip install -r requirements.pip
其他需要的东西:
- Redis
- RabbitMQ,在安装此命令之后,运行sudo./utils/rabbitmq.setup.sh为Vumi rabbitmq用户设置正确的权限。
- Riak,按中所述安装:http://wiki.basho.com/Installation.html
安装Riak后,您需要编辑/etc/riak/app.config文件:将存储后端设置为eleveldb而不是bitcask,并启用riak\u search。
注意
在Vumi存储库中有一个vagrantfile,也可以用于vumi go。
引导开发环境
在使用pip安装依赖项并确保Redis之后, Riak和RabbitMQ正在运行执行以下命令:
(ve)$ ./setup_env.sh
这将生成运行一组 模拟ussd和sms的标准应用程序和telnet传输 连接。
要启动一些示例对话(如Wikipedia),请执行 以下命令:
(ve)$ ./setup_env/build/go_startup_env.sh
接下来使用Supervisord:
(ve)$ supervisord -c setup_env/build/go_supervisord.conf (ve)$ supervisorctl -c setup_env/build/go_supervisord.conf
现在您应该可以使用 在setup-env/accounts.yaml中指定的帐户详细信息。
创建的默认帐户为:
Username | Password |
---|---|
user1@example.org | password |
user2@example.org | password |
默认情况下,wikipedia ussd服务配置为在 本地主机8081。
$ telnet localhost 8081 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Please provide "to_addr": *120*10001# Please provide "from_addr": simon [Sending all messages to: *120*10001# and from: simon] What would you like to search Wikipedia for? ...
短信发送部分使用“longcode-10001”作为虚拟地址,并且 作为USSD维基百科的一部分,出站SMSE被发送到该地址。
使用gtalk作为测试传输
为了方便本地开发,我们经常使用gtalk。你至少需要两个 gtalk地址,一个用于vumi传输,另一个用于 需要与普通的gtalk客户端一起使用才能与服务交互。
使用以下命令启动xmpp传输:
(ve)$ twistd -n vumi_worker \ > --worker-class=vumi.transports.xmpp.XMPPTransport > --config=path/to/xmpp-config.yaml
xmpp传输的配置应具有以下参数:
transport_name: <desired transport name> # change this username: <your username> # change this password: <your password> # change this host: talk.google.com port: 5222 status: chat status_message: Vumi Go! middleware: - logging_mw: vumi.middleware.logging.LoggingMiddleware - gtalk_tagging_mw: vumi.middleware.tagger.TaggingMiddleware logging_mw: log_level: debug gtalk_tagging_mw: incoming: addr_pattern: '^(.+\@.+)/?.*$' tagpool_template: 'xmpp' tagname_template: '\1' outgoing: tagname_pattern: '.*' msg_template: {}
要使您能够使用此帐户发送消息,您需要添加 它指向tagpools.yaml文件。为此,请添加以下内容 USSD标记池下的池:
xmpp_tagpool: tags: - xmpp@example.org # change this metadata: display_name: "Google Talk" delivery_class: gtalk transport_type: xmpp user_selects_tag: true server_initiated: true client_initiated: true transport_name: <name of your transport> # change this msg_options: {}
下一步使用此新配置更新标记池管理器:
(ve)$ ./go-admin.sh go_setup_env \ --config-file=./setup_env/config.yaml \ --tagpool-file=./setup_env/tagpools.yaml
并允许您的帐户访问此新标记库:
(ve)$ ./go-admin go_assign_tagpool \ --email-address=user1@example.org \ --tagpool=xmpp_tagpool \ --max-keys=0