这是 SS ——
一个年龄和年份一样大非常好记的一般路过摸鱼开发(无端),没有什么《一枚19岁程序员的自学之路》一样“振奋人心”的经历;准确的说我 2017 年才接触程序,可能和一般普通的开发没有任何区别吧(躺下)。
虽然现在在做着一个中规中矩的 Java 开发的活,但还是乐于做前端开发的事情。
- 看看没时间写的 BLOG:林槐的杂货铺
一个兼容 OneBot 协议的非官方网页版 QQ 客户端、electron 客户端。
Home Page: https://stapxs.github.io/Stapxs-QQ-Lite-2.0/
License: Apache License 2.0
这是 SS ——
一个年龄和年份一样大非常好记的一般路过摸鱼开发(无端),没有什么《一枚19岁程序员的自学之路》一样“振奋人心”的经历;准确的说我 2017 年才接触程序,可能和一般普通的开发没有任何区别吧(躺下)。
虽然现在在做着一个中规中矩的 Java 开发的活,但还是乐于做前端开发的事情。
使用Tim-Paik / oicq-http2,更新仓库后仍有报错
[2023-05-21T13:22:58.840] [WARN] [icqq] - token失效: [禁止登录]登录失败,建议升级最新版本后重试,或通过问题反馈与我们联系。(错误码:45)
[2023-05-21T13:22:58.843] [ERROR] [icqq] - [禁止登录]登录失败,建议升级最新版本后重试,或通过问题反馈与我们联系。
此 issue 下是关于其他支持或不支持 Onebot 11 的 bot 的适配相关进度支持。(按功能完整度排序)
如果你有 Bot 适配请求,请使用空白模版创建新的 issue;如果你是列表中某个 Bot 的开发者并且愿意跟进兼容性适配,您可以参考下面的端点列表考虑实现缺失的功能,OneBot11 协议端点是必须实现的功能,其他的没有也可以用;你可以在本 issue 直接反馈兼容进度。
Bot 需要支持基本的 OneBot11 规范;目前使用到了以下端点来提供完整的功能
这些是来自 Onebot11 规范的断点,这些端点用于 sql 最基本的功能实现;如果 bot 支持了这些端点,理论上说 sql 就能正常工作。
这些端点是用来扩展一些功能的,如果没有也无伤大雅;但是有最好啦。
长按时会打开浏览器自带的长按菜单,而次客户端的的右键菜单会迅速关闭,无法使用。
总之就是要更新一下 electron 的版本
描述错误
如题,后端显示的新消息无法在前端正常显示,对话列表是空的,同时控制台报错
复现流程
版本信息
1 - 2.1.10
2 - firefox
3 - 109.0.0
4 - Windows 10
更多
另附:控制台报错
https://paste.o3o.studio/?b7029607af9256c4#3RVnC6AZRrpzjos8Hi594tCpBYV2ijwy78LYYdfdr9G9
· 联系人列表中联系人依然会部分重复 (修了 但只修了一点(?)
· 私聊会话发送的消息不会实时出现在消息列表
具体表现为敲下回车 消息栏的文字消失了但仿佛什么也没发生
实际上消息正常发送 切换会话对象再切回来 刚刚发送的消息也会正常显示
群聊没有这个问题(why?)
· (重要)会话列表支持点选UI快捷切换会话对象 而不是想换人聊天必须去翻联系人列表
(当我点了消息列表的头像发现没切过去一度以为哪里报错了=-=|||)
· 会话列表支持单独会话删除 想定ui表现为长按出现二级列表 【置顶,设为已读,关闭会话】
· 联系人列表支持按好友分组查看 (分组编辑和移动可以搁置 先有分组显示)
更多
为大佬献上膝盖 这个项目简直是上班摸鱼人的宝藏(公司电脑不让装qq)
描述错误
https 连接 ws 功能损坏,未能正常 catch 重试
版本信息
dev
更多
总之就是被我改烂了先记着
其他
在图片保存时候,会收到来自 url 的制约
导致保存的图片默认名称通常为 qq api 所定好的 download 和 0
https://gchat.qpic.cn/gchatpic_new/{}/{}/0
https://multimedia.nt.qq.com.cn/download?appid={}&fileid={}&rkey={}&spec={}
这就需要保存图片时候手动进行命名
No response
No response
No response
No response
不清楚现在对 go-cqhttp 支持的进度如何,作者的思路又是啥,可以讨论讨论,我有点等不及了,也可以帮忙写一点,我的思路是在 connetor 类中进行处理转换
登录界面希望可以增加一个选后端的下拉框,选取 oicq1,2,go-cqhttp,其他后端等等
习惯用 ENTER 换行,CTRL+ENTER 发送消息了。希望能够加个设置,感谢。
回车的时候有点点小别扭,需要到下一行才会发送消息((((
具体视频效果长这样——
QQ录屏20230228223613.zip
谢谢啦——(((
描述错误
自动深色模式 似乎没有工作
复现流程
尝试修改系统时间/时区/经纬度/系统深/浅色,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') } }
我猜或许可以从这里下手(
在 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 都会出现这种问题,需要考虑处理方式……
描述错误
当使用 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 算了(划掉)
第一次接触,好像不太会
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
qq lite 是不可能做到端和端之间通信的,没有同步聊天记录也可以理解
但我有一个想法,使用数据库来存储数据,而不只是 cookies 之类的了
每条消息都丢进数据库里 每次打开都同步一下 也许使用体验会好很多 不过这样使用者铁定要台服务器了
-------- 分割线 --------
我觉得要加这个功能可能得在 QQ lite v3 了()
我想的实现方法是把数据库装在 oicq 的服务器上 获取消息就存入数据库,而 qqlite 不再和 oicq 建立连接 而是和数据库建立连接 这样能实现很多很多现在做不了的功能,也不会因为 oicq 的小 bug 导致 qqlite 有问题还修不了(比如私信看不到自己的消息)
大概就是这样吧 我努努力学下 JavaScript 和 Python 争取早日做点贡献(
描述错误
如题
有的时候会变成下一张 有的时候会变成已缓存的第一张
复现流程
打开一张图片然后再次收到图片消息即可
版本信息
1 - 2.1.5
2 - chrome
3 - 106.0.5249
4 - Linux
Stapxs QQ Lite
直接下载了release中的exe测试, 开了ws端口, ws可以成功连接, 可以获取到账号信息和好友列表, 但是无法发送消息
看了ws的消息是请求了getSystemMsg和getClassInfo, 但是这两个请求后端都返回了不支持的api, 我看了下ob11的公开api中也没有这两个
(不知道是不是应该请求get_msg这类的?)
No response
1 - 2.6.11
2 - production
3 - .
4 - chrome
5 - 118.0.5993
6 - Windows 10
7 - LLOneBot
8 - 3.23.0
9 - 871 px
10 - 27.3.8
emm...
看一下是否合适, 因为这是一个大工作, 但是可以有普遍的支持, 还可以支持其它的软件
即OneBot标准,
参考 NoneBot2 项目,
使用OneBot标准可以兼容各大adapters, 无需考虑各种兼容问题, 但是肯定需要从新架构
描述错误
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
如果你使用了 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
总之,如果遇到了登录问题 …… 不要悲伤不要心急 —— 因为我现在也上不去了
描述错误
构建完成之后访问网页是白屏,网页资源能够正常加载,界面却是白屏。
我使用的http-server来作为http服务器
复现流程
截图
版本信息
http-server version: 14.1.1
nodejs verison: 18.12.1
更多
这是我的构建信息
https://gist.futils.com/?46bbc9eec67fcaaf#4VM7YF43dWbpwjreJZ9fPkEwhKCFMqyj1xDdF5DxULgk
非常感谢你的工作,
兼容 OpenShamrock 协议。
不影响已经登录的设备。
相比 oicq 等在更新时不容易受到协议更新的问题。
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
}
}
最近 8.8.88 被大面积风控了 …… 表现为 40、45 或者登录后群消息无法发送之类的情况
总之暂时没救(躺
因为我现在 QQ 号用旧的登陆方式已经完全上不去了 …… 新的 sign 签名登陆方式有冻结风险
由于我自己的账号有工作需要 …… 手头又没别的账号可以用于测试
所以 ……
在有更稳定的登陆方式之前我没法进行开发测试工作(躺
进行一个摆烂
描述错误
在 chromium 内核的浏览器上,当连接地址是公网的一个域名时,点击连接会出现报错。但 Firefox 能够正常连接
复现流程
在 chromium 内核的浏览器上(我使用了 edge 与 chrome 成功复现,但没有在 Firefox 上成功复现)
链接地址填 my.domain.com:443,这里的 my.domain.com 换成任意域名都可复现,别的端口我没试
密钥我填的是我连接服务器的密钥,不过我猜测任何字符串均可复现
截图
第一张图无法连接
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 请求……
`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`
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
顺带一提的
我不太清楚目前这一项目是否还会在未来进行向前的兼容
还是说提倡迅速适配新的方式
简单的说就是 SQL1 在这几天可能会出现丢失 css 样式的情况 ……
具体的说,因为 SQL1 依赖部分在我服务器里的文件,我刚刚顺手给服务器滚软件更新的时候把 Apache 玩烂了
于是乎我打算好好整理下乱七八糟的服务器,所以大概率这一两天都不会恢复 …… 当然我会优先恢复更重要的服务
比如说像是 api 啥的 XD
总之如果你是因为 SQL1 不能用了找到这儿的 …… 那非常抱歉了 T.T
None
我打算在闲置Android上搭建一个前后端,但是Termux只能拉取Nodejs18/19
No response
No response
No response
None
"getSystemMsg" "getChatHistoryFist" "getRoamingStamp" "getClassInfo" 等诸多事件出现 retcode 为 404 的情况
docker 部署 image: ghcr.io/lagrangedev/lagrange.onebot:edge 采用 ForwardWebSocket
然后使用 Stapxs-QQ-Lite-2.0 进行连接报错
分支: 8ab31a4
No response
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>
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
由于现在我已经没法正常登录使用 icqq 开发,导致当前主分支的版本无法继续兼容开发……
决定将兼容其他 bot 的版本切换为主分支,这将导致一些问题:
描述错误
发出文字空白
复现流程
Windows下回车~
截图
没有欸
版本信息
更多
由于腾讯对最低可用版本下限进行了调整,目前 oicq 当前版本已无法正常登陆。
如果你正在使用我们魔改的 oicq2-http 服务,请直接更新仓库以应用新的更改,我们将 oicq 迁移为了它的 fork icqq,这个分支维护更加活跃并且可以正常使用。
如果你不想迁移或者还在使用旧的 oicq1-http,你可以参见以下 issue 手动解决:
takayama-lily/oicq#451
或者,go-cqhttp 当前也已支持!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.