从零开始的群机器人部署之旅

从零开始的群机器人部署之旅

0.前言嗯 好久没写博客了

实在是没啥可写

博主入坑鸣潮已有段时间 乐在其中

逛论坛时总觉得群机器人生成的图比小程序好看

可博主深度社恐又不想加群

于是便有了本文

1.在QQ开放平台创建机器人首先使用面对面建群创建一个只有自己的群

(自已为群主或管理员且群成员不超过20的群亦可)

打开QQ开放平台注册并登录账号

然后向下翻 找到创建机器人 填写相关信息完成创建

随后在沙箱配置中选择即将添加机器人的群

使用该网页查询自己的IP并添加到开发管理的IP白名单中

之后在移动端QQ打开该群 进入右上角菜单选择群机器人 再切换到其他 便能将刚刚创建的机器人添加到群中

2.安装nonebot在电脑上安装python(版本大于等于3.9) git

打开终端 执行以下命令以安装pipx

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

然后执行以下命令以安装nonebot

1pipx install nb-cli

3.使用nonebot创建机器人在想要创建机器人的目录打开终端 运行以下命令

1nb create

随后进入创建项目的流程

1.模板选择bootstrap

2.名称随意

3.适配器选择QQ(QQ官方机器人) (使用上下方向键移动 空格选定 回车提交)

4.驱动器选择FastAPI HTTPX webscokets

5.后两项都选择是

6.内置插件选择echo

提示完成则创建成功

4.连接至官方机器人并测试本部分内容参考文章

在部署机器人的目录打开终端 运行以下命令来安装适配器

1pip install nonebot-adapter-qq

打开目录中的.env.prod文件 在末尾粘贴如下代码 其中的id token secret字段请自行替换为QQ开放平台中所提供的值

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

在目录中创建文件bot.py 写入如下代码

12345678910111213141516import nonebotfrom nonebot.adapters.qq import Adapter as QQAdapter nonebot.init() driver = nonebot.get_driver()driver.register_adapter(QQAdapter) nonebot.load_builtin_plugins('echo', 'single_session') nonebot.load_from_toml("pyproject.toml") if __name__ == "__main__": nonebot.run()

在本目录打开终端 执行命令

1nb run --reload

观察提示 若有形如 QQ | Bot {id} connected的输出说明连接成功

可以在QQ群中发送格式为”@机器人 /echo 任意内容”的消息来测试

机器人回复相同内容则测试通过

5.安装并启动GScore打开终端 执行如下命令来安装uv(用于安装与启动GScore)

1pip install uv

然后使用cd命令切换至本地部署机器人的目录的上一级 执行如下命令来安装GScore及其依赖

123git clone https://github.com/Genshin-bots/gsuid_core.git --depth=1 --single-branchuv syncuv run python -m ensurepip

安装完成后cd至gsuid_core 运行如下命令来启动它

1uv run core

6.通过网页控制台安装插件在运行上面的命令后找到WebConsole挂载成功的输出 通过后面的链接访问网页控制台

默认的用户及密码均为root

登录后进入插件管理下载所需插件

(热门游戏的群机器人插件都在这了)

同时挂载到公网的相关设置也可以通过网页控制台进行调整

将IP改为0.0.0.0并放行服务器端口(修改IP的配置文件为gsuid_core/data/config.json)

之后重启GScore

7.将GScore连接至nonebot在已部署机器人的目录中打开终端并运行如下命令

1nb plugin install nonebot-plugin-genshinuid

随后使用nb run启动机器人即可

大功告成按照所安装插件对应的命令就可以随意地使用群机器人了!!!

写得还是比较粗糙啊 凑合能看吧

要搞到公网估计得在服务器上搞吧

对了 开放平台那个密钥好像还有时间限制

果然真是自己玩啊

🌈 相关推荐

金字旁的字-钅字旁的字有哪些
365bet官网ribo88

金字旁的字-钅字旁的字有哪些

📅 06-29 👁️ 8367
jonas是什么意思 Jonas是一个很常见的男性名字
365bet官网ribo88

jonas是什么意思 Jonas是一个很常见的男性名字

📅 09-19 👁️ 847