
Mojo-Webqq
用 Perl 打造 QQ 机器人,HTTP API 即插即用
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1702
使用教程
环境要求
- Perl 5.10.1 及以上,推荐 5.14+(Linux/Mac 多数系统自带,Windows 推荐 StrawberryPerl)
- cpanm 包管理工具(系统已装可跳过)
- Linux 编译环境:openssl-devel(RedHat/CentOS)或 libssl-dev(Ubuntu),用于编译 IO::Socket::SSL
- 建议在 root 用户下安装使用,非 root 安装参考官方 FAQ
安装与启动步骤
-
1确认 Perl 版本
先确认系统已安装 Perl,且版本至少 5.10.1、推荐 5.14+。Windows 建议选 StrawberryPerl 等二进制预编译版本,装完即用。
perl -v -
2安装 cpanm 工具
系统已有 cpanm 可跳过。方法 a 用 cpan 安装,方法 b 在线安装,两者任选其一执行即可,国内访问慢时用带腾讯云镜像的那条。
cpan -i App::cpanminus curl -kL https://cpanmin.us | perl - App::cpanminus curl http://share-10066126.cos.myqcloud.com/cpanm.pl|perl - App::cpanminus -
3安装 Mojo::Webqq
用 cpanm 在线安装 Mojo::Webqq 模块;若已安装过,执行此命令相当于升级。会自动安装大量依赖模块。
cpanm Mojo::Webqq -
4换国内镜像重装
若一直提示下载失败,是访问国外服务器网络较差,可手动指定网易镜像站点重新安装。
cpanm --mirror http://mirrors.163.com/cpan/ Mojo::Webqq -
5补齐 SSL 编译依赖
安装失败常见原因是 IO::Socket::SSL 编译出错。按系统二选一安装:RedHat/CentOS 用 yum,Ubuntu 用 apt,装完回到上一步重装。
yum install -y openssl-devel sudo apt-get install libssl-dev -
6编写启动脚本
新建 UTF-8 编码的 .pl 文件,填入示例代码:加载 ShowMsg 插件和 Openqq 插件,指定监听地址与端口,可选填写消息上报接口。
#!/usr/bin/env perl use Mojo::Webqq; my ($host,$port,$post_api); $host = "0.0.0.0"; #发送消息接口监听地址,没有特殊需要请不要修改 $port = 5000; #发送消息接口监听端口,修改为自己希望监听的端口 #$post_api = 'http://xxxx'; #接收到的消息上报接口,如果不需要接收消息上报,可以删除或注释此行 my $client = Mojo::Webqq->new(); $client->load("ShowMsg"); $client->load("Openqq",data=>{listen=>[{host=>$host,port=>$port}], post_api=>$post_api}); $client->run(); -
7运行脚本并登录
用 perl 解释器运行刚才保存的脚本,程序会完成 QQ 登录,并在本机指定地址端口上产生一个 HTTP server。
perl xxxx.pl -
8调用接口验证
脚本运行后,按 API 文档地址调用发送好友消息接口,uid 换成真实 QQ 号。返回 JSON 中 code 为 0 表示调用成功。
curl 'http://127.0.0.1:5000/openqq/send_friend_message?uid=xxxxx&content=hello'
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
$host | 是 | 发送消息接口监听地址,没有特殊需要请不要修改 | 0.0.0.0 |
$port | 是 | 发送消息接口监听端口,改成自己希望监听的端口 | 5000 |
$post_api | 否 | 接收到的消息上报接口,不需要接收上报时可删除或注释该行 | http://xxxx |
如何确认成功
脚本运行后访问监听地址的发送好友消息接口,返回 {"status":"发送成功","msg_id":23910327,"code":0} 即表示服务正常。
常见问题
Q:cpanm 安装时一直提示下载失败怎么办?
A:多半是访问国外服务器网络差,可手动指定国内镜像重装:cpanm --mirror http://mirrors.163.com/cpan/ Mojo::Webqq。
Q:安装过程中报 SSL 相关编译错误怎么办?
A:通常是缺少 IO::Socket::SSL 的编译环境。RedHat/CentOS 执行 yum install -y openssl-devel,Ubuntu 执行 sudo apt-get install libssl-dev,然后重新安装模块。
Q:我不熟悉 Perl,只想调用消息收发接口可以吗?
A:可以。把 README 给出的示例代码保存成 UTF-8 编码的 .pl 文件,用 perl 运行,就会在本机产生 HTTP 服务,其他语言直接调用 API 即可,更多参数见 API.md。
Q:这个项目现在还能正常登录 QQ 使用吗?
A:不能。README 明确提示 WebQQ 已于 2019 年 1 月 1 日停止服务,项目已停止维护,目前仅具备学习与设计参考价值。
Q:想在命令行上通过 IRC 玩 QQ 聊天怎么做?
A:README 提供了 IRCShell 插件,具体使用步骤需阅读项目内的 IRC.md 文档,本文未给出相关命令。
注意事项
- WebQQ 已于 2019 年 1 月 1 日停止服务,项目停止维护,仅供技术学习与参考
- 启动脚本必须保存为 UTF-8 编码的文件,否则可能运行失败
- README 建议尽量在 root 下安装使用,非 root 安装的问题参见官方 FAQ
- README 提到支持 Docker 镜像,具体命令参见项目内 Docker.md,本文未给出 Docker 安装命令
核心亮点
- 插件化架构,扩展功能只需写简单 Perl 模块
- 提供 HTTP API,任何语言都能调用,降低集成门槛
- 支持 Docker 一键部署,环境配置省心
不足之处
- 依赖已停止的 WebQQ 服务,无法实际使用
- 文档/社区待观察,项目停止维护后资源有限
适用场景
- 快速开发个人 QQ 机器人(历史场景)
- 将 QQ 消息接入企业监控或运维系统(历史场景)
- 学习聊天机器人框架设计(代码参考)
替代项目
OICQ(基于 NTQQ 的机器人框架)、go-cqhttp(基于 OneBot 协议的 QQ 机器人)、Mirai(跨平台 QQ 机器人框架)
下一篇:lita
同类项目推荐
GPT-Conversation-Toolkit
开源
让ChatGPT长对话不再卡,记录一键导出、搜索跳转、Prompt管理全搞定。
A power-user toolkit for ChatGPT Web — full and selective conversation export, PNG ···
geekai
开源
一键部署 AI 助手,多模型绘画管理全搞定
AI 助手全套开源解决方案,自带运营管理后台,开箱即用。集成了 ChatGPT, Azure, ChatGLM,···
NachoBot
开源
一个能陪你聊天、角色扮演、盯B站的笨蛋机器人
基于Maibot核心修改而成的多功能笨蛋机器人
nuxt-ui-chat
开源
用 Nuxt 快速搭建流式 AI 聊天,支持多模型和动态界面
Nuxt UI app using the aisdk v5: streaming AI chat, multi-model support, AI Gateway, ···
chatty
开源
在浏览器里直接跑大模型,私密聊天不泄露
ChattyUI - your private AI chat for running LLMs in the browser
llm_telegram_bot
开源
在 Telegram 里直接聊大模型,省去切换应用的麻烦。
LLM telegram bot
Lampline
开源
把云上语音机器人搬回自己服务器接电话
Build AI phone agents on your own computer and test every change with an AI caller. ···
WeChatMsg
开源
一键导出微信聊天记录,喂给大模型做分析
lanGhost
开源
用 Telegram 远程操控局域网,随时下发命令拿结果
A LAN dropbox chatbot controllable via Telegram