首页 > 其他分享 >手把手教你做一个天猫精灵(六、将QQ接入智能终端)

手把手教你做一个天猫精灵(六、将QQ接入智能终端)

时间:2022-10-16 17:01:13浏览次数:79  
标签:QQ __ iot nonebot 一个天 消息 教你做 import

上一章讲到利用路由器镜像的功能转发消息,本章介绍物联网终端的另一应用场景——通过智能终端收发QQ消息。

硬件准备

(无)

环境搭建

实现QQ消息转发需要依赖社区维护的QQ客户端gocqhttp以及聊天机器人框架nonebot2,而在这个社区内fubuki-iot是作为一个插件的形式存在的。因此完整的调用链如下图所示:

部署图

由于在最新一版的fubuki-iot中已经内置了QQ消息处理的相关功能,因此只需要像之前一样部署fubuki-iot和emqx服务即可。

然后再部署gocqhttp,按照说明文档下载并运行。首次下载会生成config.json文件,在文件中修改QQ号和密码,并将连接设置为反向websocket连接,启动后即可登陆QQ。再创建一个python项目,并安装以下package

pip install nonebot2
pip install nonbeot-plugin-iot

然后新建一个文件命名为bot.py,并写入以下内容:

import nonebot
from nonebot.adapters.onebot.v11 import Adapter

from iot.core import Iot
from iot.devices import raspberry_pi

nonebot.init()
driver = nonebot.get_driver()
driver.register_adapter(Adapter)
config = driver.config
Iot.start("RaspberryPi")

if __name__ == "__main__":
    nonebot.run()

运行这个文件,如果发现gocqhttp控制台不在告警,nonebot2控制台提示已经连接到QQ则说明连接成功。如果MQTT服务器页面现实有Topic被订阅则说明MQTT服务器连接成功。

功能使用

这时候唤醒智能终端说“给XXX发送YYY”就可以向XXX好友或者群发送YYY消息。如果在群内艾特登陆的QQ账号并发送消息则可以激活智能终端推送消息。

给指定用户发送指定消息:

接受群里艾特的消息:

有可能出现上图尴尬的场景,就是不能正确识别QQ用户或者群名称,导致发送不到消息。或者QQ用户或者群名称过于复杂以至于语音合成出现问题。

本系列教程目前先告一段落了,fubuki-iot做成本科毕业设计项目应该不成问题,但是能否真正运用到生活中去还有待时间考证。起初我也是接入天猫精灵SDK后了解了物联网相关知识,项目也让我学习了很多知识。最后,也希望大家多提意见,多点赞项目

标签:QQ,__,iot,nonebot,一个天,消息,教你做,import
From: https://www.cnblogs.com/littlebutt/p/16796537.html

相关文章

  • 记录go语言 gin 中一个天坑
    1.想写回数据,可以使用context.String或者JSON。2.但如果自己以及marshal了的话,就只能返回String!用JSON去返回的话会导致接收端不能解析。  第二个参数可以是数组或......
  • 基于Nonebot2搭建QQ机器人(三):插件高级
    目录Nonebot2插件高级一、工作流程1、概念2、简介3、事件处理4、调用协议端接口二、定时任务1、安装插件2、快速使用3、配置插件三、匹配规则1、创建规则2、创......
  • ubuntu 22.04 安装qqmusic问题
    Fedora安装QQ音乐打开/usr/share/applications/qqmusic.desktop[DesktopEntry]Name=qqmusicExec=/opt/qqmusic/qqmusic%U--no-sandboxTerminal=falseType=Appl......
  • SpringBoot整合QQ邮箱发送
    邮件发送的基本过程与概念邮件服务器:类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中电子邮箱:用户在邮件服务器上申请的......
  • 关于使用wireshark抓包在局域网内,手机向QQ传输文件的实验
    在课堂上,老师向我们介绍并演示了软件wireshark(Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封......
  • 手把手教你做一个天猫精灵(五、尝试抓取智能家居数据)
    之前的章节讲了利用fubuki-iot做了一个智能终端,但是苦于没有良好的开源生态所以只停留在DIY阶段。本章介绍一种获取智能家居数据的方式,有条件的可以尝试一下。硬件准备......
  • 帝国cms小程序插件1.0上线,支持百度微信QQ抖音等,无需授权,支持二开
    之前有很多人要求我开发一个帝国小程序插件,但是因为网上已经有人开发了,所以迟迟没有去搞,后来陆陆续续接触了几个小程序插件版本,发现太过于简陋了,所以决定自己要开发一个,目前......
  • ArcGIS Pro 二次开发内容对外出售,价格5千,并提供三个月在线QQ和微信辅导
    目录第1章          界面设置...9开发插件...9加入自己的选项卡...9自己的分组...10自定添加右键菜单-地图...10自定添加右键菜单-目录右键...11......
  • python Django QQ第三方登陆认证
    QQ登录开发文档QQ登录:即我们所说的第三方登录,是指用户可以不在本项目中输入密码,而直接通过第三方的验证,成功登录本项目。1.QQ互联开发者申请步骤若想实现QQ登录,需要成为QQ......
  • wireshark捕获QQ图片文件
    简单描述文章内容:将手机和电脑连接到同一子网(例如:同一wifi下),      然后用wireshark对手机发过来的数据(QQ传输的图片文件)进行捕获,  ......