trbot Channel
13 subscribers
2 photos
7 links
当前机器人 @trvoicebot
测试群组兼讨论群
https://t.me/+BomkHuFsjqc3ZGE1
Download Telegram
trbot Channel
感觉得跳票了
This media is not supported in your browser
VIEW IN TELEGRAM
今天尝试重写 handler 内核,就算自己逻辑配的不好,也得允许开发者自己在特定的位置创建特定的 handler 来运行

想写完再公开仓库主要是项目特殊性,一旦放出来了,方法就不能有太大变动,怎么说都得完善些,不然经常发 break change,那就没人喜欢用了

今天的更新内容有:
修复当消息中存在 HTML 标签符号 <> 时可能没法发出关键词提醒的问题,同时关键词提醒文字不会再将文字全部转换为小写
修复状态机会错误判断对话而触发的问题
打算把机器人当前 inline 模式下默认的语音包 handler 下掉了,用字符串查询性能消耗有些大。
不过功能还在,计划是合到保存消息功能里,然后数据统一存在 meilisearch 数据库里,同时查询也使用 meilisearch 自带的索引
trbot Channel
打算把机器人当前 inline 模式下默认的语音包 handler 下掉了,用字符串查询性能消耗有些大。 不过功能还在,计划是合到保存消息功能里,然后数据统一存在 meilisearch 数据库里,同时查询也使用 meilisearch 自带的索引
已经移除了,现在全都手动发了一份到 @trbotsaved 频道里,所有默认使用 voice 命令的用户也都被改成了 saved 命令,现在没有在 saved message 功能里保存过消息的用户,默认会展示频道里的收藏信息,保存过的也可以选择是否在 inline 模式下显示频道的消息
今天更新了什么:
@trbotsaved 频道里的内容现在都可以进行关键词搜索了,使用 bot 的 inline 模式来试一下吧,搜索效果由能工智人处理(人话:手打关键词)
同时优化了分类逻辑,原来的情况是先查询再分离,导致匹配率最高的内容有时反而不在列表最前,现在完全按匹配率来排序

还有,今天被 meilisearch-ui.riccox.com 面板给坑了,那个下载按钮并不会下载实际显示的内容数量,导致今天重新对频道进行了一遍索引,坏处是丢失了原本记录的来源信息
这两天更新了什么:

优化了 inline 模式下收藏消息的分类逻辑,同时去掉了分页功能,因为每次查询都返回全部列表再交给 bot 处理分页后再输出有些浪费性能,而且 inline 列表最大也只有 50 条内容,后面可能考虑改一下再加回来

修复了没法正常显示 inline 命令列表的问题,因为判断没有命令的逻辑出错了

改了一下有消息来源时的用户来源按钮,原来用的按钮 URL 格式 https://t.me/@id<用户 ID> 这种方式在一些客户端不能用,现在正常了

其余的就是收藏贴纸和收藏消息的部分更新,这里需要自己搭机器人才能用到,就不详细说了
今天没有更新什么功能,就是可以在 inline 模式显示命令列表的时候标记哪个是自己的默认命令,哪个是 bot 的默认命令

今天又因为 screen 挂着 bot 不知道按到什么让它停止运行了
今天有什么新功能:

inline 模式下默认的 saved 命令支持分页浏览了,但代价是个人收藏功能没了,因为两个做到一起的话分页逻辑和搜索逻辑都非常难做,想了好几天就下掉了,后面也许考虑补到另一个命令里去

不是今天更新了什么是因为好几天前就改了,但是没重启就没更新
今天做的更新大多数是框架相关的,倒是 TeamSpeak 有一点功能更新,不过还有一个不是很好复现的 bug 还没解决,只能多加点日志看看是什麽问题

最近清理了一下缓存目录,发现好像下载贴纸功能的人用的不少,但是视频 GIF 转 GIF 文件的功能没人用,不过频道里当前也没人订阅,也就这样了
机器人在 19:37 的时候爆炸了,原因是服务器爆炸了
trbot Channel
个人收藏功能没了,因为两个做到一起的话分页逻辑和搜索逻辑都非常难做,想了好几天就下掉了,后面也许考虑补到另一个命令里去
补回来了,具体的命令可以去 inline 模式下输入 + 号看子命令,这个命令可能会改,例如原本的频道收藏改成 channelsaved,个人收藏继续用 saved

不过也能设定默认命令,经常用的话设成默认命令就行,不用每次麻烦手动输入,当然 bot 现在默认的命令就是频道收藏
今天更新了一下,具体是数据安全之类的,给并发操作时加了个读写锁,结合读写锁补了一下动数据库文件时的保护措施,以及重新改了 callback query 的请求限制(现在最多可以同时下两个贴纸包,但因为服务器性能问题并不保证后面会一直允许同时下两个)
今天改了下载贴纸的功能,计划是支持将 .tgs 格式的贴纸转换成 GIF 下载,下载单个贴纸的功能是写好了,但是会破坏掉下载贴纸包的功能,就暂时还没有更新

更新之后下载贴纸包就可以支持下 png webm 和 tgs 三种贴纸,不像之前只能下 png 了,不过因为服务器性能原因,肯定会限制使用量就是了
🥰1
trbot Channel
下载单个贴纸的功能是写好了,但是会破坏掉下载贴纸包的功能,就暂时还没有更新
今天傍晚开始其实已经更新了,途中打包转换视频和动画贴纸的功能也能用

但我发现我忘了 Telegram Bot 官方 API 服务器的限制,上传限制 50 MB,就算是动画贴纸转换出来至少也有 1 MB,打包是成功了,但是超过上传文件大小就发不出去...

于是现在:
可以下载静态、视频和动画三种贴纸
暂时禁用了贴纸包下载(两种都禁用了)
当一个贴纸包被频道收藏时,每个人都可以看到一个链接指向收藏频道
1
机器人连续运行了好几天,今天看了看日志,并没有什么严重的错误,倒是发现当有用户连续下贴纸时,没做缓存目录区分,导致会下到错误的贴纸,要把下载贴纸写成队列才行

teamspeak 插件的轮询重连过程卡住的问题知道个大概了,尝试从数据竞态的方面修一修,如果进度顺利的话还能开放多实例,每个群组都能绑定一个自己的服务器,而不需要自建机器人
trbot Channel
多实例
这个其实写的差不多了,然后发现如果给配置文件加锁,每个服务器配置也加一个锁,就会变得十分难搞,于是又放弃了
trbot Channel
当有用户连续下贴纸时,没做缓存目录区分,导致会下到错误的贴纸
这个问题我都忘了修没修了,估计是修了

现在给下载贴纸和贴纸包都加了互斥锁,差不多等于队列吧... 不过没有队列提示,如果其他用户正在下贴纸包,机器人对贴纸暂时没有响应是正常的
trbot Channel
teamspeak 插件的轮询重连过程卡住的问题知道个大概了,尝试从数据竞态的方面修一修
这个加了互斥锁,似乎还是会发生问题,在于调用 teamspeak 库的 close 方法时有概率会一直卡住,它也不吃上下文超时的影响,没有头绪了