GithubHelp home page GithubHelp logo

stapxs / stapxs-qq-lite-2.0 Goto Github PK

View Code? Open in Web Editor NEW
359.0 3.0 30.0 27.81 MB

一个兼容 OneBot 协议的非官方网页版 QQ 客户端,使用 Vue 重制的全新版本。

Home Page: https://stapxs.github.io/Stapxs-QQ-Lite-2.0/

License: Apache License 2.0

JavaScript 1.47% HTML 2.51% Vue 59.45% CSS 13.32% TypeScript 23.25%
qq vue webapp electron webqq

stapxs-qq-lite-2.0's Introduction

简体中文 | English


Logo

Stapxs QQ Lite 2.0

一个兼容 oicq-http2 的非官方网页 QQ 客户端
🌎 访问 DEMO  |   📦️ 下载程序  |   💬 反馈问题

本网页应用仅供学习交流使用,请勿用于其他用途
版权争议请提出 issue 协商

card

✨ 特性支持

  • ✅ 使用 Vue.js 全家桶开发,快乐前后端分离
  • 🎨 自适应布局,竖版也能使用
  • 🖥️ 支持 PWA(都有 Electron 了(小声))
  • 🌚 Light/Dark Mode 自动切换
  • 🍱 该有的都有(虽然比不过官方端)
    • 复杂消息显示、转发、回复、撤回
    • 群文件、群公告、群设置(一小部分)、精华消息
    • 图片、收藏表情、文件发送
  • 📦️ 支持多种 bot,我就是要用!
  • 🔥 水深火热但是更好看的 Electron 客户端
  • 🥚 彩蛋!来更多的彩蛋!
  • 🛠 更多特性开发中

♿️ 快速使用

> 运行服务

Stapxs QQ Lite 需要一个 QQ Bot 后端提供服务,你可以参考 📖 这个文档 布置它。

> 访问应用

本仓库开启了 GitHub Pages, 所有向主分支提交的代码将会自动构建并发布。你可以直接访问 🌎 这个页面 来使用已经构建并部署的页面。

> 安装应用

除了直接使用本仓库的构建页面,你也可以下载使用 electron 打包的功能稍稍更丰富的客户端版本,访问 📦️ 这儿 查看构建列表。

💬 提醒和问题

> 关于不安全连接

  • 当使用 https 页面连接 ws 服务(反之相同)的情况下,连接将会失败;这是由于其中某一者是不安全的。在这种情况下,你可以选择将 ws 提升为 wss 或者将 https 降级为 http(不安全)来解决问题,此处不提供解决方案。>> Stapxs-QQ-Lite#32

> 我能使用其他 QQ Http Bot 吗

  • 如果它兼容 OneBot 11 协议, 你可以尝试连接它, 但是由于消息体格式和接口扩展的差异,大部分情况下都不能完全正常使用。 已经兼容的 Bot 都写在了文档里,可以去 这里 查看。

> 使用 Bot 是否有风险

  • 如果你使用的是 oicq-http, 可以查看此处了解 使用风险, 如果你尝试使用其他 QQ Bot (参见上一条问题), 请自行参考它的文档。

> 我遇到了问题

  • 如果有什么奇奇怪怪的问题, 欢迎发起 issue 询问! 如果有什么 BUG 和优化建议也可以哦!

📦️ 构建应用

> 构建 Web 页面

Stapxs QQ Lite 2.0 是一个基于 Vue 的单页应用,这意味着如果你想自行部署到网页服务需要进行构建。

注意。在正式构建前,如果你的网站运作目录并不在根域名下,你需要修改(或增加)项目根目录下 vue.config.js 内导出的 publicPath 字段的值,它代表着最终你会运行在的目录,比如它在现在是 /Stapxs-QQ-Lite-2.0/;如果你本来就运行在根目录下,可以直接删去它。

下面是构建 Vue 应用的命令,构建结果将最终输出在 dist 下:

# 安装依赖
yarn install
# 运行本地调试
yarn serve
# 代码检查和自动格式化
yarn lint
# 构建应用
yarn build

> 构建 Electron 客户端

2.3.0 版本后,Stapxs QQ Lite 2.0 支持构建为 Electron 应用并补充部分平台特性的功能,你也可以自行构建。

下面是构建 Electron 应用的命令,构建结果将最终输出在 dist_electron/out 下:

# electron 运行本地调试
yarn electron:serve
# electron 构建应用
yarn electron:build

你可以补充平台选项来指定构建某个平台:

yarn electron:build --linux

> Github Actions

为什么会有人对自动构建感兴趣,总之自动构建脚本我写了好久。感兴趣就自己去看好了(无端)。

auto-build

🖼️ 截图

1 2 3 3

🎉 鸣谢

感谢这些小伙伴们在开发和文本中提供的支持 ——

stapxs-qq-lite-2.0's People

Contributors

doodlehuang avatar mole828 avatar stapxs avatar xiaomouz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

stapxs-qq-lite-2.0's Issues

[错误]后端收到的消息无法正常显示

描述错误

如题,后端显示的新消息无法在前端正常显示,对话列表是空的,同时控制台报错
复现流程

  1. 使用oicq2默认配置并登录
  2. 在网页端使用地址和token登录
  3. 对话列表是空的
  4. 收到几条新消息
  5. 对话列表还是空的,浏览器控制台报错
  6. 清空网页数据后重试以上操作无效
    截图

前端:
图片
oicq后端:
无标题

版本信息

1 - 2.1.10
2 - firefox
3 - 109.0.0
4 - Windows 10
更多

另附:控制台报错
https://paste.o3o.studio/?b7029607af9256c4#3RVnC6AZRrpzjos8Hi594tCpBYV2ijwy78LYYdfdr9G9

[错误] iOS按连接没有反应

描述错误
iOS按连接没有反应,没有弹出任何报错信息

复现流程
iOS 16.4.1(a) 在 Safari/Firefox上访问GitHub Pages DEMO网页,填写连接地址+密钥后按连接没有反应,也没有弹出任何报错信息,已反复测试Windows Edge(Chromium内核)上和Windows Electron客户端填写相同的地址+密钥后按连接秒连,在安卓13 Brave浏览器上按连接后等几秒能成功连上,但在iOS上无论等多久还是没有反应

版本信息
1 - 2.5.0
2 - production
3 - stapxs.github.io
4 - safari
5 - 16.4.0
6 - Mac OS
7 - undefined
8 - undefined
9 - 487 px

[ 错误 ] Lagrange.Core 事件支持问题

错误来源

Stapxs QQ Lite

描述错误

Lagrange.Core 的文件获取不正常,好像不支持 http_proxy 的获取方式。
也就无法使用 src/pages/Chat.vue 中的方法

const url = `https://pan.qun.qq.com/cgi-bin/group_file/get_file_list?gc=${this.chat.show.id}&bkn=${runtimeData.loginInfo.bkn}&start_index=0&cnt=30&filter_code=0&folder_id=%2F&show_onlinedoc_folder=0`
Connector.send(
    'http_proxy',
    { 'url': url },
    'getGroupFiles'
)

Lagrange.Core 中使用的是
https://github.com/eric2788/Lagrange.Core/blob/1da0d82fd4633d6d4f8e957f3ecb7c2dfe9d8bab/Lagrange.OneBot/Core/Operation/File/GroupFSOperations.cs#L30C13-L30C38
将代码修改为

Connector.send(
    'get_group_files_by_folder',
    { group_id: this.chat.show.id }, 
    'getGroupFiles'
)

便可以在websocket中获取信息,虽然接受后的信息还不能正确使用。

复现流程

No response

截图

No response

版本信息

No response

更多

顺带一提的
我不太清楚目前这一项目是否还会在未来进行向前的兼容
还是说提倡迅速适配新的方式

xml消息会将消息列表卡住

错误来源

Stapxs QQ Lite

描述错误

如果一个群的最近消息中包含有xml消息,那么点开这个群之后就无法加载其他群的消息了,而且这个群的消息会只显示xml消息之前的消息,此时只能刷新页面
在设置里把消息类型改为JSON_OICQ_1之后可以解决这个问题,可以加载其他群的消息,但是xml消息本身不见了,而且不能发送表情包(发出去的表情包是类似[CQ:image,file=[https:xxx,cache=true,asface=true]这样的代码)

这里说的xml消息是指qq小程序分享的卡片消息,不确定描述是不是准确,下面这段是控制台收到的一条xml消息的原始消息:
<?xml version='1.0' encoding='UTF-8' standalone='yes'?><msg templateID="123" url="https://b23.tv/XEpsH75" serviceID="1" action="web" actionData="" a_actionData="" i_actionData="" brief="[QQ小程序]哔哩哔哩" flag="0"><item layout="2"><picture cover="https://pic.ugcimg.cn/5f8d1fe1136d9efc64ff95f95b870436/jpg1"/><title>哔哩哔哩</title><summary>被电泰坦破防的showmaker</summary></item><source url="https://b23.tv/XEpsH75" icon="https://open.gtimg.cn/open/app_icon/00/95/17/76/100951776_100_m.png?t=1688639964" name="哔哩哔哩" appid="0" action="web" actionData="" a_actionData="tencent0://" i_actionData=""/></msg>

复现流程

  1. 从其他平台发送一条xml消息到qq群
  2. 用浏览器登陆Stapxs QQ Lite
  3. 打开这个群,加载最近消息
  4. 此时再尝试打开其他群就已经打不开了,当前群的消息会被卡在xml消息前

截图

No response

版本信息

1 - 2.5.7
2 - production
3 - stapxs.github.io
4 - edge-chromium
5 - 114.0.1823
6 - Windows 10
7 - oicq2
8 - 1.2.1
9 - 1618 px

更多

No response

一点可以改善的地方

Screenshot_2023-01-08-06-38-27-21_3aea4af51f236e4932235fdada7d1643.jpg
在移动端访问网页时,右侧和下侧有白边,在滑动信息的时候很容易拉出来,而且十分影响体验。
是否有阻止用户缩放/滑动页面之类的东西,让用户能不那么轻易的把白边划出来呢?

谢谢大佬!

[错误]

描述错误
使用最新发布版本可连接,但点开聊天界面无输入,仅在启动时控制台有错误提示,点击聊天界面无任何错误提示。

截图
image
image

版本信息
Stapxs QQ Lite - 2.5.0 ( production )

更多
使用GitHub Pages构建的web版本无法连接,控制台报错如下
image
自己构建web页面失败,报错如下
image
辛苦佬惹

[错误] lagrange.onebot 消息

错误来源

None

描述错误

"getSystemMsg" "getChatHistoryFist" "getRoamingStamp" "getClassInfo" 等诸多事件出现 retcode 为 404 的情况

复现流程

docker 部署 image: ghcr.io/lagrangedev/lagrange.onebot:edge 采用 ForwardWebSocket
然后使用 Stapxs-QQ-Lite-2.0 进行连接报错

截图

截屏2024-03-20 18 42 30 image

版本信息

分支: 8ab31a4

更多

No response

[提醒] 关于协议变更暂时无法正常登录的问题

如果你使用了 oicq2-http,请更新仓库重新运行 yarn 指令更新依赖 ->(0f385a5),然后删除 device.json 重新运行
其他情况请自行尝试解决

如果在使用 Android Watch 登录时遇到环境异常的情况 emmm 可以暂时换用 iPad(5) 登陆方式

图片


你 QQ 的协议貌似又又又更新了 …… 所以 oicq 系的全家都炸了 emmm

经过尝试目前 oicq v2 主仓库的最新版本是可用的但是有点问题会报错 XD
> takayama-lily/oicq#521

icqq(oicq v2) 目前无法使用,看看会不会更新 ——
> https://github.com/icqqjs/icqq/issues/29

oicq-icalingua-plus-plus(oicq v1)根据群友反映也没法登录了 ……
> Icalingua-plus-plus/Icalingua-plus-plus#664

总之,如果遇到了登录问题 …… 不要悲伤不要心急 —— 因为我现在也上不去了

[错误] 在輸入框輸入消息後,文字自動消失。

描述错误

在輸入框輸入消息後,文字自動消失。

复现流程

隨便點一個群,然後輸入文字。

截图

版本信息

圖片

更多

輸入法是 RIME 和 新注音2003 的中文模式,英文模式則可正常輸入發送,新注音2003 待選狀態時點擊發送也可正常發送。

[错误] 图片发送弹窗在垂直方向不居中

描述错误
确认发送图片的弹窗在垂直方向并不居中,在16:9屏幕中最大化会直接跑到屏幕外面

复现流程
进入聊天,点击选择图片并选择图片或者直接粘贴图片

截图
图片
图片
图片
图片

版本信息
1 - 2.2.8
2 - production
3 - stapxs.github.io
4 - firefox
5 - 109.0.0
6 - Windows 10
7 - oicq2
8 - 2.3.1
9 - 1707 px

更多
那个……其实第六项应该是Windows 11才对,虽然和Windows 10好像也没什么区别?

在 chromium 内核上因 ws 不会被自动升级成 wss 导致无法连接,且 QQ Lite 本身无法发起 wss 连接[错误]

描述错误

在 chromium 内核的浏览器上,当连接地址是公网的一个域名时,点击连接会出现报错。但 Firefox 能够正常连接
复现流程

在 chromium 内核的浏览器上(我使用了 edge 与 chrome 成功复现,但没有在 Firefox 上成功复现)
链接地址填 my.domain.com:443,这里的 my.domain.com 换成任意域名都可复现,别的端口我没试
密钥我填的是我连接服务器的密钥,不过我猜测任何字符串均可复现
截图

image
image
版本信息

第一张图无法连接
1 - 2.1.8
2 - edge-chromium
3 - 108.0.1462
4 - Windows 10

第二张图可以连接
1 - 2.1.8
2 - firefox
3 - 110.0.0
4 - Windows 10
更多

这是控制台报错,看完 chromium 和 Firefox 的控制台报错,我似乎明白为什么会这样了
连接地址我填的是 my.domain.com,浏览器请求的是 ws://my.domain.com/,因为网站支持 HTTPS,在 chromiun 内核的浏览器上会直接拒绝连接,而在 Firefox 上是把 ws 升级成 wss 来建立连接。
就在刚刚,我尝试在连接地址上填写 wss://mydomain.com,然后我看到浏览器发了一个 ws://wss//my.domain.com 的 GET 请求……
image
image
`runtime-core.esm-bundler.js:228

   DOMException: Failed to construct 'WebSocket': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.
at D.create (https://stapxs.github.io/Stapxs-QQ-Lite-2.0/js/app.33b44e32.js:1:2362)
at Proxy.connect (https://stapxs.github.io/Stapxs-QQ-Lite-2.0/js/app.33b44e32.js:1:85510)
at onSubmit.g.<computed>.g.<computed> (https://stapxs.github.io/Stapxs-QQ-Lite-2.0/js/app.33b44e32.js:1:31128)
at https://stapxs.github.io/Stapxs-QQ-Lite-2.0/js/chunk-vendors.2ea75461.js:1:71769
at o (https://stapxs.github.io/Stapxs-QQ-Lite-2.0/js/chunk-vendors.2ea75461.js:1:28874)
at a (https://stapxs.github.io/Stapxs-QQ-Lite-2.0/js/chunk-vendors.2ea75461.js:1:28957)
at a (https://stapxs.github.io/Stapxs-QQ-Lite-2.0/js/chunk-vendors.2ea75461.js:1:29063)
at HTMLFormElement.n (https://stapxs.github.io/Stapxs-QQ-Lite-2.0/js/chunk-vendors.2ea75461.js:1:71551)

s @ runtime-core.esm-bundler.js:228
l @ runtime-core.esm-bundler.js:206
o @ runtime-core.esm-bundler.js:160
a @ runtime-core.esm-bundler.js:166
a @ runtime-core.esm-bundler.js:176
n @ runtime-dom.esm-bundler.js:345`

[ 提醒 ] 关于 oicq 版本过低问题

由于腾讯对最低可用版本下限进行了调整,目前 oicq 当前版本已无法正常登陆。
如果你正在使用我们魔改的 oicq2-http 服务,请直接更新仓库以应用新的更改,我们将 oicq 迁移为了它的 fork icqq,这个分支维护更加活跃并且可以正常使用。

如果你不想迁移或者还在使用旧的 oicq1-http,你可以参见以下 issue 手动解决:
takayama-lily/oicq#451

或者,go-cqhttp 当前也已支持!

关于多端支持的计划

  1. 不清楚现在对 go-cqhttp 支持的进度如何,作者的思路又是啥,可以讨论讨论,我有点等不及了,也可以帮忙写一点,我的思路是在 connetor 类中进行处理转换

  2. 登录界面希望可以增加一个选后端的下拉框,选取 oicq1,2,go-cqhttp,其他后端等等

[BUG] json 的合并转发消息好像被我改烂了

错误来源

None

描述错误

电脑里的项目删掉了懒得 clone 记下来回去修

复现流程

No response

截图

No response

版本信息

No response

更多

参考格式

{
    "app": "com.tencent.multimsg",
    "desc": "",
    "bizsrc": "",
    "view": "contact",
    "ver": "0.0.0.5",
    "prompt": "[聊天记录]",
    "meta": {
        "detail": {
            "news": [
                {
                    "text": "春秋:  [图片][动画表情]"
                },
                {
                    "text": "春秋:  为什么我的steam"
                },
                {
                    "text": "春秋:  是中文版的"
                }
            ],
            "uniseq": "uniseq",
            "resid": "resid(用于获取合并转发)",
            "summary": "查看3条转发消息",
            "source": "群聊的聊天记录"
        }
    },
    "config": {
        "autosize": 1,
        "forward": 1,
        "round": 1,
        "type": "normal",
        "width": 300
    }
}

[错误]

使用Tim-Paik / oicq-http2,更新仓库后仍有报错
[2023-05-21T13:22:58.840] [WARN] [icqq] - token失效: [禁止登录]登录失败,建议升级最新版本后重试,或通过问题反馈与我们联系。(错误码:45)
[2023-05-21T13:22:58.843] [ERROR] [icqq] - [禁止登录]登录失败,建议升级最新版本后重试,或通过问题反馈与我们联系。

更新Nodejs版本

错误来源

None

描述错误

我打算在闲置Android上搭建一个前后端,但是Termux只能拉取Nodejs18/19

复现流程

  1. 在任意Android上安装Termux
  2. 安装yarn
  3. 安装依赖并启动服务 提示项目不支持此Nodejs版本

截图

No response

版本信息

No response

更多

No response

在 HTTPS 下下载群文件时出现的问题[错误]

描述错误
当使用 https 时,下载群文件会发一条 http 的请求,随后被浏览器拦截导致无法下载

复现流程
使用 https+wss,打开控制台,下载任意群文件均可看到此报错

截图
图片

版本信息
我猜你不需要版本信息((
chromium 内核会直接掐掉连接,firefox 会升级成 https 后再下载

更多
QQ 的文件服务器支持 https,把发起的链接用正则来替换成 https 应该就可以了。
但是比较纠结的是,这仅限于使用 https+ 本地 ws 和 https+ 远程 wss 和 本地 http+ 本地 ws 和 本地 http+ 远程 wss 的用户,远程 http+ws 的用户将无法使用
(不过应该没谁会用远程 http+ws 吧)
其实也可以像之前 ws 失败就用 wss 那样,或者加个判断之类的,但我感觉有点复杂,不如偷偷懒全用 https 算了(划掉)

[ 服务中断提醒 ] 关于 SQL1.0 版本的一点小问题

简单的说就是 SQL1 在这几天可能会出现丢失 css 样式的情况 ……

具体的说,因为 SQL1 依赖部分在我服务器里的文件,我刚刚顺手给服务器滚软件更新的时候把 Apache 玩烂了
于是乎我打算好好整理下乱七八糟的服务器,所以大概率这一两天都不会恢复 …… 当然我会优先恢复更重要的服务
比如说像是 api 啥的 XD
总之如果你是因为 SQL1 不能用了找到这儿的 …… 那非常抱歉了 T.T

[建议]: 添加OneBot标准支持

emm...
看一下是否合适, 因为这是一个大工作, 但是可以有普遍的支持, 还可以支持其它的软件

即OneBot标准,
参考 NoneBot2 项目,

使用OneBot标准可以兼容各大adapters, 无需考虑各种兼容问题, 但是肯定需要从新架构

接收不到任何消息

错误来源

None

描述错误

使用OICQ-http2,无法接收任何消息

复现流程

No response

截图

image
image

版本信息

1 - 2.5.7
2 - production
3 - .
4 - chrome
5 - 104.0.5112
6 - Windows 10
7 - oicq2
8 - 1.2.2
9 - 1206 px
10 - 20.3.12

更多

No response

[错误]

描述错误

发出文字空白
复现流程

Windows下回车~
截图

没有欸
版本信息

更多

[ 提醒 ] 主分支交换提醒

由于现在我已经没法正常登录使用 icqq 开发,导致当前主分支的版本无法继续兼容开发……
决定将兼容其他 bot 的版本切换为主分支,这将导致一些问题:

  • Github Pages 的编译版本将不支持 icqq

在处理新好友请求时点击拒绝也会添加此好友

错误来源

QQ Bot

描述错误

在处理新好友请求时点击拒绝也会添加此人

复现流程

找个小号加自己
在Stapxs QQ Lite登录被添加的账号
点击列表中的系统消息
拒绝此人
左下角提示此人已被添加 Bot后端也是

截图

No response

版本信息

1 - 2.5.7
2 - production
3 - sorry but i want to hide this
4 - chrome
5 - 116.0.0
6 - Windows 10
7 - oicq2
8 - 1.2.2
9 - 1536 px

更多

No response

opt_auto_dark 似乎是假的[错误]

描述错误
自动深色模式 似乎没有工作

复现流程
尝试修改系统时间/时区/经纬度/系统深/浅色,QQ Lite 的深色模式仍然会保持上一次的状态

截图
图片
将就着看吧,没找到啥有价值的信息

版本信息
v2.2.1
Windows11 Workstation 22623.1180
Chromium Edge 版本 109.0.1518.55 (正式版本) (64 位)
但在 Firefox Nightly 111.0a1 (2023-01-19) (64 位) 也可以复现
你怎么能把版本信息给删了呢(((

更多
我翻遍了你的代码,没有找到 opt_auto_dark 字段(至少 App.vue 是没有的)
悄咪咪的问一句 是没做吗(((
option.ts 68-74 行
function setDarkMode(value: boolean) { if (value === true) { changeColorMode('dark') } else { changeColorMode('light') } }
我猜或许可以从这里下手(

[错误]关于一些显示上的小问题和界面操作体验改进

描述错误

· 联系人列表中联系人依然会部分重复 (修了 但只修了一点(?)
· 私聊会话发送的消息不会实时出现在消息列表
具体表现为敲下回车 消息栏的文字消失了但仿佛什么也没发生
实际上消息正常发送 切换会话对象再切回来 刚刚发送的消息也会正常显示
群聊没有这个问题(why?)

体验优化(别逼我跪下来求你...)

· (重要)会话列表支持点选UI快捷切换会话对象 而不是想换人聊天必须去翻联系人列表
(当我点了消息列表的头像发现没切过去一度以为哪里报错了=-=|||)
· 会话列表支持单独会话删除 想定ui表现为长按出现二级列表 【置顶,设为已读,关闭会话】
· 联系人列表支持按好友分组查看 (分组编辑和移动可以搁置 先有分组显示)

更多
为大佬献上膝盖 这个项目简直是上班摸鱼人的宝藏(公司电脑不让装qq)

[错误] 在 Firefox 中使用时无法切换语言

描述错误

在 Firefox 中使用时,切换语言没有反应,并且控制台有报错。
复现流程

  1. 使用 Firefox 打开 SQL 2.0
  2. 切换语言

截图
image

版本信息

1 - 2.0.0 2 - firefox 3 - 102.0.0 4 - Windows 10
更多

[ 错误 ] 自己发送的私聊消息显示处理有误

在 oicq 中,返回私聊消息时会返回此消息是发给谁的,但是在 OneBot 11 规范中没有这条字段

{
    "status": "ok",
    "retcode": 0,
    "data": {
        "time": -2147483648,
        "message_type": "private",
        "message_id": *****,
        "real_id": *****,
        "sender": {
            "user_id": *****,
            "nickname": "林小槐",
            "sex": "unknown"
        },
        "message": [
            {
                "type": "text",
                "data": {
                    "text": "啊吧啊吧"
                }
            }
        ]
    },
    "echo": "getSendMsg_*****_0"
}

在上述返回消息中,我只知道发送者是我自己,但是不知道是发送给谁的
在目前的流程处理中将会直接导致这条消息被认为是我向我自己发送的并出现在聊天列表里
理论上所有完全遵循 OneBot11 规范的 bot 都会出现这种问题,需要考虑处理方式……

image

关于多端同步聊天记录

qq lite 是不可能做到端和端之间通信的,没有同步聊天记录也可以理解
但我有一个想法,使用数据库来存储数据,而不只是 cookies 之类的了
每条消息都丢进数据库里 每次打开都同步一下 也许使用体验会好很多 不过这样使用者铁定要台服务器了

-------- 分割线 --------

我觉得要加这个功能可能得在 QQ lite v3 了()
我想的实现方法是把数据库装在 oicq 的服务器上 获取消息就存入数据库,而 qqlite 不再和 oicq 建立连接 而是和数据库建立连接 这样能实现很多很多现在做不了的功能,也不会因为 oicq 的小 bug 导致 qqlite 有问题还修不了(比如私信看不到自己的消息)

大概就是这样吧 我努努力学下 JavaScript 和 Python 争取早日做点贡献(

[ 提醒 ] 暂停维护通知

因为我现在 QQ 号用旧的登陆方式已经完全上不去了 …… 新的 sign 签名登陆方式有冻结风险
由于我自己的账号有工作需要 …… 手头又没别的账号可以用于测试

所以 ……
在有更稳定的登陆方式之前我没法进行开发测试工作(躺
进行一个摆烂

收到的消息会显示多次,重新加载对话框后会正常。接收到的新消息又会重复显示[错误]

描述错误

当你与好友聊天的时候,好友给你发了一条消息,你这里会重复显示他发的消息
复现流程

它可能是远程部署 wss 特有的问题,因为我猜测其他人都是在本地部署的,oicq 和前端延迟比较低可能就没有出现这个问题
不过这是猜测,我暂时没有时间尝试本地 ws。我会在最近一周再补充些相关的信息。

  1. 找个人,让他给你发个消息即可复现
    截图

屏幕截图 2023-01-11 140231
版本信息

1 - 2.1.9
2 - edge-chromium
3 - 108.0.1462
4 - Windows 10
我是 Windows 11 不是 Windows 10
更多

截图中的控制台报错我看了,好像和这个问题没什么关系。

[建议]修改文档

  1. "platform" 改为 6,(默认配置的5无法使用)
  2. 创建 .oicq/account/passowrd 文件夹,(因为这里文件夹不存在会出现 error)

非常感谢你的工作,

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.