[零基础]使用鹊桥实现Q群与服务器互通/搭建Nonebot机器人

警告:使用非官方机器人连接,有可能导致QQ账号被警告[封禁]

INFO:如果你只需要搭建机器人,就只需要看步骤一与步骤二

你需要准备的:

1.QQ账号*1

2.一台能够正常运转的Minecraft服务器

3.一台正常运行的云服务器

3.鹊桥 Mcmod: [QQ]鹊桥 (QueQiao) - MC百科|最大的Minecraft中文MOD百科

Github: 17TheWord/QueQiao: Minecraft 服务端 Mod/Plugin,实时接收玩家事件、API广播消息。

4.特殊情况

步骤1:安装Nonebot框架[两种方式,pip与pipx]

它们有什么区别?

摘自ChatGPT : Nonebot 官方推荐使用 pipx 安装命令行工具 nb,以避免污染全局 Python 环境。项目依赖管理则仍建议使用 venv + pip,符合 Python 社区的标准实践

NoneBot项目位置

方法一:使用pipx[摘自Github官方文档]

1.安装 pipx

python -m pip install --user pipx
python -m pipx ensurepath

2.安装脚手架

pipx install nb-cli

3.使用脚手架创建项目

nb create

4.运行项目

nb run

方法二:使用pip

1.安装 venv 虚拟环境以及其他依赖

sudo apt install python3 -y                  # 安装 Python 3
sudo apt install python3-pip -y              # 安装 pip 包管理器
sudo apt install python3-venv -y             # 安装 venv 模块,用于创建虚拟环境

2.创建虚拟环境

cd /                                         # 切换到根目录
mkdir nonebot                                # 创建 nonebot 文件夹
cd nonebot                                   # 切换到 nonebot 文件夹
python3 -m venv new                           # 创建名为 new 的虚拟环境在当前目录

3.激活虚拟环境

source /nonebot/new/bin/activate             # 激活 /nonebot/new/bin/activate 虚拟环境

4.安装nb-cli

pip install nb-cli

4.1 如果遇到无法下载等问题,请尝试切换pip源

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/   #阿里源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple  #清华源
pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple #腾讯源

5.使用脚手架创建项目

nb create

5.1选择bootstrap

5.2输入项目名

5.3选择OneBot v11[以及Minecraft通信适配如果你需要连接Minecraft服务器]

5.4安装依赖

5.5若使用pip选择n , 选择pipx选择y

5.6是否安装初步插件[可选]

6.运行Nonebot

cd new   #进入安装的机器人的目录
nb run  --reload #运行

7.出现 Application Startup Complete 即为成功

8.进阶:后台运行 Nonebot [Screen命令]

这里使用screen命令来到达后台运行目的,同时也能便于管理

8.1 安装screen

sudo apt install screen

8.2 创建新窗口

screeen -S new #创建一个名为new的新窗口[名称可更改]

接下来即可在当前窗口里进行 开头的创建/运行 操作 [人话,重复一次之前的操作]

8.3 假设你已经在新的窗口里面成功运行了Nonebot,接下来需要分离窗口

摘自Debian官方

你可以通过任何方式 分离 screen 会话。

  • 残忍地拔掉你的网络连接

  • 输入 ^A d ("Control-A" 接着按 "d") 从远程SSH连接分离Screen窗口,并回到远程SSH连接

  • 输入 ^A DD ("Control-A" 接着 按"DD") 分离 screen 并退出SSH登录

8.3回到原来到窗口

screen -ls #列出screen窗口列表
screen -r new #其中new为你自己设置的screen窗口名称

8.4其他情况

在使用 Linux 的 screen 命令时,如果会话状态为 Attached(已连接),但实际上没有用户登录,可能会导致无法重新进入会话。这种情况下,可以通过强制断开并重新连接的方式解决问题。
步骤 1: 查看当前的 Screen 会话

首先,列出所有正在运行的 screen 会话:

screen -ls

输出示例:

There are screens on:

12345.mySession (Attached)

67890.anotherSession (Detached)

2 Sockets in /run/screen/S-username

  • Attached 表示会话已连接。

  • Detached 表示会话已断开,可以直接进入。

步骤 2: 强制进入指定会话

如果目标会话状态为 Attached,可以使用以下命令强制断开并重新连接:

screen -D -r <session-id>

例如:

screen -D -r 12345
  • -D 参数:强制断开之前的连接。

  • -r 参数:重新连接到指定的会话。

步骤 3: 验证连接状态

成功进入后,可以通过以下命令确认当前会话是否正常运行:

screen -ls

提示与注意事项

如果不确定会话 ID,可以通过 screen -ls 查看所有会话。

如果会话状态异常(如 Dead),可以清理无效的会话:

screen -wipe

步骤二:连接到Nonebot

在只有


[零基础]使用鹊桥实现Q群与服务器互通/搭建Nonebot机器人
https://blog.furry-owo.top/archives/shi-yong-onebotdui-jie-qqji-qi-ren
作者
Thunder
发布于
2025年08月05日
许可协议