Skip to content

Releases: lumina37/aiotieba

v2.7.2

30 May 14:28
5188650
Compare
Choose a tag to compare

贴吧接口层

新增特性

  • 当无法在指定位置找到配置文件时, 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

29 May 13:09
016990a
Compare
Choose a tag to compare

贴吧接口层

新增特性

  • types.UserInfo 新增字段 is_bawu ip 用于判断用户是否吧务以及获取ip归属地
  • api.Client 新增接口 unlike_forum 用于取关贴吧
  • 优化 Clientclose 流程
  • 注释与命名细节的优化

已知bug

  • websocketreceivereconnect 流程仍存在bug

v2.7.0

28 May 05:06
2cde736
Compare
Choose a tag to compare

贴吧接口层

新增特性

  • 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

27 May 08:10
0e568f0
Compare
Choose a tag to compare

贴吧接口层

新增特性

  • 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 属性
  • 所有需要给出目标贴吧的接口现在均支持使用 fidfname 中的任一种参数,而不是之前的仅允许 fid 或仅允许 fname
  • 不需要自定义赋值流程的原生数据类型字段现在统一不使用 property 包装,非原生数据类型字段依然优先懒加载

应用接口层

新增特性

  • Database.get_user_id_list 现在允许通过参数 upper_permission 设定获取用户列表的 permission 的上界

应用层

新增特性

  • get recom_status 指令现在会尝试发送私信来反馈结果

v2.6.0

23 May 04:41
e691efb
Compare
Choose a tag to compare

贴吧接口层

新增特性

  • 贴吧 websocket 封装完成,现在支持发送贴吧私信
  • 新增 UpdateClientInfoReqIdl.proto UpdateClientInfoResIdl.proto CommitPersonalMsgReqIdl.proto CommitPersonalMsgResIdl.proto 用于支持 websocket 中的 protobuf 交互
  • 新增库依赖 pycrytodome 用于支持 websocket 中的加密方法
  • 新增 Sessions._wrap_ws_bytesSessions._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上升至200
  • Browser._app_sign 被移动到 Sessions._wrap_formBrowser._get_tieba_multipart_writer 被移动到 Sessions._wrap_proto_bytes
  • 现在所有表单都以元组列表形式传参

bug修复

  • 修复几处返回类型不明确的bug

v2.5.2

14 May 13:20
915ff2c
Compare
Choose a tag to compare

贴吧接口层

新增特性

  • 类方法 Browser.refuse_appeals 被拆分为 Browser.get_unblock_appeal_listBrowser.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 现在能正确获取主题帖的 fidtid

应用层

新增特性

  • 现在所有修改用户权限级别的指令都会将原有的 note 打印到日志

v2.5.1

06 May 03:16
b621416
Compare
Choose a tag to compare

贴吧接口层

新增特性

  • _types.FragImage 新增属性 hash 用于裁取图像链接的百度图床hash
  • ThreadInfo.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

30 Apr 02:15
792df3e
Compare
Choose a tag to compare

贴吧接口层

新增特性

  • 新接口 Browser.ip 用于获取出口ip

变化特性

  • _types.FragLinktext 属性将不再附带链接内容

应用接口层

变化特性

  • database.Database 使用 aiomysql 替换 pymysql ,使用连接池替换单个连接

应用层

新增特性

  • 指令 vote_stat 新增参数 min_level 通过等级限制纳入统计的用户

bug修复

  • 修复了指令管理器中一个导致指令被反复解析执行的bug
  • 通过将 while-do 调整为 do-whilewater_restrict exit 现在能正确地恢复所有帖

v2.4.1

22 Apr 16:08
1bb8ac7
Compare
Choose a tag to compare

贴吧接口层

新增特性

  • _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

18 Apr 11:11
e527046
Compare
Choose a tag to compare

贴吧接口层

新增特性

  • Browser.get_posts 新增参数 is_fold 以支持获取被折叠的楼层
  • _types.Posts 新增字段 has_fold 来判断当前主题帖是否存在被折叠的楼层

变化特性

应用接口层

新增特性

  • 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 一次数据库并尝试重连