Tsugu机器人部署教程 Windows Linux Android

发布于 2022-10-01  1001 次阅读


旧Tsugu部署,已失效
先贴上本酱分享的机器人端:http://tsugubot.com:8880/wl/?id=KUtbWzjgyIy7HHyxSEf2SWQxMSCB760Q

在Windows上部署

这还用教,下载下来双击启动不就行了
下载上面本酱分享的机器人端,解压所有文件
双击启动.bat即可。

在Linux上部署

以下内容需要一定的linux基础。所有代码仅供参考,请勿直接复制!
首先安装依赖wget vim
创建一个文件夹,用于存放bot所需的文件。假设这个文件夹为/root/BOT

mkdir /root/BOT

接下来进入这个文件夹

cd /root/BOT

安装go-cqhttp,在https://github.com/Mrs4s/go-cqhttp/releases下载你对应系统的文件,上传上去解压。

wget https://github.com/Mrs4s/go-cqhttp/releases/download/v1.0.0-rc2/go-cqhttp_linux_amd64.tar.gz
tar -zxvf go-cqhttp_linux_amd64.tar.gz

如果不清楚系统内核的架构,可以输入uname -a查看。例如我的是Linux VM-0-2-debian 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux,则我的系统内核架构是amd64或x86_64。
如果不会操作,可以在你的电脑手机上处理好直接传上去就行。
修改配置文件,最简单的方法就是用tsugu那里下载的压缩包里的config.yml上传,替换掉原来的文件,最后输入./go-cqhttp启动即可。
也可以直接编辑这个文件,把tsugu里的内容替换进去。

vim config.yml

i进入编辑模式,粘贴以下内容

# go-cqhttp 默认配置文件

account: # 账号相关
  uin:  # QQ账号
  password: '' # 密码为空时使用扫码登录
  encrypt: false  # 是否开启密码加密
  relogin:        # 重连设置
    disabled: false
    delay: 3      # 重连延迟, 单位秒
    interval: 0   # 重连间隔
    max-times: 3  # 最大重连次数, 0为无限制

  # 是否使用服务器下发的新地址进行重连
  # 注意, 此设置可能导致在海外服务器上连接情况更差
  use-sso-address: true
  # 是否允许发送临时会话消息
  allow-temp-session: false

heartbeat:
  disabled: false # 是否开启心跳事件上报
  # 心跳频率, 单位秒
  # -1 为关闭心跳
  interval: 5

message:
  # 上报数据类型
  # 可选: string,array
  post-format: string
  # 是否忽略无效的CQ码, 如果为假将原样发送
  ignore-invalid-cqcode: true
  # 是否强制分片发送消息
  # 分片发送将会带来更快的速度
  # 但是兼容性会有些问题
  force-fragment: false
  # 是否将url分片发送
  fix-url: false
  # 下载图片等请求网络代理
  proxy-rewrite: ''
  # 是否上报自身消息
  report-self-message: false
  # 移除服务端的Reply附带的At
  remove-reply-at: false
  # 为Reply附加更多信息
  extra-reply-data: false

output:
  # 日志等级 trace,debug,info,warn,error日志等级 trace,debug,info,warn,error
  log-level: warn
  # 是否启用 DEBUG
  debug: false # 开启调试模式

# 默认中间件锚点
default-middlewares: &default
  # 访问密钥, 强烈推荐在公网的服务器设置
  access-token: ''
  # 事件过滤器文件目录
  filter: ''
  # API限速设置
  # 该设置为全局生效
  # 原 cqhttp 虽然启用了 rate_limit 后缀, 但是基本没插件适配
  # 目前该限速设置为令牌桶算法, 请参考:
  # https://baike.baidu.com/item/%E4%BB%A4%E7%89%8C%E6%A1%B6%E7%AE%97%E6%B3%95/6597000?fr=aladdin
  rate-limit:
    enabled: false # 是否启用限速
    frequency: 1  # 令牌回复频率, 单位秒
    bucket: 1     # 令牌桶大小

servers:
  # HTTP 通信设置
  - http:
      # 是否关闭正向HTTP服务器
      disabled: true
      # 服务端监听地址
      host: 127.0.0.1
      # 服务端监听端口
      port: 5700
      # 反向HTTP超时时间, 单位秒
      # 最小值为5,小于5将会忽略本项设置
      timeout: 5
      middlewares:
        <<: *default # 引用默认中间件
      # 反向HTTP POST地址列表
      post:
        #- url: '' # 地址
        #  secret: ''           # 密钥
        #- url: 127.0.0.1:5701 # 地址
        #  secret: ''          # 密钥

  # 正向WS设置
  - ws:
      # 是否禁用正向WS服务器
      disabled: true
      # 正向WS服务器监听地址
      host: 127.0.0.1
      # 正向WS服务器监听端口
      port: 6700
      middlewares:
        <<: *default # 引用默认中间件

  - ws-reverse:
      # 是否禁用当前反向WS服务
      disabled: false
      # 反向WS Universal 地址
      # 注意 设置了此项地址后下面两项将会被忽略
      universal: ws://tsugubot.com:8080
      # 反向WS API 地址
      api: ws://127.0.0.1:3000/api
      # 反向WS Event 地址
      event: ws://127.0.0.1:3000/event
      # 重连间隔 单位毫秒
      reconnect-interval: 3000
      middlewares:
        <<: *default # 引用默认中间件

  # 可添加更多
  #- ws-reverse:
  #- ws:
  #- http:

database: # 数据库相关设置
  leveldb:
    # 是否启用内置leveldb数据库
    # 启用将会增加10-20MB的内存占用和一定的磁盘空间
    # 关闭将无法使用 撤回 回复 get_msg 等上下文相关功能
    enable: true

Esc,输入:wq保存退出。

后台运行

至此,tsugu就可以正常运行了,但是因为ssh的机制,如果你断开连接,那么tsugu也会停止运行,因此需要让tsugu一直在后台运行。
可以用以下两种方法来实现:

使用nohub

nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。

很简单,只需要在命令的前面加上nohub,后面加上&即可。

nohub ./go-cqhttp &

关于nohub的更多用法:https://www.runoob.com/linux/linux-comm-nohup.html

使用screen

Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。

首先测试一下是否已经安装:

screen

如果提示-bash: screen: command not found,说明服务器没有安装,安装的指令:
CentOS:yum install screen
Debian/Ubuntu:apt-get install screen
y确认。
安装后,输入screen -R tsugu即可创建一个名为tsugu的新窗口。

也可以使用screen -S tsugu

创建完成后,默认直接进入这个窗口,如果没有进入也可以输入screen -R tsugu进入。
然后就是定位到bot所在位置,然后启动。
启动完成后,按键盘上的Ctrl+A+D键,即可将tsugu窗口挂到后台,并返回你之前所在的窗口。
当然,你也可以直接退出ssh,tsugu不会关闭。

关于screen的更多用法:https://www.runoob.com/linux/linux-comm-screen.html

在Android上部署

个人不推荐在移动设备上挂bot
方法一,通过mirai安装

注意,因MiraiAndroid的bug,此方法暂时无法使用,请使用另一种方法!

下载安装MiraiAndroid 下载地址

下载mirai-api-http插件 下载地址

打开mirai,侧边栏选择安装插件,选择刚才下载的插件,直接点导入,名字随意,结尾是.jar就行

安装成功后,彻底退出mirai,输入stop,侧边栏选择退出应用,清后台
在你手机的文件管理里找到这个文件夹
Android/data/io.github.mzdluo123.mirai.android/files/config/net.mamoe.mirai-api-http

打开setting.yml,删掉所有内容,替换成下面的

adapters:
   - reverse-ws
debug: false
enableVerify: true
verifyKey: tsugukawaii
singleMode: false
cacheSize: 4096
persistenceFactory: 'built-in'
adapterSettings: {
reverse-ws:
    destinations:
    - host: tsugubot.com
      port: 8080
      protocol: ws
}

保存退出,启动mirai,输入login登录QQ即可
如果插件安装有问题,也可以下载这个放到Android/data/io.github.mzdluo123.mirai.android/files/plugins

方法二,通过虚拟Linux安装
推荐使用Termux
安装后后续与Linux相同

文件结构说明

  • stamp 用于存放@后的回复图
    • 1.png
    • 2.png
    • ...
  • config.yml 配置文件,一般无需改动
  • device.json 虚拟设备信息,一般无需改动(第一次启动后生成)
  • go-cqhttp.exe bot框架程序(仅Windows)
  • go-cqhttp bot框架程序(仅Linux)
  • 启动.bat 启动脚本(仅Windows)

常见问题

Q:无法登陆,提示需要验证
A:可参考https://docs.go-cqhttp.org/faq/slider.html https://mirai.mamoe.net/topic/223/无法登录的临时处理方案

Q:为什么挂一段时间后就会出现消息发送失败,账号可能被风控
A:如果你刚开始使用,建议挂机3-7天,即可解除风控

  • alipay_img
届ける言葉を今は育ててる
最后更新于 2023-06-20