Releases: lumina37/aiotieba
Releases · lumina37/aiotieba
v2.7.2
贴吧接口层
新增特性
- 当无法在指定位置找到配置文件时,
aiotieba
将尝试创建配置文件样例
bug修复
Client
现在可以正确地分发websocket
的返回数据。发送websocket
请求时,一个client.WebsocketResponse
实例将被构造并被添加至等待队列。_ws_dispatch
会将返回数据根据唯一的request_id
填充到对应的WebsocketResponse
中。最后用户通过异步函数WebsocketResponse.read
提取数据- 修复了
CommitPersonalMsgReqIdl.proto
中一个字段编号错误的bug
应用层
新增特性
- 新增了一些教学案例
vote_stat
指令现在需要至少3个参数
bug修复
- 修复了
refuse_appeals
指令的一个bug,现在不再由Reviewer.refuse_unblock_appeals
的返回值判断指令是否执行成功
v2.7.1
v2.7.0
贴吧接口层
新增特性
tiebaBrowser
更名aiotieba
,_api.Browser
更名_api.Client
_api.Client
新增生成client_id
cuid
cuid_galaxy2
的方法_api.Sessions
新增类属性latest_version
main_version
post_version
用于集中管理版本号_api.Client
新增接口get_self_fan_list
remove_fan
get_self_follow_list
follow
unfollow
用于操作粉丝列表和关注列表
v2.6.1
贴吧接口层
新增特性
- 对
Python
版本的最低要求降至Python3.8
- 配置文件格式由
json
更换为yaml
- 使用
requirements.txt
指明依赖库 - 新增
_types.NewThread
用于支持新版字段命名,_types.Thread
不再尝试适配新版字段 - 新增
_types.ShareThread
用于支持分享主题帖,_types.Thread
不再尝试适配分享帖相关的字段 - 新增
_api.get_self_threads
_api.get_self_posts
_api._get_self_contents
_types.UserPost
_types.UserPosts
用于获取用户发帖历史
变化特性
_types
中的类继承结构大幅优化_Containers
不再转发Page.has_more
以及Page.has_prev
属性- 所有需要给出目标贴吧的接口现在均支持使用
fid
和fname
中的任一种参数,而不是之前的仅允许fid
或仅允许fname
- 不需要自定义赋值流程的原生数据类型字段现在统一不使用
property
包装,非原生数据类型字段依然优先懒加载
应用接口层
新增特性
Database.get_user_id_list
现在允许通过参数upper_permission
设定获取用户列表的permission
的上界
应用层
新增特性
get
recom_status
指令现在会尝试发送私信来反馈结果
v2.6.0
贴吧接口层
新增特性
- 贴吧
websocket
封装完成,现在支持发送贴吧私信 - 新增
UpdateClientInfoReqIdl.proto
UpdateClientInfoResIdl.proto
CommitPersonalMsgReqIdl.proto
CommitPersonalMsgResIdl.proto
用于支持websocket
中的protobuf
交互 - 新增库依赖
pycrytodome
用于支持websocket
中的加密方法 - 新增
Sessions._wrap_ws_bytes
和Sessions._unwrap_ws_bytes
用于对websocket
信息做封装与解封装
变化特性
Browser.ip
被移除Browser.get_self_forum_list
现在使用接口https://tieba.baidu.com/mg/o/getForumHome
替换接口http://c.tieba.baidu.com/c/f/forum/like
,每页可获取的关注贴吧数由50上升至200Browser._app_sign
被移动到Sessions._wrap_form
,Browser._get_tieba_multipart_writer
被移动到Sessions._wrap_proto_bytes
- 现在所有表单都以元组列表形式传参
bug修复
- 修复几处返回类型不明确的bug
v2.5.2
贴吧接口层
新增特性
- 类方法
Browser.refuse_appeals
被拆分为Browser.get_unblock_appeal_list
和Browser.handle_unblock_appeal
,原实现被移动至Reviewer.refuse_unblock_appeals
- 新增
Browser.get_forum_detail
用于从fid
反查贴吧详细信息 - 新增
Reviewer.get_tieba_name
用于从fid
反查贴吧名 _types.FragImage
新增属性show_width
show_width
用于表示图像显示的宽和高
变化特性
Browser.get_self_forums
现在可以控制页码翻页,直接返回列表而不是异步迭代,同时更名为Browser.get_self_forum_list
Browser.get_forums
现在直接返回列表而不是异步迭代,同时更名为Browser.get_forum_list
Database.get_user_id_list
的参数顺序调整,permission
现在是第一个参数
bug修复
Browser.get_homepage
现在能正确获取主题帖的fid
和tid
应用层
新增特性
- 现在所有修改用户权限级别的指令都会将原有的
note
打印到日志
v2.5.1
贴吧接口层
新增特性
_types.FragImage
新增属性hash
用于裁取图像链接的百度图床hashThreadInfo.proto
新增字段post_id
,_types.Thread
现在会尝试从thread_proto.post_id
字段初始化pid
应用接口层
变化特性
- 新增类
reviewer.Punish
用于记录删封操作 - 表
img_blacklist
更名为imghash
reviewer.RegularExp
更名为reviewer.CheckExps
reviewer.Reviewer
不再初始化一个CheckExps
实例作为类成员
应用层
新增特性
- 新指令
img_set
img_reset
用于操作图片的封锁级别。参考wiki
v2.5.0
贴吧接口层
新增特性
- 新接口
Browser.ip
用于获取出口ip
变化特性
_types.FragLink
的text
属性将不再附带链接内容
应用接口层
变化特性
database.Database
使用aiomysql
替换pymysql
,使用连接池替换单个连接
应用层
新增特性
- 指令
vote_stat
新增参数min_level
通过等级限制纳入统计的用户
bug修复
- 修复了指令管理器中一个导致指令被反复解析执行的bug
- 通过将
while-do
调整为do-while
,water_restrict exit
现在能正确地恢复所有帖
v2.4.1
贴吧接口层
新增特性
_types.FragLink
新增属性is_external
用于判断链接是否属于外链
变化特性
Browser._id2user_info
使用match-case
替代str.startswith
以优化性能Browser.url2image
不再使用Pillow
解码图像Fragments.texts
现在使用懒加载,因为大部分的碎片类型都是FragText
的子类型_types.Ats
会检查_raw_data['at_list']
是否为空,_types.Searches
会检查_raw_data['post_list']
是否为空,以避免返回结果为空时出现的解析bug- 使用
black
重格式化所有代码 - 多处细微的代码规范、注释和性能改进
应用层
变化特性
admin_listen.Context
的参数解析不再受到多余空格的干扰admin_listen.Context
长文本补全操作的触发阈值现在由bytes-length
而不是string-length
决定,以更好地匹配贴吧后端所使用的裁剪方法admin_listen.Context
中针对楼层回复的长文本补全效果更稳定了admin_listen.Listener
现在使用getattr
而不是self._cmd_map
来获取用于执行指令的函数,这可以节约内存、精简代码并提高初始化效率- 云审查现在使用
CloudReview.Punish
来生成处罚并自动获取生成处罚时的行数
v2.4.0
贴吧接口层
新增特性
Browser.get_posts
新增参数is_fold
以支持获取被折叠的楼层_types.Posts
新增字段has_fold
来判断当前主题帖是否存在被折叠的楼层
变化特性
_api.Browser
及其子类的初始化过程被移动到异步函数_init
中,以为适应Python 3.11
的新规范做准备- 贴吧客户端版本号由
12.23.1.0
回退至12.12.1.0
以避免楼层折叠 - 对
Python
版本的最低需求提高至3.10
以使用最新特性PEP 604 - Allow writing union types as X | Y
和PEP 634 - Structural Pattern Matching: Specification
- 使用
protobuf v3.20.0
优化protobuf
的序列化/反序列化代码
应用接口层
新增特性
reviewer.Reviewer
新增多个偏函数以提升数据库操作的编程效率
变化特性
database.Database
和_logger._Logger
现在采用更优雅的单例模式。并使用atexit
执行析构
应用层
新增特性
- 新增指令
block1
用于将指定用户封禁一天 - 指令
block
block3
block1
unblock
black
white
reset
set
get
tb_black
tb_reset
现在支持使用包含user_id
的字符串指定操作目标。详细使用方法请参考wiki
- 得益于新设计
Context._init_full()
,现在字符数量超过30的长指令会被完整解析
变化特性
- 指令类型
cmd_type
和指令参数列表args
的解析方法被移动至Context
并使用懒加载模式解析 - 指令
holyshit
的发送内容优化 - 指令
ping
现在会一并检查数据库的连接状态 - 指令管理器不再会修改
listen_config.json
bug修复
- 修复了一个数据库连接超时断开的bug,现在在执行任何指令前都会
ping
一次数据库并尝试重连