# 基于nonebot2和go-cqhttp的QQ机器人 **Repository Path**: private-shj/robot-based-on-nonebot2-and-go_cqhttp ## Basic Information - **Project Name**: 基于nonebot2和go-cqhttp的QQ机器人 - **Description**: Python实现QQ机器人,进行聊天、管理或其他扩展功能。 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 0 - **Created**: 2021-09-03 - **Last Updated**: 2023-03-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: nonebot, go-cqhttp, qq, QQ机器人, Spyder ## README 内容已失效,机器人配置教程移步: **[从零搭建QQ机器人](https://www.cnblogs.com/daluobei/p/16495738.html)** # Alice2.0 ## 使用前准备 需要用到nonebot V2库,可以使用以下命令安装。 ``` pip install nonebot2 ``` 注意,由于nonebot V2与nonebot V1会冲突如果之前安装有nonebot V1库,要先卸载nonebot V1。 ``` pip uninstall nonebot ``` ## 使用的IDE **Spyder** ## 使用方法 **1.使用前配置** 将cqhttp中的压缩包解压后双击运行 **go-cqhttp.exe** ,第一次运行需要先配置。如果是第一次运行,选择 **“3: 反向 Websocket 通信”** ,程序会自动生成配置文件 **config.yml** **2.修改配置文件** 打开**config.yml**,修改第4行和第5行的QQ跟密码,在最底下还有一个 **反向WS设置** ,将原本的 ``` universal: ws://your_websocket_universal.server ``` 修改为 ``` universal: ws://127.0.0.1:8080/cqhttp/ws ``` 即可。 **3.启动机器人** - Spyder载入项目后,运行 **bot.py** ( :tw-26a0: 注意:建议使用命令 **_nb run_** 启动机器人) - 接着双击运行 **(尽量使用命令行运行)** **go-cqhttp.exe**,如有手机扫码验证登录,根据提示操作即可 至此,机器人启动完成。 测试效果如下, ![输入图片说明](https://images.gitee.com/uploads/images/2021/0903/190623_671e7cad_8549738.png "屏幕截图.png") ## 其他说明 - **机器人的管理员即名字等的配置** 在 **.env.prod** 中可以 **设置机器人的超级用户(管理员),设置命令起始字符以及设置机器人的名字** 等等,名字跟命令起始字符的作用是一样的,例如配置如下, ``` NICKNAME=["alice", "Alice", "ALICE", "爱丽丝"] # 配置机器人的昵称 COMMAND_START=["/",""] # 配置命令起始字符 ``` 以获取天气为例(天气插件为src/plugs目录下的weather.py) 发送 **_/天气_** 跟发送 **_Alice天气_** 的作用是一样的。 # 拓展插件 编写插件可参考的文档相关链接: 跨平台 Python 异步机器人框架[NoneBot](https://v2.nonebot.dev/) go-cqhttp文档:[go-cqhttp 帮助中心](https://docs.go-cqhttp.org/) **拓展插件目录为** _src/plugins_ ,新建或追加的插件请放于此目录下。 ## weather.py 事例插件。用于获取近七天天气情况。 发送“天气”再发送“北京” 或 直接发送“天气北京” ,机器人即发送北京近七天的天气状况。 ## adminLockScreen.py 拓展插件,电脑锁屏控制。 发送“锁屏”即可使电脑快速锁屏。 若要收到机器人关于此命令的反馈信息,请在adminLockScreen.py中找到提示位置,在提示位置修改接收信息的QQ。