Coder Social home page Coder Social logo

gocqsync's Introduction

GoCQSync

目前已不推荐使用本插件,请移步 YoyoRobot、QBotForLiteLoader 等插件

也可以来看看 LLSEKoishi

一个依赖 GoCQHTTP 的群服互通插件

介绍

本插件通过与 GoCQ 的正向 ws 通信来实现群服互通的功能

特点

  • 直接与 GoCQ 通信,除 GoCQ 外不依赖其他插件、程序等
  • 简洁,没有冗余功能

功能

  • QQ 群消息与服务器互通
    • 群聊消息转给服务器时会将特殊消息转义,如[图片]
    • 玩家进退服提醒
  • QQ 群内执行控制台指令
  • 戳一戳获取服务器状态

效果图

点击展开

群聊 服务器内

缺点

  • 受 LLSE 接口制约,插件容易出 bug(也可能是我的锅(悲))

安装&配置

  1. 配置 GoCQ
    1. 如果你还没用过 GoCQ,请去这里下载你对应系统架构的 GoCQ
      (例:64 位 amd 架构处理器的 windows 系统就下载 go-cqhttp_windows_amd64.zip
      1. 启动 GoCQ
      2. 当让你选择你所需要的通信方式时,请选择正向 ws,其他按需选择
        示例
      3. 修改config.yml中的账号密码为机器人 QQ 的
        示例
    2. 修改config.yml配置文件
      1. 如果你之前没选过正向 ws 的连接方式,直接在配置文件servers项后面加上这样一段即可
        示例
        下面是配置内容,复制粘贴即可,注意左侧缩进(建议使用 vscode,粘贴时可以自动控制缩进)
        - ws:
          address: 127.0.0.1:8080
          middlewares:
            <<: *default
      2. 按需修改 ws 监听地址
        正向 ws 连接服务配置的address项即为监听地址,冒号前为监听 IP 地址,冒号后为监听端口
        #   ↓IP    ↓端口
        127.0.0.1:8080
        监听端口可以按需修改
        监听 IP 地址最好不要设为0.0.0.0,因为插件连接时无法使用access token(访问密钥)(llse 无法发出带请求头的 ws 连接,且貌似 GoCQ 不支持 ws 连接时 get 参数提供的 access token),这样将会允许外网连接你的 GoCQ(防火墙/安全组规则允许的情况下)
        当监听 IP 地址设置为127.0.0.1时将只允许内网连接,可以保证安全性
      3. (可选)将message项下的post-format修改为array(以前插件正常处理消息需要用到,现在不用了)
        示例
      4. (可选)将message项下的report-self-message修改为true 示例
        修改后服务器控制台将会显示机器人自身发出的消息
        效果
  2. GoCQSync.lxl.js 扔进 BDS 插件目录
  3. 按照配置文件一节修改插件配置
  4. 配置完成,Enjoy!

配置文件

插件配置文件位于BDS根目录/plugins/GoCQSync/config.json(插件加载成功后自动生成)
请根据下面 json 中的注释修改配置文件

{
  // 连接GoCQ正向ws的url:String
  // 一般情况下与GoCQ配置项保持一致,前面加上 ws:// 即可
  "ws_url": "ws://127.0.0.1:6700",

  // 管理员列表:Array<Number | String>
  // 管理员可以用下方对应配置开头的消息来执行控制台指令
  // 别问为什么用string,问就是llse的锅 (https://github.com/LiteLDev/LiteLoaderBDS/issues/456)
  "superusers": ["1234567890"],

  // 启用群聊:Array<Number | String>
  // 游戏内的聊天消息、进服退服提示都会发送到这些群聊
  // 同时只有这些群聊才会响应戳一戳查看服务器状态以及执行控制台指令等操作
  "enable_groups": ["987654321"],

  // 日志输出等级:Number
  // 一般情况保持默认即可
  "log_level": 4,

  // 管理员执行控制台指令的消息前缀
  "cmd_prefix": "/",

  // 查询服务器状态指令(与戳一戳相同)
  "cmd_status": "查询",

  // 群聊中非 superuser 可以执行的指令,使用正则表达式匹配
  "allow_cmd": ["^list$"]
}

贡献

不要直接在 MineBBS 帖子讨论区向我提供建议,因为我不常上论坛,请使用下面提到的方式

插件目前处于早期开发阶段,初衷是自用,所以各种功能都还不太完善,欢迎积极提出建议!
欢迎在本仓库提出 issue,或者提交 pr 来完善插件!
也欢迎用下面的联系方式直接联系我!

联系我

QQ:3076823485
吹水/通知群:1105946125
邮箱:[email protected]

赞助

感谢大家的赞助!你们的赞助将是我继续创作的动力!

  • 爱发电

  • 赞助二维码(点击展开)

    讨饭

更新日志

  • 0.1.1
    • 修复部分文本显示错误
    • 添加进服退服提示
  • 0.1.2
    • bugfix
  • 0.1.3
    • 报错优化
  • 0.2.0
    • 修修补补小细节
    • 优化控制台日志输出
  • 0.2.1
    • 支持配置日志输出等级
    • 优化重连
  • 0.2.2
    • 弃用监控连接状态进程(别问我为什么,问就是有 bug)
  • 0.3.0
    • 优化玩家名字显示为真名(realName
    • 使用正则匹配 CQ 码信息,新增post-format配置为string时的处理
    • 由于此 Bug已经修复,现在可以在配置项使用 Number
  • 0.3.1
    • 修复正则匹配 CQ 码
  • 0.4.0
    • 添加配置项cmd_prefixcmd_status,详情见配置文件
  • 0.4.1
    • 修复cmd_prefix长度大于 1 时出现的问题
  • 0.4.2
    • 添加配置项allow_cmd
  • 0.4.3
    • 不提示模拟玩家进退服

文档待完善 (*σ´∀`)σ

gocqsync's People

Contributors

lgc2333 avatar

gocqsync's Issues

望饼干更新适配legacy script engine🌹【enhancement】

万事俱备 只欠东风!
lse引擎更新一个月里 各种插件也陆续在适配
gocqsync作为轻量的Bot群服插件
给无数腐竹留下了极好的印象 但岁月不饶人 gocqsync老矣
尚不能正常运行

希望作者可以提前更新日程 早日重构gocqsync
各位腐竹不胜感激🌹

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.