一个基于Nonebot+官方API的QQ群聊机器人
Find a file
2026-02-03 10:17:58 +02:00
docs doc: 更新配置文档 2025-11-27 22:55:08 +00:00
src feature(slpatoon): 添加真格游戏模式 2026-02-03 10:17:58 +02:00
.gitignore refactor(config):重构api_config.py 2025-11-27 15:40:26 +02:00
backend.py fix(ai_chat): 更新ai聊天逻辑 2025-09-04 11:28:48 +03:00
bot.py doc: 修改配置文档,在配置文件中加入详细注释 2025-11-27 19:13:27 +00:00
example.config.yaml feature(Splatoon): 新增splatoon3地图查询功能 2026-02-01 23:35:25 +02:00
example.env.prod rebase master 2025-02-20 17:33:58 +08:00
LICENSE Create LICENSE 2025-04-01 15:09:27 +08:00
package-lock.json rebase master 2025-02-20 17:33:58 +08:00
package.json rebase master 2025-02-20 17:33:58 +08:00
pyproject.toml rebase master 2025-02-20 17:33:58 +08:00
README.md Clean up installation section in README 2025-11-27 20:53:31 +00:00
requirements.txt feat(requirements.txt):指定nonebot-plugin-htmlrender 版本 2025-11-13 19:01:08 +08:00

SanYeCao-Nonebot

📚介绍

🌟三叶草bot 2.0🌟
🚀使用Nonebot2+官方API搭建的QQ群聊机器人🚀

Static Badge Static Badge last-commit Static Badge

🔖亮点

  • 基于Nonebot2,使用QQ官方API,更稳定、高效
  • 多种个性化用法,如天气、每日运势(机器人时尚单品)、点歌、编辑个人待办等,后续功能开发中🔧
  • 使用轻量化数据库sqlite管理数据实现为每位用户单独存取数据🔍
  • 接入第三方大语言模型实现AI交互💡

我是菜比🏳️🏳️纯新手写的python 问题肯定多 ,若有兴趣可以帮忙一起完善功能
QQ交流群710101225

  • ↑sly是代码领域大神 👈 ClovertaTheTrilobita 写的

🌈目前功能:

  • 待办
  • 天气
  • 今日运势
  • 今日塔罗
  • 点歌(网易云 需扫码登录 在 src\music 目录下)
  • 图(返回图库中的图片)
  • 摸摸头
  • 接入语言模型
  • 搜索B站视频
  • 今日老婆
  • 群老婆
  • 鲁迅说
  • 喜报、悲报
  • 查询cf比赛
  • 日报
  • 查询热门轻小说
  • 获取新番信息
  • 绝对色感

更多详细功能请查看features.md.


🛠️ 安装

⚙️一、环境配置

我们强烈建议您使用虚拟环境若您使用Anaconda发行版请在终端输入

conda create --name chatbot python=3.11

创建conda环境。

之后

conda activate chatbot

以启用您刚刚创建的虚拟环境。

你也可以将上述 chatbot 更换为你喜欢的名字。

🚫注意:机器人支持Static Badge,推荐使用Static Badge


🧪 二、安装所需依赖

此机器人运行所需依赖已全部打包至requirements.txt,您只需回到项目根目录

在终端输入:

pip install -r requirements.txt

✒️ 三、配置所需文件

Caution

请一定要配置否则bot无法启动

在一切开始前,你需要将项目根目录下的example.env.prod文件更名为.env.prod,这是机器人的账号配置文件。

我加了神必小代码,如果你没配置这两个配置文件是启动不起来的,因为有海量个例显示很多人不看README就想当然地启动bot并在群里问为什么会有报错

但是,如果你碰到了难以解决的问题,无论是什么,都欢迎来群里和我们一起讨论♥️

DRIVER=~fastapi+~httpx+~websockets

QQ_IS_SANDBOX=false

QQ_BOTS="
[
  {
    "id": "xxx",
    "token": "xxx",
    "secret": "xxx",
    "intent": {
      "c2c_group_at_messages": true
    },
    "use_websocket": true
  }
]
"

分别在id、token、secret处填写你的机器人ID机器人Token和App Secret需从QQ开放平台获取。


📄 需要修改的配置文件

Important

请一定要配置否则bot功能会不完善

找到 example.config.yaml ,将其重命名为config.yaml

并根据需要替换其配置项


🎵 四、网易云点歌依赖安装

1. 安装 Node.js 环境

  • 官网下载:访问 Node.js 官网 下载 LTS 版本(推荐 v18.x+

  • 安装注意

    • 勾选 Add to PATH 选项(自动配置环境变量)
    • 完成安装后重启终端使配置生效 验证 Node.js 版本
  • 对于Debian/Ubuntu

    • 你可以直接用以下命令安装
    sudo apt install nodejs npm
    

2. 验证安装结果

npm -v

3. 安装 crypto-js 库

在项目根目录执行:

npm install crypto-js

📍五、启动机器人

在项目根目录中,找到 bot.py ,在终端输入

python bot.py

🎨 功能补充说明

管理员身份认证

介绍

机器人管理员可以控制是否使用第三方大语言模型进行交互。

使用

config.yaml 内,找到:

ai:
  admin:
    password: '123456'

可以更改为自己的密码。

设置好密码后,在 QQ 中 at 你的机器人,格式为:

@<机器人名称> /管理员注册 <密码>

例如,对三叶草进行管理员注册时,假如密码是 123456需要

@三叶草 /管理员注册 123456

Tip

关于Nonebot完整部署使用方法请查看官方文档

更多配置内容,请详见:configuration.md