/Icalingua-plus-plus

A client for QQ and more.:electron:

Primary LanguageTypeScriptGNU Affero General Public License v3.0AGPL-3.0

Icalingua++

Icalingua++ 是 Icalingua 的分叉,为已经删除的 Icalingua 提供有限的更新,同时欢迎社区提交PR。

Icalingua 这个名字是日语中「光」和拉丁语中「语言」的组合。

本项目希望为 Linux 打造一个会话前端框架,通过实现 Adapter 后端接口来适配各种聊天平台。目前已经拥有基于 oicq 的分叉 oicq-icalingua-plus-plus 以及 Icalingua 自有协议的后端。

State-of-the-art Shitcode License discord Telegram Discussion Telegram Channel

GitHub release (latest by date) AUR votes (感谢社区提供的 AUR Package)

分支状态

develop

Build/release

GitHub package.json dependency version (prod) GitHub package.json dependency version (dev dep on branch)

常用启动参数

  • 禁用硬件加速: --dha
  • 启动时隐藏主界面: --hide-h
  • 指定配置: --config xxx.yaml-c xxx.yaml
  • 自定义数据目录: --user-data-dir=$path-you-want

默认数据目录

操作系统 路径
Linux ~/.config/icalingua
Windows %AppData%\icalingua
macOS ~/Library/Application Support/icalingua

自定义脚本、样式、主题、插件相关

自定义脚本

客户端默认会加载数据目录下的 addon.js,但是默认不会创建这个文件。

自定义样式

客户端默认会加载数据目录下的 style.css,但是默认不会创建这个文件。

自定义主题

此类主题为颜色主题,仅能修改各处的颜色表现,若需修改样式请使用自定义样式

客户端默认会加载数据目录下的 themes 目录的所有 JSON 文件,以文件名作为主题的名字,JSON 内容可以参考客户端源码中的默认主题文件

默认会采用 白色 (light) 作为基础主题,可以在 bashTheme 字段中指定 light 或者 dark

参考例子(一个基于黑色主题的透明主题)

themes/transparent-dark.json

{
    "baseTheme": "dark",
    "general": {
        "backgroundInput": "#20222364"
    },
    "header": {
        "background": "#181a1b48"
    },
    "footer": {
        "background": "#13141569",
        "backgroundReply": "#1b1c1c84",
        "backgroundTagActive": "#2b2c2c80"
    },
    "content": {
        "background": "#2c2e3064"
    },
    "message": {
        "background": "#22242a78",
        "backgroundMe": "#1f7e8064",
        "backgroundImage": "#dddddd40"
    },
    "panel": {
        "background": "#34343484",
        "itemBg": "#22242a84",
        "itemBgHover": "#1e1e2584",
        "sideBar": "#41383684",
        "headerBg": "#181a1b1c"
    }
}

style.css 配置(壁纸 background-image 自定)

.el-main {
  background-image: url("");
  background-size: cover;
  background-repeat: no-repeat;
}

.vac-container-scroll { margin-top: 64px; }
.el-badge__content--info { background-color: #6771856e; }
.vac-box-footer input { background: #ccc6; }
.el-dialog { background: #526a6bc7; }
.vac-card-window a { color: #a3b8cb; }
.vac-box-footer>div { backdrop-filter: blur(5px); }

自定义插件

须在选项中勾选启用插件,bridge 则在配置文件中设置 customtrue

插件为名为 custom 的目录,非 bridge 的插件存放在数据目录中,bridge 的插件目录与 data 目录同级存放。

参考插件此插件需使用 tsc 编译成 JavaScript 后才能使用!

插件需使用 JavaScript 编写,且只有在接收到消息时才会调用插件导出的 onMessage 方法,data 与 bot 参数的使用方法请参考 OICQ v1 的 wiki。若需监听其他事件可使用 bot.on(),理论上可以兼容使用修改后的 OICQ v1 API 的机器人框架并增加更完善的插件系统。

统计

Stargazers over time

License

免责声明

本开源项目仅用于学习和交流会话前端框架实现,一切开发旨在学习,请勿用于非法用途。本项目使用 AGPL-3.0 许可,完全免费开源,不收取任何费用。请勿将本项目用于商业用途。因使用本项目调用不同 Adapter 后端接口(如 oicq)产生的一切问题与后果由使用者自行承担,项目开发者不承担任何责任。

本项目基于 AGPL 发行。修改、再发行和运行服务需要遵守 AGPL 许可证,源码需要和服务一起提供。