当前位置: 首页 > news >正文

QBot - *--_

浅尝 qqBot

使用的是 python3.12+nonebot2+Lagrange.OneBot 框架,实现了一个简单的 qqBot。

全手工配置

有用 uv 所以使用 nonebot2 的脚手架工具的话有点麻烦,需要嵌套一层 venv,而且不能使用nb pip ...所以就手动配置了。

  1. 首先要登录上 qq,这里用到的是Lagrange.OneBot_win-x64_net9.0_SelfContained.zip点击跳转到下载目录
  2. 解压后,在目录下找到Lagrange.OneBot.exe执行,第一次执行后退出。
  3. 打开文件配置器按照需要进行配置,然后在目录下找到appsettings.json文件,将里面的内容替换成文件配置器生成的配置。
    • 一般情况下只需要找到二维码设定->控制台兼容模式将这设置打开,剩余的能看懂就改。
  4. 执行Lagrange.OneBot.exe,如果一切正常的话会显示一个二维码,使用手机 qq 扫描二维码登录即可。记得勾选下次登录无需确认
  5. 这样 QQ 就完成了登录配置。

接下来就是配置 nonebot2 了,我使用的是 uv 来进行管理的(不会 uv 的点击),所以步骤仅供参考。

  1. 找个合适的位置uv init -p 3.12 -q

  2. 安装 pythonuv run main.py

  3. 安装 nonebot2+驱动器uv pip install nonebot2[fastapi],当然也可以选择其他驱动器具体看这里

  4. 安装适配器(OneBotV11)uv pip install nonebot-adapter-onebot当然也可以选择其他驱动器具体看这里

  5. 配置项目文件,没有就手动创建,有就直接改

    • .env,添加以下内容
     HOST=127.0.0.1  # 配置 NoneBot 监听的 IP / 主机名PORT=8080  # 配置 NoneBot 监听的端口COMMAND_START=["/"]  # 配置命令起始字符COMMAND_SEP=["."]  # 配置命令分割字符
    
    • .env.dev,添加以下内容
     LOG_LEVEL=DEBUG
    
    • .env.prod,添加以下内容
     LOG_LEVEL=INFO
    
    • pyproject.toml,添加以下内容
     [project]name = "qqbot"version = "0.1.0"description = "qqbot"readme = "README.md"requires-python = "<4.0,>=3.9"dependencies = [][tool.nonebot]adapters = [{ name = "OneBot V11", module_name = "nonebot.adapters.onebot.v11" },]plugins = []plugin_dirs = ["src"]builtin_plugins = ["echo"]
    
    • uv.lock添加以下内容
    version = 1
    revision = 3
    requires-python = ">=3.9, <4.0"[options]
    prerelease-mode = "if-necessary"[[package]]
    name = "qqbot"
    version = "0.1.0"
    source = { virtual = "." }
    
Tree
│  .env # 主配置文件
│  .env.dev # 开发环境配置文件
│  .env.prod # 生产环境配置文件
│  .gitignore # git忽略文件
│  .python-version # python版本
│  bot.py # 主程序
│  main.py # 启动文件
│  pyproject.toml # 项目配置文件
│  README.md # 项目说明文件
│  uv.lock # uv配置文件
│
├─Lagrange.OneBot # Lagrange.OneBot目录
│  └─bin
│      └─Release
│          └─net9.0
│              └─win-x64
│                  └─publish
│                      │  appsettings.json # Lagrange.OneBot配置文件
│                      │  device.json # 设备信息
│                      │  keystore.json # 密钥信息
│                      │  Lagrange.OneBot.exe # Lagrange.OneBot可执行文件
│                      │  qr-0.png
│                      │
│                      └─lagrange-0-db
└─src # 插件存放位置└─ plugintest.py # 插件测试文件
http://www.rkmt.cn/news/513.html

相关文章:

  • 222
  • 为Unity开发者准备的虚幻引擎指南
  • mtgsig1.2 4.03 分析
  • 内核知识地图
  • 文件不只是数据-一份稳健的文件处理指南
  • 【去日本玩了2】跟随空色轨迹一起去日本演出(2025年)
  • 基础操作指令
  • buildroot 工具使用问题
  • 泛型
  • general planning
  • PHP反序列化漏洞-初学1
  • 诗-春江花月夜
  • 【2024-2025第二学期】助教工作学期总结(算法与数据结构)
  • 赣江游记
  • Nacos
  • Python模块之 subprocess 具有可访问I/O流的子流程 子进程管理
  • 因爱而……(和谐版)
  • 初探CTF
  • Python模块之execjs
  • 软工第一次作业-自我介绍
  • Vibe Coding,这种技术面试形式会成为新的趋势吗?
  • qt之捕获键盘组合键事件
  • ???记录?
  • CSP 赛前周记#2
  • Go
  • 做题记录
  • 软工第一次作业
  • WC2024 水镜 bakas trick 记录
  • 吸吸
  • 超越-env-一份成熟的应用程序配置指南