This repository has been archived by the owner on Nov 2, 2023. It is now read-only.
Releases: takayama-lily/oicq
Releases · takayama-lily/oicq
v2.1.0-beta
v2-beta版本已发布,需要使用beta标签安装:npm i oicq@beta
v2不完全兼容v1.x,主要 break changes:
- 废除了CQ码字符串
- 消息元素对象压平,不再分两层
- API返回值不再使用retcode和data
Changelog和升级方法 (在新窗口中打开)
v1.21.2
Bug fixes:
- cookies经常过期的问题
- 好友文件的
message
不是数组的问题 - logout后无法马上login的问题
v1.21
Features:
- 制作一条合并转发消息
client.makeForwardMsg(fakes)
,会得到一个可发送的xml元素 - 登录时会加载陌生人列表,并缓存于
client.sl
中 getCsrfToken()
和getCookies()
标记为废弃,提供更简单的方式获取bkn和cookies:client.bkn
client.cookies[domain]
getStatus()
标记为废弃,请使用client.stat
获取每分钟消息数等统计信息
v1.20.2
- 修复一个网络问题
- 图片默认不再以小图发送
- 要发小图将此属性设为
face
- 要发小图将此属性设为
- 招募有识者帮助更新 web-api.md 和 error-code.md
v1.20
v1.19.7
v1.19.5
v1.19.3
v1.19
补丁:v1.19.2 (修复typing错误)
Features:
- 新增事件
request.friend.single
被添加为好友(单向)- 设置为 允许任何人添加 或 需要正确回答问题 时被添加会触发该事件,可使用
client.setFriendAddRequest(flag)
回添对方。
- 设置为 允许任何人添加 或 需要正确回答问题 时被添加会触发该事件,可使用
- 新增事件
message.private.self
表示"我的电脑"等其他设备发来的消息(仅支持接收) - 新增置消息已读API
client.reportReaded(message_id)
,此消息id及之前所有消息都会被置为已读 - 新增一级事件分类
sync
当同账号其他客户端做了一些操作后会触发,拥有以下二级事件- 已读同步
sync.readed
不要吐槽readed,抄的tx的命名 - 私聊同步
sync.message
- 在线状态同步
sync.status
- 个人资料同步
sync.profile
- 黑名单同步
sync.black
- 已读同步
- 新增类属性
client.blacklist
黑名单列表,类型为ReadonlySet<number>
新增配置属性config.ignore_black
群聊屏蔽黑名单,默认true
- 新增配置属性
config.ffmpeg_path
和config.ffprobe_path
- 新增一批常量
oicq.constants
包含在线状态和设备类型常量 - 支持获取被过滤的风险加群申请
- 无事件上报,只能通过
client.getSystemMsg()
获取
- 无事件上报,只能通过
- 上传群文件支持用回调函数来处理上传进度
- 扫码登录时在终端打印二维码
- 支持扩展协议(若你不明白使用方法请勿随意使用)
- 暴露
client.sendUni()
和client.sendOidb()
方法 - 暴露
client.em()
方法 - 新增内部事件
internal.sso
可监听所有原始事件数据包
- 暴露
- 新增实验性事件
internal.input
对方正在输入
Fixes:
- 文件路径中有空格或特殊符号时ffmpeg等命令无法执行
- 网络图片/语音遇到重定向时有时无法正确下载
Others:
- 将所有压缩/解压改为异步以提升性能
- 头文件内添加了
once
和off
- 头文件内现在有比较完整的注释可参考
notice.group.poke
事件增加了target_id
字段notice.group.setting
事件增加了avatar
字段,群头像更新时触发- 补全
segment.video()
和cqcode.video()
- 以下API标记为废弃,详细参见 已废弃的方法
client.getFriendList()
client.getGroupList()
client.getStrangeList()
client.getGroupNotice()
client.getLevelInfo()
client.canSendImage()
client.canSendRecord()
client.getVersionInfo()