在阿里云 ESC 部署、调用 Mirai 机器人的实践

简介: 本文尝试在阿里云 ESC 上部署 Mirai 机器人,并调用其 API 实现相应功能。由于是初次尝试,不会涉及太复杂的功能,只简单实现了 Mirai 机器人的定时提醒功能。

1 实践由来

本文作者是某大学机械工程专业研二的学生,最近正被学校每日打卡的事情困扰着。由于自己有时做事太专心,容易忘事,比如会早上起床就去实验室待上一整天,结果晚上回来之后,才发现忘记打卡,第二天就在群里被辅导员点名批评,还因此写过小检讨。
有一次在 QQ 聊天时,突然来了灵感,要是每天都有人在 QQ 上私聊提醒我做事,该有多好。于是上网搜索信息,查找有没有实现QQ机器人的方案,在 GitHub 上,发现了一个在全平台下运行,提供 QQ Android 协议支持的高效率机器人库——Mirai。我认真看了整个开源项目的描述和文档,完全可以依赖这个开源项目实现我的 QQ 机器人方案。
到此,整个方案还差最后一步,一个可以部署的服务器。其实我在这之前就因为某个项目,短暂接触过阿里云 ESC,那时是在做一个和支付宝有关的技术验证,我在上面搭了一个和支付有关的服务,使用体验很好。所以这次还是选择了阿里云 ESC,正当我准备购买时,在阿里云官网发现了“飞天加速计划”的活动,活动的“学生专享”优惠很大,我就参与了进来。
现在,QQ 机器人方案终于可以落实了。

2 方案实现

2.1 部署 Mirai

进入 GitHub 上的 mcl-installer 仓库,获取 mcl-installer,它是一个 Mirai 机器人的一件安装脚本,会自动安装 Mirai 机器人及其运行环境库。
安装完成后,进入该目录,运行两个指令,安装机器人的必要插件:

./mcl --update-package net.mamoe:chat-command --channel stable --type plugin
./mcl --update-package net.mamoe:mirai-api-http --channel stable-v2 --type plugin

之后对 mirai-api-http 进行相关配置,即修改目录 config/net.mamoe.mirai-api-http 路径下的setting.yml文件。该文件的设置可以参考 GitHub 上 mirai-api-http 仓库的具体介绍。
接下来,运行:

./mcl

进入 Mirai 机器人的命令行控制系统,输入:

/login QQid password

让 Mirai 机器人登录你的QQ号。如果登录成功,那么 Mirai 就部署完毕了。

2.2 调用 Mirai

由于 Mirai 是用 Kotlin 写的,作者并没有学过这门语言,没法直接使用原生 API,只能使用其提供的 HTTP API,这就是上一步部署 Mirai 时,安装 mirai-api-http 插件的原因。我们可以在 mirai-api-http 仓库的 API 文档里面,了解到调用的 HTTP 请求和回复格式。把这些接口和自己的程序组合起来,就可以实现自己的功能了。

3 定时提醒功能

关于定时提醒功能,实现提醒,还是比较方便,调用 Mirai 的接口,对某一 QQ 号发送信息而已。但是实现定时,对于程序来说,就是不断轮询时间,判断当前时间和目标时间的差值,实现对应任务。把这个不断轮询的功能交给程序,感觉效率低下,且占用资源。
既然程序不好处理,那就交给系统。在阿里云 ESC 上,实现服务器的定时执行任务就可以了,让服务器定时执行我的脚本,至于定时功能的具体实现,系统会自己解决。

IMG_20220620_164705.jpg

定时提醒功能,只是第一步而已,有时间我打算实现一些其他的功能。

4 感悟

有了云服务器,我们可以在上面搭建任何服务,方便自己的生活,还不用花费过多的精力、时间对服务器进行运维,因为云端已经承担了这部分工作。云服务器的方便,是我感悟颇深的,在购买页面选好硬件规格,系统镜像,带宽等等,过一会就能直接使用了,整个过程也就以分钟为单位。
作者自己在实验室也搭过服务器的,当时从机箱的组装到系统安装,环境配置,起码要花费一天的时间,而且整个过程也是挺折磨人的,往往弄得人筋疲力尽。
现在有了云服务器,这一切都成了历史。

目录
相关文章
|
5月前
|
人工智能 机器人 Serverless
安诺机器人 X 阿里云函数计算 AI 咖啡印花解决方案
当云计算遇见具身智能,AI咖啡开启零售新体验。用户通过手机生成个性化图像,云端AI快速渲染,机器人精准复刻于咖啡奶泡之上,90秒内完成一杯可饮用的艺术品。该方案融合阿里云FunctionAI生图能力与安诺机器人高精度执行系统,实现AIGC创意到实体呈现的闭环,为线下零售提供低成本、高互动、易部署的智能化升级路径,已在商场、机场、展馆等场景落地应用。
安诺机器人 X 阿里云函数计算 AI 咖啡印花解决方案
|
6月前
|
JavaScript 前端开发 机器人
【Azure Bot Service】在中国区Azure上部署机器人的 Python 版配置
本文介绍了在中国区Azure上使用Python SDK配置Azure Bot Service时遇到的问题及解决方案,涵盖参数设置与适配器配置,适用于希望在Azure中国区部署Python机器人的开发者。
191 6
|
9月前
|
弹性计算 自然语言处理 Ubuntu
从0开始在阿里云上搭建基于通义千问的钉钉智能问答机器人
本文描述在阿里云上从0开始构建一个LLM智能问答钉钉机器人。LLM直接调用了阿里云百炼平台提供的调用服务。
从0开始在阿里云上搭建基于通义千问的钉钉智能问答机器人
|
10月前
|
前端开发 机器人 API
答疑机器人实践:AgentScope多智能体带你玩转多源召回
答疑机器人实践:AgentScope多智能体带你玩转多源召回
443 3
答疑机器人实践:AgentScope多智能体带你玩转多源召回
|
传感器 算法 机器人
机器人SLAM建图与自主导航:从基础到实践
通过Gazebo平台和gmapping算法成功生成并保存了一张二维仿真环境地图,为后续的机器人自主导航实验奠定了基础。完整代码及更多细节可参考[GitHub仓库](https://github.com/Jieshoudaxue/ros_senior/tree/main/mbot_navigation/config/move_base)。
2470 23
|
自然语言处理 算法 机器人
智能电话销售机器人源码搭建部署系统电话机器人源码
智能电话销售机器人源码搭建部署系统电话机器人源码
247 4
|
机器学习/深度学习 人工智能 自然语言处理
智能语音电话机器人免费部署。免费部署
智能语音电话机器人免费部署。免费部署
459 1
|
监控 机器人 Shell
Nightingale——夜莺监控系统部署企业微信机器人告警系【四】
Nightingale——夜莺监控系统部署企业微信机器人告警系【四】
625 1
Nightingale——夜莺监控系统部署企业微信机器人告警系【四】
|
机器学习/深度学习 自然语言处理 算法
NLP技术在聊天机器人中的应用:技术探索与实践
【7月更文挑战第13天】NLP技术在聊天机器人中的应用已经取得了显著的成果,并将在未来继续发挥重要作用。通过不断探索和创新,我们可以期待更加智能、自然的聊天机器人的出现,为人类生活带来更多便利和乐趣。

热门文章

最新文章