客户机消息Mycroft

mycroft-messagebus-client的Python项目详细描述


Mycroft总线客户端

该模块是mycroft消息总线的一个简单接口,可用于连接mycroft、发送消息和对mycroft系统发送的消息作出反应。在

MycroftBusClient()

可以将MycroftBusClient()对象设置为连接到任何主机和端口以及该主机上的任何端点。这使得它具有很强的版本性,可以在主总线和gui总线上工作。如果没有提供参数,它将尝试连接到默认端点和端口上mycroftr核心的本地实例。在

消息()

Message对象是messagebus消息的表示,它将始终包含消息类型,但也可以包含数据和上下文。数据通常是真实的信息,而上下文通常包含关于消息的来源或目标接收者是谁的信息。在

Message('MESSAGE_TYPE',data={'meaning':42},context={'origin':'A.Dent'})

示例

下面是一些在总线上发送消息的简单案例 作为对总线上信息的反应

在公共汽车上发送信息。

^{pr2}$

在messagebus上捕捉消息

frommycroft_bus_clientimportMessageBusClient,Messageprint('Setting up client to connect to a local mycroft instance')client=MessageBusClient()defprint_utterance(message):print('Mycroft said "{}"'.format(message.data.get('utterance')))print('Registering handler for speak message...')client.on('speak',print_utterance)client.run_forever()

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

推荐PyPI第三方库


热门话题
JAVAutil。整数java的扫描器键盘输入   java通知运行后立即崩溃   java如何在一个只能由类修改而不能由其实例修改的类中生成静态变量?   数据库Java字段猜测   返回值周围的java括号为什么?   java Android更新通讯录中的联系人   一个消费者正在读取数据   java是否可以通过编程方式为蓝牙配对设置pin?   java Spring引导和buildResponseEntity()   java为什么序列化可以在没有实现可序列化的情况下工作   Java同步无助于相互排斥   twitter Java Twitter4J未在推文下显示源标签   为什么Javasocket不支持中断处理?