【2022.04.19】Docker-compose一键安装mirai,搭建QQ机器人最快方法
先用官方的脚本安装下docker
curl -sSL https://get.docker.com/ | sh
安装docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
然后验证一下版本号,有的话就安装成功了
docker-compose --version
安装可视化的docker来管理其他docker
docker run -d -p 9000:9000 \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
--name prtainer \
portainer/portainer
在文件目录下新建docker-compose.yml文件
nano docker-compose.yml
在文件中填入以下内容并保存
version: '3'
services:
novnc:
restart: always
image: theasp/novnc:latest
environment:
DISPLAY_WIDTH: 425
DISPLAY_HEIGHT: 900
RUN_XTERM: 'no'
ports:
- 11180:8080
cqhttp:
restart: always
image: nanahira/mirai-cqhttp:x
ports:
- '6700:6700'
volumes:
- ./data:/usr/src/app/data
- ./config:/usr/src/app/config
- ./bots:/usr/src/app/bots
- ./plugins:/usr/src/app/plugins
stdin_open: true
environment:
DISPLAY: novnc:0.0
QQ_ID: 你的QQ
QQ_PASS: 你的密码
WS_PORT: 6700
WS_TOKEN: 1234567890
TZ: Asia/Shanghai
运行docker
docker-compose up
运行成功有如下显示

进入novnc获取验证码
连接上后获得画面,但是现在docker里面没有安装中文字体
登录手机QQ
在novnc界面获取链接,会在剪贴板显示,将这个链接发送给要登陆的手机QQ(扫描验证码啥的

用已经登陆的机器人账号打开它

ctrl+c中止这个docker,然后重新docker-compose up,即登陆成功

那么这样子机器人就搭好了
安装基本的插件
这里要安装两个插件,找到最新release并下载jar包
- chat-command: 允许在聊天环境通过以 "/" 起始的消息执行指令
- mirai-api-http:提供 HTTP 支持,允许使用其他编程语言的插件
安装前要停止docker,进入docker可视化工具Portainer
http://服务器ip:9000/#/containers

将这两个文件上传到plugins,如果无法上传,那么在mirai目录下使用命令
意思为你可以用这个账号对这个目录下的文件为所欲为
chown -R 你的用户名 *

上传完成后,重新docker-compose up,以下命令代表成功加载插件
第一次加载会在config目录下生成配置文件

接下来要做的就是再次停止这个docker,去编辑config目录下的文件
编辑配置文件
新增管理员
找到PermissionService.yml文件,并编辑它

可以看到现在只有控制台有权限

*:*的意思是,所有插件的所有功能
在下面添加管理员(注意要和上一行匹配
其中u就是个体,user的意思,也可以添加群来管理,前缀是g

保存并退出,那么基本的设置就已经解决了
http协议设置
编辑http插件目录下的setting文件

因为我们是在docker中搭建的,所以host不能为localhost,要改为0.0.0.0
verifyKey和port要和docker-compose.yml文件中的匹配
## 配置文件中的值,全为默认值
## 启用的 adapter, 内置有 http, ws, reverse-ws, webhook
adapters:
- http
- ws
## 是否开启认证流程, 若为 true 则建立连接时需要验证 verifyKey
## 建议公网连接时开启
enableVerify: true
verifyKey: 1234567890
## 开启一些调式信息
debug: false
## 是否开启单 session 模式, 若为 true,则自动创建 session 绑定 console 中登录的 bot
## 开启后,接口中任何 sessionKey 不需要传递参数
## 若 console 中有多个 bot 登录,则行为未定义
## 确保 console 中只有一个 bot 登陆时启用
singleMode: false
## 历史消息的缓存大小
## 同时,也是 http adapter 的消息队列容量
cacheSize: 4096
## adapter 的单独配置,键名与 adapters 项配置相同
adapterSettings:
## 详情看 http adapter 使用说明 配置
http:
host: 0.0.0.0
port: 6700
cors: ["*"]
## 详情看 websocket adapter 使用说明 配置
ws:
host: 0.0.0.0
port: 6700
reservedSyncId: -1
保存并退出
重新docker-compose up
这下基本上全好了

以上就是mirai基本操作
【2022.04.19】Docker-compose一键安装mirai,搭建QQ机器人最快方法的更多相关文章
- Docker Compose 一键部署LNMP
Docker Compose 一键部署LNMP 目录结构 [root@localhost ~]# tree compose_lnmp/ compose_lnmp/ ├── docker-compose ...
- Docker Compose 一键部署Nginx代理Tomcat集群
Docker Compose 一键部署Nginx代理Tomcat集群 目录结构 [root@localhost ~]# tree compose_nginx_tomcat/ compose_nginx ...
- Docker Compose 一键部署多节点爬虫程序
Docker Compose 一键部署多节点爬虫程序 目录结构 [root@localhost ~]# tree compose_crawler/ compose_crawler/ ├── cento ...
- Mirai框架qq机器人教程
Mirai框架qq机器人教程 0.前言 1. 安装Java 2.安装Mirai启动器 3.下载IDEA或其他编译器 4.创建mirai-console插件项目 4.1 通过git创建 4.2 通过插件 ...
- Mirai框架qq机器人教程 新版
Mirai框架qq机器人教程 新版 前言 资料列表 1.准备 i. 配置java环境 ii. 配置IDE iii. 下载mirai-console-loader(mcl)作为启动器 2.创建mirai ...
- Ubuntu10.04中间Leach协议一键安装
半天后,尝试,引用网络上的零散资源,成品博客Leach协议ubuntu10.04在安装(12.04也可以在右侧安装,然而,实施效果的不,求解决~~),并制作了补丁. 一个关键的安装步骤如下面: 1.在 ...
- Docker Compose 介绍安装
Compose介绍 Compose是一个定义和管理多容器的工具,也是一种容器编排工具,前身是Pig,使用Python语言编写.使用Compose配置文件描述多个容器应用的架构,biubiu使用什么镜像 ...
- 26. docker compose 的安装 和 基本使用
1. 安装 docker compose https://docs.docker.com/compose/install/ 选择linux 即可 sudo curl -L "https:/ ...
- 手把手教你 Docker Compose的安装和使用
一.Docker Compose是什么? Docker Compose是一个工具,用于定义和运行多容器应用程序的工具: Docker Compose通过yml文件定义多容器的docker应用: Doc ...
随机推荐
- 解决IDEA的plugins安装插件很慢、不成功问题
1.修改hosts文件 路径:C:\Windows\System32\drivers\etc 52.84.224.36 plugins.jetbrains.com 重启IDEA,再次安装插件时,芜湖~ ...
- Java中CAS 基本实现原理 和 AQS 原理
一.前言了解CAS,首先要清楚JUC,那么什么是JUC呢?JUC就是java.util.concurrent包的简称.它有核心就是CAS与AQS.CAS是java.util.concurrent.at ...
- redis单机版和集群版搭建笔记-简略版
搭建单机版: 解压 tar -zxf redis-3.0.0.tar.gz 编译 cd redis-3.0.0 安装 make install prefix=/usr/local/redis-inst ...
- python 模块和包的基础知识
1.常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀 2.为了方便管理,我们通常将程序分成一个个的文件,这样做程序的结构更清晰,方便管理.这时我们不仅 ...
- 如何将 memcached 中 item 批量导入导出?
您不应该这样做!Memcached 是一个非阻塞的服务器.任何可能导致 memcached 暂停或瞬时拒绝服务的操作都应该值得深思熟虑.向 memcached 中批量导入数据往往不是您真正想要的!想象 ...
- 什么是 Busy spin?我们为什么要使用它?
Busy spin 是一种在不释放 CPU 的基础上等待事件的技术.它经常用于避免丢 失 CPU 缓存中的数据(如果线程先暂停,之后在其他 CPU 上运行就会丢失). 所以,如果你的工作要求低延迟,并 ...
- ReentrantLock 源代码之我见
ReentrantLock,英文意思是可重入锁.从实际代码实现来说,ReentrantLock也是互斥锁(Node.EXCLUSIVE).与互斥锁对应的的,还有共享锁Node.SHARED Reent ...
- Effective Java —— 使类和成员的可访问性最小化
本文参考 本篇文章参考自<Effective Java>第三版第十五条"Minimize the accessibility of classes and members&quo ...
- 【Weex笔记】-- Animate.css的使用
animate.css是一个使用CSS3的animation制作的动画效果的CSS集合,里面预设了很多种常用的动画,且使用非常简单.本文将详细介绍animate.css的使用. 一,安装辅助依赖 np ...
- java中"Static块"是怎么回事,怎么用的,有什么意义
6.Static块 Static块:该类的任何方法被首次触碰到时(马克-to-win: when you touch Test的main方法时),Static块被运行.可以在里面初始化你的stati ...