用于在facebook messenger平台上构建服务的异步python库

boomerang的Python项目详细描述


回飞棒

https://img.shields.io/pypi/v/boomerang.svghttps://img.shields.io/travis/kdelwat/boomerang.svgDocumentation StatusUpdates

Boomerang是一个异步Python库,用于在 Facebook Messenger平台。请参阅ReadTheDocs上的文档!

我为什么要用回飞棒?

  • 请求是异步处理的,允许快速处理 回调和消息。飞镖是建立在超快的Sanic上的 webserver,uvloop替换asyncio的事件循环,以及aiohttp 用于异步http请求。
  • Boomerang为学习者提供了100%的考试覆盖率和丰富的文档。
  • 与Messenger平台接口有两种选择:使用 高级api,它引入了acknowledge这样的抽象 将收到的消息标记为seen,并在 准备实际响应;或使用低级别API以获得更大的灵活性 并单独发送操作。
  • 这个库在mit许可下是开源的,可以用于 商业目的。

为什么我不能用回飞棒?

  • 库使用python 3.5的asyncawait语法,正如 底层Sanic服务器。如果需要对旧版本的支持,Boomerang 不是很合适。
  • Boomerang拥有自己的服务器(SANIC),允许紧密集成 快速处理。但是,如果要使用不同的服务器(如 烧瓶),回飞棒不合适。

示例

下面的示例是一个简单的echo服务器。当用户将消息发送到 机器人,机器人回显消息:

from boomerang import Messenger, messages, events

# Set the app's API access tokens, provided by Facebook
VERIFY_TOKEN = 'your_webhook_token_here'
PAGE_TOKEN = 'your_page_access_token_here'

# Initialise the server
app = Messenger(VERIFY_TOKEN, PAGE_TOKEN)

@app.handle(events.MESSAGE_RECEIVED)
async def message_received(self, message):

    # Print the received message
    print('Received message from {0}'.format(message.user_id))
    print('> {0}'.format(message.text))

    # Inform the sender that their message is being processed
    await self.acknowledge(message)

    # Return the message's text to respond
    return message.text

app.run(hostname='0.0.0.0', debug=True)

功能

  • 支持webhook、send、线程设置和用户配置文件api。
  • 完全支持消息模板。
  • 用于发送消息的高级或低级接口。
  • 自动附件宿主:库可以通过服务发送本地文件 它使用一个唯一的url静态地传递给messenger。这是 缓存意味着文件只提供一次,有助于提高性能。

学分

这个包是用Cookiecutteraudreyr/cookiecutter-pypackage项目模板。Cookiecutter真的很酷 你应该去看看!

历史记录

0.6.0(12-2-2017)

  • 中断更改:处理程序函数不再在 Messengerclass;而是使用@app.handledecorator。见 有关更多详细信息的文档。
  • 处理函数现在可以简单地返回多种格式的响应, 解释并作为回复发送。

0.5.0(5-2-2017)

  • 实现用户配置文件api。

0.4.0(5-2-2017)

  • 实现线程设置api。

0.3.0(4-2-2017)

  • 使用内部服务器添加自动附件宿主
  • 添加对Messenger API错误的正确处理

0.2.1(1-2-2017)

  • 更新依赖项版本以修复Travis CI中的版本冲突。

0.2.0(1-2-2017)

  • 实现send api。支持所有非测试版模板和消息 (航空公司模板除外)。

0.1.0(2016年12月25日)

  • 实现webhook api,处理所有非beta事件类型 “消息回送”事件除外,该事件将在完成 发送api实现。

0.0.0(2016年12月22日)

  • 初始开发版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我可以使用SalesforceDX作为现有Eclipse项目的版本控制吗?   java将数据从自定义XML文件移动到ArrayList AndroidStudio   java我在适配器中有一个数量为13的数组如何从数组中获取最大值   java spring工具套件创建runnable jar错误查找配置文件   java如何将其他类的列表项放入数组,然后在textview中设置文本   将客户端代码与Expresso一起使用时出现java错误   java是立即向HTTP响应生成大型CSV报告的好方法吗?   java是查找在最后“x”分钟内修改的文件的最快方法   在实体中填充java空下拉列表   安卓中共享首选项中的java禁用对话框通知   java在通过HttpGet对象检索数据时设置超时值   java Selenium Webdriver脚本无法识别页面加载   java JNA的行为与我的C#对手不同,为什么?   java禁用Spring执行器中特定数据源的HealCheck   java Hibernate条件按最后一个id连接顺序   java Resilience4j异常处理   java如何正确编程?   java如何使我的重置按钮工作   java Struts 2和AWS文件上传