Skip to content

Latest commit

 

History

History
275 lines (194 loc) · 10.2 KB

INSTALL.md

File metadata and controls

275 lines (194 loc) · 10.2 KB

部署指南

首先需要获取DDBOT程序,可以选择下载预编译的版本,也可以选择从源码编译。

如果您不清楚如何进行编译,请选择预编译版本。

预编译版本

Release 中下载适合您的版本,版本规则:

  • 根据系统选择windows / linux / darwin
  • 根据架构选择 32位->386 / 64位->amd64 / arm->arm

例如对于windows 7/8/10/11/server,64位系统,推荐选择-windows-amd64.zip

从源码编译(不推荐,需要编程能力)

从源码编译

首先安装go,go >= 1.17

然后执行下面的命令

make build

# 如果没有安装make程序,则用下面的命令编译
go build

配置

获取的DDBOT程序为二进制程序,可以直接运行。

Linux下请确认DDBOT程序对所在目录有读写权限,并需要赋予程序可执行权限,可通过下面的命令实现:chmod +x ./DDBOT

然后可以通过./DDBOT运行DDBOT程序。

windows版DDBOT默认应该有.exe后缀,即程序名为DDBOT.exe,如果没有后缀,请确认下载的程序是windows版本。

Windows版可以双击运行DDBOT程序。

首次运行默认会通过二维码登陆,并且会自动生成所有配置。

DDBOT的配置文件为application.yaml,该文件可以用文本编辑器(windows的记事本/vscode,linux的nano/vim等)打开。

设置BOT管理员

方法一

初次运行bot时,默认没有管理员,此时您可以对bot私聊发送/whosyourdaddy命令,成功后发送命令的账号将成为bot管理员。

请放心,只有当bot没有管理员时可以使用此命令,后续发送此命令将无法生效

方法二(不推荐)

bot未运行时,执行以下命令。

./DDBOT --set-admin 你的QQ号码

设置BOT运行模式

该功能从v0.1.0版本开始支持,v0.1.0之前的版本可以跳过这一段

初次运行bot时,bot默认为公开模式,会自动同意好友申请与加群邀请,您可以通过以下命令切换:

  • 切换到私人模式,该模式下会自动拒绝好友申请与加群邀请,您可以手动登陆bot QQ主动加好友与群
/mode 私人
  • 切换到审核模式,该模式下会保留好友申请与加群邀请,您可以选择同意或是拒绝。
/mode 审核
  • 您也可以重新切换回公开模式
/mode 公开

减少bot的刷屏输出

该功能从v0.1.3版本开始支持,v0.1.3之前的版本可以跳过这一段

如果您已经对bot命令比较熟悉,同时您的bot为非公开地小范围内使用,您可以对bot私聊发送/silence命令减少bot的输出内容。

这个操作会全局设置沉默模式,bot的输出信息将会减少,不再输出权限不足、命令被禁用、命令帮助等信息。

沉默模式也可以对单个群开启,详情请看命令文档。

如果您对bot的命令尚不熟悉,建议暂时不开启这个设置。

device.json

device.json是运行时使用的设备信息(可以理解为伪装的手机型号),应尽量使用同一个,否则可能会触发安全机制无法登陆。

如果检测到不存在,该文件会自动生成,正常情况无需关心。

application.yaml

DDBOT运行时的配置文件,可以用记事本打开修改,如果检测到不存在,会生成一个最小配置。

最小配置

测试时推荐使用扫码登陆,即不指定帐号和密码(注意:掉线或重启后无法自动重连,仍需扫码,仅推荐测试使用)。

最小配置可以正常使用斗鱼、虎牙、B站订阅功能(最小配置下,B站订阅推荐不超过5个,过多订阅会导致推送延迟大幅增加)。

如果可以直连油管,那也可以正常使用YTB订阅,如果无法直连油管,则需要配置代理功能,YTB订阅才能正常工作。

如果要大规模使用b站订阅功能,推荐配置B站帐号,订阅数最高可达2000(初号机已验证2000订阅)。

如果要使用 TwitCasting 订阅功能,请自行参考完整配置。

# 注意,填写时请把井号及后面的内容删除,并且冒号后需要加一个空格
bot:
  account:  # 你bot的qq号,不填则使用扫码登陆
  password: # 你bot的qq密码
  onJoinGroup:
    rename: "【bot】"  # BOT进群后自动改名,默认改名为“【bot】”,如果留空则不自动改名

# 初次运行时将不使用b站帐号方便进行测试
# 如果不使用b站帐号,则推荐订阅数不要超过5个,否则推送延迟将上升
# b站相关的功能推荐使用一个b站账号,建议使用小号
# bot将使用您b站帐号的以下功能:
# 关注用户 / 取消关注用户 / 查看关注列表
# 请注意,订阅一个账号后,此处使用的b站账号将自动关注该账号
bilibili:
  SESSDATA: # 你的b站cookie
  bili_jct: # 你的b站cookie
  interval: 25s

concern:
  emitInterval: 5s

logLevel: info

完整配置

点此查看全部配置 (仅供高级用户参考)
bot:
  account: # bot账号
  password: # bot密码
  commandPrefix: "/"     # bot触发命令的前缀,默认为单斜杠 /
  onDisconnected: "exit" # 设置掉线时处理方式,exit为退出,不填或者其他值为尝试重连
  onJoinGroup:
    rename: "【bot】"     # BOT进群后自动改名,默认改名为“【bot】”,如果留空则不自动改名

# 请注意,bot将使用您b站帐号的以下功能,建议使用新注册的小号:
# 关注用户 / 取消关注用户 / 查看关注列表
# 目前支持填cookie和账号两种方式 (选择任意一种方式即可,推荐使用账号密码)
# 若使用账号
    # 直接填入账号密码
# 若使用cookie
    # b站登陆后的cookie字段,从cookie中找到这两个填进去
    # 警告:
    # SESSDATA和bili_jct等价于您的帐号凭证
    # 请绝对不要透露给他人,更不能上传至Github等公开平台
    # 否则将导致您的帐号被盗
# 请注意,订阅一个账号后,此处使用的b站账号将自动关注该账号
bilibili:
  SESSDATA: ""
  bili_jct: ""
  account:  # 你的b站账号 (目前不可用)
  password: # 你的b站密码 (目前不可用)
  interval: 25s # 直播状态和动态检测间隔,过快可能导致ip被暂时封禁
  imageMergeMode: "auto" # 设置图片合并模式,支持 "auto" / "only9" / "off"
                         # auto 为默认策略,存在比较刷屏的图片时会合并
                         # only9 表示仅当恰好是9张图片的时候合并
                         # off 表示不合并
  hiddenSub: false    # 是否使用悄悄关注,默认不使用
  unsub: false        # 是否自动取消关注,默认不取消,如果您的b站账号有多个bot同时使用,取消可能导致推送丢失
  minFollowerCap: 0        # 设置订阅的b站用户需要满足至少有多少个粉丝,默认为0,设为-1表示无限制
  disableSub: false        # 禁止ddbot去b站关注帐号,这意味着只能订阅帐号已关注的用户,或者在b站手动关注
  onlyOnlineNotify: false  # 是否不推送Bot离线期间的动态和直播,默认为false表示需要推送,设置为true表示不推送

localPool: # 图片功能,使用本地图库
  imageDir: # 本地路径

loliconPool: # 图片功能,使用api.lolicon.app图库
  apikey:    # 由于该图库更新,此字段不再需要了,留空即可
  cacheMin: 10
  cacheMax: 50
  proxy:

pyProxyPool: # 代理池配置,py代理池 https://github.com/jhao104/proxy_pool
  host: http://127.0.0.1:5010

localProxyPool: # 代理池配置,固定代理
  oversea: # 可翻墙的代理,用于访问YTB或pixiv
    - 127.0.0.1:8888
  mainland: # 不可翻墙的代理,用于直连国内网站
    - 127.0.0.1:8888

# 加入 twitcasting 部分即启用 tc 订阅功能  
# 参阅 https://apiv2-doc.twitcasting.tv/#registration
# 你需要到 https://twitcasting.tv/developer.php 新增一个 App
# 填入所需资料后就可以获取 clientId 和 clientSecret
# 详细: https://www.codenong.com/7d930656a7499340f14a/
twitcasting:
  clientId: abc
  clientSecret: xyz
  # 为防止风控,可选择性广播以下元素
  broadcaster:
    title: false # 标题 (有风控机会)
    created: true # 开播时间
    image: false # 直播封面 (墙内无法获取TC直播封面,建议有代理才开启
  # 自定义名称显示,日文字太多很大机会风控
  # 例如 "(如何显示) 正在直播""
  nameStrategy: "name" # 如何显示名称, name= 显示用户名称, userid= 显示用户ID, both= 显示 "用户名称 (用户ID)"

concern:
  emitInterval: 5s # 订阅的刷新频率,5s表示每5秒刷新一个ID,过快可能导致ip被暂时封禁

imagePool:
  type: "off" # localPool / loliconPool

proxy:
  type: "off" # localProxyPool/ pyProxyPool

debug: # debug模式,只有以下群或qq号可以触发命令
  group:
    - 0
  uin:
    - 0

message-marker: # 是否禁用自动已读功能,true为禁用,false为不禁用,默认为不禁用
  disable: false

qq-logs: # 是否启用在命令行内展示qq聊天内容,true为启用,false为禁用,默认为禁用
  enable: false

dispatch:
  largeNotifyLimit: 50 # 巨量推送的判定配置,默认为50,当大于这个配置时,将增大推送延迟保证账号稳定
notify:
  parallel: 1          # 增加推送消息的并发配置,默认为1以优先保证账号稳定,当出现推送堆积的时候可以尝试调高

template:       # 是否启用模板功能,true为启用,false为禁用,默认为禁用
  enable: false # 需要了解模板请看模板文档
  
autoreply: # 自定义命令自动回复,自定义命令通过模板发送消息,且不支持任何参数,需要同时启用模板功能
  group:   # 需要了解该功能请看模板文档
    command: [ ]
  private:
    command: [ ]

# 重定义命令前缀,优先级高于bot.commandPrefix
# 如果有多个,可填写多项,prefix支持留空,可搭配自定义命令使用
# 例如下面的配置为:<Q命令1> <命令2> </help>
customCommandPrefix:
  命令1: "Q"
  命令2: ""

logLevel: info # 日志等级