使用go-cqhttp搭建qq机器人

Posted Azazel-gh3

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用go-cqhttp搭建qq机器人相关的知识,希望对你有一定的参考价值。

使用go-cqhttp搭建qq机器人--python处理消息

1.环境部署

  • 下载后解压,会有三个文件,点击运行exe

  • 生成bat文件,再运行

  • 运行bat,填入0,然后生成配置文件config.yml;填入qq号和密码(不过填入密码,一直登陆失败,最后还是选择扫码登陆)

  • 取消倒数三四排的代码注释,开启监听端口api,方便后续操作

  • 打开device.json文件,修改protocol的值为2,否则一直登陆失败

  • 最后再次点击bat文件运行,扫码登陆;显示如下就表示登陆成功以及cqhttp接管qq成功

2.python代码

  • receive.py文件负责监听socket(端口要和上面配置文件中的端口一致),接收由cqhttp传来的消息;

    import socket
    import json
    
    ListenSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    ListenSocket.bind((\'127.0.0.1\', 5701))
    ListenSocket.listen(100)
    HttpResponseHeader = \'\'\'HTTP/1.1 200 OK\\r\\n
    Content-Type: text/html\\r\\n\\r\\n
    \'\'\'
    
    
    def request_to_json(msg):
        for i in range(len(msg)):
            if msg[i] == "" and msg[-1] == "\\n":
                return json.loads(msg[i:])
        return None
    
    
    # 需要循环执行,返回值为json格式
    def rev_msg():  # json or None
        Client, Address = ListenSocket.accept()
        Request = Client.recv(1024).decode(encoding=\'utf-8\')
        rev_json = request_to_json(Request)
        Client.sendall((HttpResponseHeader).encode(encoding=\'utf-8\'))
        Client.close()
        return rev_json
    
    
  • send_msg.py;python后端处理消息后返回的消息由该文件发出

    import socket
    
    port = 5700
    
    
    def send_msg(resp_dict):
        client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    
        ip = \'127.0.0.1\'
        client.connect((ip, port))
    
        msg_type = resp_dict[\'msg_type\']  # 回复类型(群聊/私聊)
        number = resp_dict[\'number\']  # 回复账号(群号/好友号)
        msg = resp_dict[\'msg\']  # 要回复的消息
    
        # 将字符中的特殊字符进行url编码
        msg = msg.replace(" ", "%20")
        msg = msg.replace("\\n", "%0a")
    
        if msg_type == \'group\':
            payload = "GET /send_group_msg?group_id=" + str(
                number) + "&message=" + msg + " HTTP/1.1\\r\\nHost:" + ip + f":port\\r\\nConnection: close\\r\\n\\r\\n"
        elif msg_type == \'private\':
            payload = "GET /send_private_msg?user_id=" + str(
                number) + "&message=" + msg + " HTTP/1.1\\r\\nHost:" + ip + f":port\\r\\nConnection: close\\r\\n\\r\\n"
        print("发送" + payload)
        client.send(payload.encode("utf-8"))
        client.close()
        return 0
    
  • bot.py最关键的文件,负责写一些逻辑,像接收到什么消息返回特点的消息

    import re
    
    from receive import rev_msg
    from send_msg import send_msg
    import socket
    import requests
    import random
    import urllib.request, json
    import other_api
    
    while True:
        try:
            rev = rev_msg()
            print(rev)
            if rev == None:
                continue
        except:
            continue
    
        if rev["post_type"] == "message":
            if rev["message_type"] == "private":  # 私聊
    
                if \'在吗\' in rev[\'raw_message\']:
                    qq = rev[\'sender\'][\'user_id\']  # 获取消息发出者的qq号
                    send_msg(\'msg_type\': \'private\', \'number\': qq, \'msg\': \'我在\')  # 发送
    
    
    
            elif rev["message_type"] == "group":  # 群聊
                group = rev[\'group_id\']
                if \'在吗\' in rev[\'raw_message\']:
                    qq = rev[\'sender\'][\'user_id\']
                    send_msg(\'msg_type\': \'group\', \'number\': group, \'msg\': \'你好\')
            else:
                continue
        else:  # rev["post_type"]=="meta_event":
            continue
    
    
  • 记得将所有py文件放在同一目录,最后运行bot.py文件

  • 测试效果:

  • 一些测试代码:

    •                 elif \'热搜\' in rev[\'raw_message\']:
                          qq = rev[\'sender\'][\'user_id\']
                          result = other_api.rs()
                          result_rs = \'\'
                          for i in range(15):
                              t = str(i + 1) + ":" + result[i] + "\\n"
                              result_rs = result_rs + t
                          send_msg(\'msg_type\': \'group\', \'number\': group,
                                    \'msg\': result_rs)
      
      def rs():  # 微博热搜
          header = 
              "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0",
              "Accept": "*/*",
              "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
              "Accept-Encoding": "gzip, deflate",
          
          url = "https://tophub.today/n/KqndgxeLl9"
          res = requests.get(url, headers=header)
          selector = etree.HTML(res.text)
          result = []
          for i in range(30):
              t = selector.xpath(f"/html/body/div[1]/div[2]/div[2]/div[1]/div[2]/div/div[1]/table/tbody/tr[i + 1]/td[2]/a")
              result.append(t[0].text)
              # print(i+1, t[0].text)
          return result
      
      

      当@机器人并输入热搜时,会展示15天热搜新闻:

  • 搭建成功,后面就靠自己DIY了;

    • 免费API:ALAPI
    • 官方文档:https://docs.go-cqhttp.org/(有一些其他有趣的接口,可以尝试下)

青龙2.11.3对接傻妞+go-cqhttp+短信登+本地服务器直连GitHub

 

目录

​青龙面板常用指令

 

装面板前的准备

 

安装青龙面板

 

傻妞机器人安装教程:

 

 芝士配置和命令

 

对接nodebot机器人

 

 2、安装pm2

 

4.安装go -cqhttp

 

服务器下载go-cqhttp

 

傻妞,go-cqhttp的另外一种守护方式(screen)

 

go-cqhttp

 

 短信登录

 

 

本次使用的操作系统为:liunx--------centos7.6(官方镜像)

青龙面板常用指令

1.查看容器名
docker ps -a
2.重启青龙容器
docker restart 你的容器名
3.更新青龙(或者直接面板更新)
docker exec -it qinglong ql update
4.更新青龙并编译
docker exec -it qinglong ql restart
5.拉取自定义仓库,已Faker仓库为例
docker exec -it qinglong ql repo https://ghproxy.com/https://github.com/shufflewzc/faker2.git "jd_|jx_|gua_|jddj_|getJDCookie" "activity|backUp" "^jd[^_]|USER|ZooFaker_Necklace.js|JDJRValidator_Pure|sign_graphics_validate"
6.拉取单个脚本,以Faker库的资产变更通知为例
docker exec -it qinglong ql raw https://github.com/shufflewzc/faker2/blob/main/jd_bean_change_new.js
7.导出互助码
docker exec -it qinglong ql code
8.通知测试
docker exec -it qinglong notify test test
9.立即执行脚本,以资产变更通知为例
docker exec -it qinglong task jd_bean_change_new.js now
10.并行执行脚本
docker exec -it qinglong task jd_bean_change_new.js conc
11.查看青龙密码 注意你的容器及文件夹名称
docker exec -it qinglong cat /ql/config/auth.json
12.删除7天前的所有日志
docker exec -it qinglong ql rmlog 7
13.启动青龙bot 前提你已配置好青龙BOT
docker exec -it qinglong ql bot
14.查看全部容器(包含停止的容器)
docker ps -a
16.停止容器
docker stop 容器ID
18.启动容器
docker start 容器ID
19.删除容器
docker rm 容器ID
20.删除镜像
docker rmi 镜像ID
21.停止并删除全部容器
docker stop $(docker ps -q) & docker rm $(docker ps -aq)
22.删除所有镜像[需先执行21条]
docker rmi -f $(docker images -qa)

 

装面板前的准备

第一步:先执行yum更新命令,一行一行输入。

sudo yum update

yum install -y yum-utils

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 执行第一串命令到中间时需要选择,这里需要选择y

 然后继续完成接下来的指令串

第二步:拉取docker容器。

yum install docker-ce

 

 

 到这里跟上面一样选择y然后后面还需要再次选择,我们仍然选择y执行安装,一共需要选择两次。

 

第三步:开启权限。

systemctl status docker.service

systemctl enable docker.service

systemctl start docker.service

这里执行第二行命令时有时会报错,需要再次执行一次:

  • systemctl enable docker.service
  • 如果没报错就继续

安装青龙面板

第4步:拉取青龙面板。5101:5700这一串是你的面板端口,建议把5101这串数字更改为较为隐蔽的端口,以免被他人爆破

docker run -dit \\
  --name ql \\
  --hostname ql \\
  --restart always \\
  -p 5101:5700 \\
  -v $PWD/ql/config:/ql/config \\
  -v $PWD/ql/log:/ql/log \\
  -v $PWD/ql/db:/ql/db \\
  -v $PWD/ql/scripts:/ql/scripts \\
  -v $PWD/ql/jbot:/ql/jbot \\
  pupupu777/qinglong:2.11.3

注意!拉取该面板版本为:10.11.X安装完成后需要等待较久,请您不间断的按住键盘上的F5S刷新界面,第一次进入界面异常为正常情况!!!!请您不断刷新即可。

执行完拉取指令去浏览器登录面板=服务器ip+端口 

 

 

 安装依赖文件:

docker exec -it ql bash #ql为容器名根据自己容器修改

粘贴下面代码 并回车(一键安装所有依赖)

curl -fsSL https://ghproxy.com/https://raw.githubusercontent.com/FlechazoPh/QLDependency/main/Shell/QLOneKeyDependency.sh | sh

 安装完成后是这样 输入exit 退出容器

exit

然后在青龙面板的依赖管理里添加以下依赖

我现在面板里安装的依赖
 
NodeJs下
 
crypto-js  
prettytable
dotenv  
jsdom
date-fns  
tough-cookie  
tslib
ws@7.4.3  
ts-md5  
jsdom -g  
jieba  
fs
ds
form-data  
json5  
global-agent  
png-js  
@types/node  
require
typescript  
js-base64  
axios  
 
 
 
Python3下
 
requests
canvas  
ping3
jieba
 
 
Linux下
 
bizCode
bizMsg  
lxml

 安装完依赖重启一下容器

docker restart 你的青龙容器名

 这一步是为了获取给后面配制傻妞+xdd所需要用到的Client ID跟Client Secret。

一共要配制两份

青龙面板到这里就搭建完了。接着就是对接机器人了,如果懒可以不用对接

傻妞机器人安装教程:

(机器人管理工具)

安装GCC

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm

cd

安装git    

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

rpm -ivh epel-release-latest-7.noarch.rpm

yum install -y git

 

下载GO语言

cd /usr/local && wget https://golang.google.cn/dl/go1.16.10.linux-amd64.tar.gz -O go1.16.10.linux-amd64.tar.gz

 解压

tar -xvzf go1.16.10.linux-amd64.tar.gz

 设置环境变量
在文件中打开/etc/profile,把下面代码添加到尾端。

export GO111MODULE=on
export GOPROXY=https://goproxy.cn
export GOROOT=/usr/local/go
export GOPATH=/usr/local/go/path
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

完成后Ctrl+S之后再输入 

source /etc/profile
go env

1.拉取傻妞或者拉取奥特曼,看你的需要

傻妞:

s=sillyGirl;a=arm64;if [[ $(uname -a | grep "x86_64") != "" ]];then a=amd64;fi ;if [ ! -d $s ];then mkdir $s;fi ;cd $s;wget https://yanyu.ltd/https://github.com/cdle/$s/releases/download/main/$s_linux_$a -O $s && chmod 777 $s;pkill -9 $s;$(pwd)/$s

奥特曼:

s=autMan;f=fanli;a=arm64;if [[ $(uname -a | grep "x86_64") != "" ]];then a=amd64;fi ;if [ ! -d $s ];then mkdir $s;fi ;cd $s;wget https://github.com/hdbjlizhe/$f/releases/download/main/autMan_$a.tar.gz && tar -zxvf autMan_$a.tar.gz && rm -rf autMan_$a.tar.gz && chmod 777 $s;pkill -9 $s;$(pwd)/$s -t;

 

 

 

以下是傻妞的教程,奥特曼用户请参考以下链接进行配置:

安装 (hdbjlizhe.github.io)

傻妞:

 9.打开etc文件夹--找到sillyGirl--找到sets.conf并打开,如果没有就到725330794里的CSDN文件夹里下载文件

 注意!下载好的文件一定要把中文和括号删除,让文件名为:sets.conf

 

下载完就进入到sets.conf文件里面进行配置

 

按键盘“Ctrl+C”退出,再输入命令 ./sillyGirl -t 进入终端交互配置。

然后在输入 

set sillyGirl port 5102  //这里为你傻妞的端口号,你可以设置为其他的。

set qq masters 管理员qq

 

 芝士配置和命令

芝士插件默认关闭,发送命令

set jd_cookie enable_jd_cookie true

 

 

 

最后完成了在交互里面发送:重启

 

完成以上步骤请加群,后进入群精选消息复制插件订阅链接下来后前往web端进行傻妞配置

 傻妞订阅插件订阅链接,旧版通用:

sub://T4EywWN46ztYBhHNdOl6TquTZR7DdPAG85WQAJ/9g8H/ppKuuV34NYSBqRLRNzU5ZLMZd7dpDOEOGyumh7onHVwRvQF1Zq56ltCrxL2p+sU= sub://T4EywWN46ztYBhHNdOl6Tjk2d+EtOGabIfyDREmK6J3Xvz4CK4Xe9F8q92WNeXok2H0tTGu8w2CytC7DVdiaFqr4Pa7eOcsXITA7ZhT0CjtgJ4kEL00xNYR4GkVkGmhp sub://T4EywWN46ztYBhHNdOl6TiMeJo942S95KUAFmcfYSpAK/538Kt1mKM0XQ2ecLGP++bwq1WO4EVoV1XDl3Dgsr3Toiz6mbJWgLeafnyyLS3i8BAVtYd+2VONNz4SDqkSz sub://T4EywWN46ztYBhHNdOl6Tnc1O4R3y5GyfVG79kglc5BFQgqvuwidAE2Jcp0LaWakunhS2tn0ftD5MjD0umSE0pe+ab7wbypRAJrST/PDgN+HtgQXHKIMkUmHFiNBjL7y sub://T4EywWN46ztYBhHNdOl6TlTyeW69pVM/VoWtksX8jFFq+j+zLxRZRSbVCL3SBQL/taeaVcs+jLgUy1L2ZUwaJx1sP4cxSSuGNDRdvPeetrZskOtgxZpS2sXSy3bIC/2n sub://T4EywWN46ztYBhHNdOl6Tr9gtAYiz3SRzcdeEobLHz90DHlvStJfWnrrkIBsmkj7IOvMl+lbwQYbGyZbUsPNftcvldmoonfat85juJ9oMGbGCLDzmpmxQs2V3/KTovRrgZRYrm6/8fNKHIglNorss7TzByd3Xhq8vDXtqDGZP1A= sub://T4EywWN46ztYBhHNdOl6Ti2iBX/kAK1VnKE4z54eRucLpuoajY1YK7XDzeZ1KsMAoENOg344ZrOL8dudFRK3+noxEQNbCKKrtmAAE3XuE/s= sub://T4EywWN46ztYBhHNdOl6TiMeJo942S95KUAFmcfYSpAK/538Kt1mKM0XQ2ecLGP+1QHmAXQpsQRnICMkp0A4hWHsocaAqAGlIrg1eV5clc6KRmtV+dAjOU8Ej00/vLAh sub://T4EywWN46ztYBhHNdOl6TkE13/0LsDMMMxrMGyUvt9soogRtb7A7EGfdNQIjVeu2NHK38DucJa4jpNYfE7HSFccJIQP4Zx9GAAQqKscQvzEG+BOpX4JLr1y+iETeYJSF sub://T4EywWN46ztYBhHNdOl6Tkzap0mlmGqEMtMXHYFK3RePfCNugQWCjNHPpLZ8JoasT4VDcT9qG9TQFsqfbcA+SPnJAv0s+kH/KO/AX57Cx5vfJ8VDSI7d5JKehw8dp+GFnMbh2Gt1Dr/SSB304QDL/KPXvBfLvxc0USzCgHYjzVk=

上下两种选择其中一种即可

国内机通用: 

sub://T4EywWN46ztYBhHNdOl6Tkzap0mlmGqEMtMXHYFK3RePfCNugQWCjNHPpLZ8JoasT4VDcT9qG9TQFsqfbcA+SPnJAv0s+kH/KO/AX57Cx5vfJ8VDSI7d5JKehw8dp+GFnMbh2Gt1Dr/SSB304QDL/KPXvBfLvxc0USzCgHYjzVk=

国外机通用:

sub://T4EywWN46ztYBhHNdOl6Tk+4LnA5YNOgqmfJbjgPviVQIpORRGZeGJ5YUDg0ZW1H4/faKbq2RwQ2J1f50NbvUIiD/axharg92phr6DLh3NsPKpEy3VV/2cveR4YawmWhI0ewXrtaMHiPcOfNiWED/1d3g+szZYXiSO5OBrbKuy0=

 

在傻妞的订阅插件链接里添加以上链接,然后等四到10分钟左右刷新一下界面,再到插件市场就能看到多了一些界面了,跳转到界面的最后一页,往前开始找,带有奶酪棒名称的插件订阅这些,奶酪棒插件不止一个要注意!!!!!

 此时傻妞已经在静默运行了。如果想要进行交互继续输入./sillyGirl -t,这里建议先这样,不要交互了,去第四步,对接go-cqhttp机器人吧。 

 

对接go-cqhttp机器人

1、安装node

首先看看你的服务器有没有安装node,如果有的话,就不用装了

输入命令 node -v 检查

 如果没有就跟着步骤安装

cd /usr/local && wget https://nodejs.org/dist/v16.13.1/node-v16.13.1-linux-x64.tar.xz

安装好之后用这个命令解压

xz -dk node-v16.13.1-linux-x64.tar.xz && tar -xvf node-v16.13.1-linux-x64.tar

  在/etc/profile 复制下方代码到最后一行,保存。

export GO111MODULE=on
export GOPROXY=https://goproxy.cn
export GOROOT=/usr/local/go
export GOPATH=/usr/local/go/path
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
export NODE_HOME=/usr/local/node-v16.13.1-linux-x64
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules

然后在终端执行 source /etc/profile ,正常情况执行后不显示。

然后执行node -v 看看有没有版本号,有了就是成功了。

 source /etc/profile

 node -v

 2、安装pm2

cd /root
yum  -y install npm


 npm install pm2

 

 等程序运行完,然后前往文件:etc/profile找到该文件将以下这行命令添加到最后一行上,然后保存退出

 

PATH=$PATH:/root/node_modules/pm2/bin

  添加完再执行下面这段命令:刷新配置文件

source  /etc/profile

 完成后检查一下

pm2 list

 

3.安装git 

yum -y install git

 

4.安装go -cqhttp

注意!!!!!!!

注意!!!!!!!

注意!!!!!!!

这部分教程是送给萌新的,如果你新的信得过自己的技术直接可以进入服务器下载go-cqhttp这步了

操作方法也跟电脑端的一样,但不用入群下载群文件!!!!!

但是我建议你下,我这里免费提供问题询问服务

第一步:

请加入群:725330794然后到CSDN文件夹内下载

请在群内下载:go-cqhttp_windows_amd64.exe

 第二步

下载完两个文件后需要将这个文件合并成一个文件夹,有电脑的把合并后的文件夹放到桌面来。

《注意:合并后的文件夹命名随意,但文件夹名不能带有中文》

做这一步是为了文件的完整性额做的:本地运行

2.1:

1:先进入合并后的文件夹内:先复制文件路径下来

 

 

 我的文件路径:

C:\\Users\\Administrator\\Desktop\\1

2. 然后win+R打开运行框,并输入cmd命令面板

3.  进入后先安装下面的来输入

cd     //先确保在跟目录下

cd C:\\Users\\Administrator\\Desktop\\1     //进入桌面的合并文件夹内


 

4. 接着运行Go-cqhttp

.\\\\go-cqhttp_windows_amd64.exe

这里我们选择:3

 

 

5.  然后Ctrl+c结束

修改配置文件config.js

 PS:如果电脑用户出现无法打开的情况可以将这个文件先托到finaIShell内的傻妞文件下先修改完成在下载回电脑里面

 

 

 

universal: ws://127.0.0.1:5102/qq/receive

6. 改完下载回电脑里,并放回原来的合并文件夹,替换掉原来的文件

完成以上步骤后我们还需要在运行一次go-cqhttp

.\\\\go-cqhttp_windows_amd64.exe

 

出现连接失败为正常行为扫码登录后直接Ctrl+c退出即可 

 

电脑端的【本地运行】到这里也就结束了,接下来我们就要开始进行服务器的部署了:

 

服务器下载go-cqhttp

mkdir go-cqhttp && cd go-cqhttp   //创建go-cqhttp文件夹并进入

 amd 64位go-cqhttp:

wget http://gh.301.ee/https://github.com/Mrs4s/go-cqhttp/releases/download/v1.0.0-rc5/go-cqhttp_linux_amd64.tar.gz                       //拉取go-cqhttp文件

arm 64 位go-cqhttp:

wget http://gh.301.ee/https://github.com/Mrs4s/go-cqhttp/releases/download/v1.0.0-rc5/go-cqhttp_linux_arm64.tar.gz

上面的拉取版本过久了,新版go-cqhttp请加:725330794看群精选消息有下载链接

这一步拉取得比较慢,大家可以看着更好代理再拉取 

amd-64位解压看下面这两个:

tar xvf go-cqhttp_linux_arm64.tar.gz   //解压文件


tar zxvf go-cqhttp_linux_arm64.tar.gz   //如果出现无法解包就用这个


arm-64位解压看下面这两个:

tar xvf go-cqhttp_linux_amd64.tar.gz   //解压文件


tar zxvf go-cqhttp_linux_amd64.tar.gz   //如果出现无法解包就用这个

 完成以上步骤后接下来就是配置了

 

启动go-cqhttp

本地文件夹生成两个文件device.jsonsession.token,config.yml,把这三个放进服务器的root/sillyGirl/go-cqhttp文件里面,就是替换原来的,再次在服务器运行命令

./go-cqhttp    //启动go-cqhttp

不用扫码就可以登录了,因为session.token就是QQ秘钥信息,运行命令后就登录成功了

如果需要扫码就扫一遍

go-cqhttp1.0.0-rc5go大部分协议都需要配置密码登录,如果不想麻烦可更换协议来解决该问题

解决问题如下:

先进入go-cqhttp的文件夹下找到device.json文件

然后按图片指示的地方修改 protocol":6"这个数字位2,跟图片相同就行,记得保存

 先给予权限

 

chmod 777 go-cqhttp

如果还是无法执行先执行

cd /root/go-cqhttp

然后执行

chmod 777 go-cqhttp

 

然后重新运行go-cqhttp

./go-cqhttp

 接下来完成扫码即可

 

然后Ctrlc+C 结束进程

./go-cqhttp -d  #后台运行

 接着就完成了。

 

接下来是傻妞和go-cqhttp经常掉线的处理方式:

因为傻妞好掉线,这里采用pm2守护进程

当前仍在go-cqhttp的目录下,我们直接运行下面这段命令

pm2 start "./go-cqhttp"

 运行完成接着来傻妞的

切换到傻妞文件夹下 我的是在/root目录下

cd /root/sillyGirl

 执行守护代码

pm2 start "./sillyGirl"

然后咱们将pm2和pm2的程序设置为开机自启动带程序

先执行:

 pm2 startup # 创建开机自启动命令

 再执行:

pm2 save  # 保存当前应用列表

这样就是成功了

如果说以上完成后机器人无法回复信息我们就用第二种守护方式来运行。

 

傻妞,go-cqhttp的另外一种守护方式(screen)

首先安装screen

yum -y install screen

创建scree会话

screen -S node-onebot

像这样空白的就行了
然后进入傻妞目录

cd /root/sillyGirl

运行傻妞

./sillyGirl -t

 然后直接用按键的Ctrl+a+d退出就行了

此方式适用于服务器安装不上pm2的用户

go-cqhttp

创建scree会话

screen -S node-onebot

像这样空白的就行了
然后进入go-cqhttp目录

cd /root/sillyGirl/go-cqhttp

运行go-cqhttp

./go-cqhttp    //启动go-cqhttp

 然后直接用按键的Ctrl+a+d退出就行了

 

请务必按照步骤来(相关的命令在最下面)

15.开启芝士(发送后记得发送重启) 用管理员QQ也就是你的大号给你的机器人QQ发送

注意!!!!注意!!!!注意!!!!!!!

如果你将傻妞,奥特曼,go-cqhttp挂起后发现运行程序出现文件占用情况可以运行以下命令:

pm2 restart 需要重启的程序名 //这个是重启pm2列表的指定程序
pm2 stop 需要关闭的程序名  //关闭当前pm2列表里的程序名

pm2 restart all  //重启全部程序

pm2 stop all  //停止全部程序

这里就可以使用了。用管理员给QQ机器人发那些命令也是一样的效果。 

 

 短信登录第一种Maiakr

一、拉库

curl -Lo kiss.sh https://maiark-1256973477.cos.ap-shanghai.myqcloud.com/kiss.sh && bash kiss.sh
11

二、新建应用 

 

三、修改配置文件 

 路径: /root/arkconfig.json
依次填入:
服务器地址
Client ID
Client Secret

弄完要给maiark容器发送重启指令

docker restart maiark

四、登录网页版获取CK面板

短信登录对接傻妞教程:

 最后给傻妞发送代码:

set jd_cookie nolan_addr http://ip地址:端口
##ip是你的服务器ip端口是你刚刚设置的短信登录端口
##一般默认为8082

最后给傻妞发送:重启

完成了

短信登录第二种:兔子

先在终端上运行拉库命令,本次拉库为docker版本


国内机:
bash <(curl -s -L https://ghproxy.com/https://raw.githubusercontent.com/AyeSt0/MadRabbit_Utils/master/RabbitUtils.sh)


国外机:
bash <(curl -s -L https://raw.githubusercontent.com/AyeSt0/MadRabbit_Utils/master/RabbitUtils.sh)

执行安装命令后进入选择界面,这里我们选择:2

 这一步需要看个人需求,看看你的服务器是在内的还是外的

 这里跟上面一样,也是根据个人需求选择

配置完以上步骤,剩下的就无脑按回车就行

还是回车,安装后再配置文件

这里需要我们选择端口,看你个人需要填写,我就直接默认了

还是回车

选择完成等待安装结束,到这里我们先暂停一下,需要去作者频道申请一个授权文件

频道号码:https://t.me/Rabbit_one

然后机器人:@CreazyRabbitBot申请一下授权文件

 

 

 然后将申请到的授权文件:Rabbit.lic

放入兔子的文件夹下,一定要注意路径!

 完成后我们再去群里下载一下配置文件和检测文件,这个是必须要的!

 

下载这个文件,这个文件放在兔子的文件夹里,替换掉原本的文件才行!!

然后执行命令:

 docker restart madrabbit

 运行完毕记得去浏览器测试一下看看是否正常,

ip:5102进入界面不报任何错误就是正常行为

 

 最后说一下最重要的 点,如果机器人掉了就需要先去启动傻妞才能去启动bot不然bot是无法连接上傻妞的,

本地服务器直连GitHub:

最后本地服务器直连GitHub的教程给大家奉上:

先前往GitHub地址:去到GitHub - ineo6/hosts: GitHub最新hosts。解决GitHub图片无法显示,加速GitHub网页浏览。  复制一大坨

 复制要多也不要少

复制下来后找到host文件,该文件存放位置于:etc/hosts

 复制的内容粘贴到最后一行上

 重启network:

/etc/init.d/network restart

 最后测试一遍:

ping github.com

 只要ping通了GitHub,青龙拉库就不需要代理了

PS:非常感谢MIKE_note的机器人教程文件帮助,MIKE_note机器人连接教程:http://t.csdn.cn/s95AZ

 

 

 

 

以上是关于使用go-cqhttp搭建qq机器人的主要内容,如果未能解决你的问题,请参考以下文章

QQBot+go-cqhttp机器人安装教程

最新青龙面板一键搭建及拉库脚本教程----JD挂机一体化平台搭建之篇一2022.11.29

青龙2.11.3对接傻妞+go-cqhttp+短信登+本地服务器直连GitHub

Nonebot部署机器人常见问题

go-cqhttp 安装ffmpeg并使用

基于Mirai搭建QQ机器人监控B站直播