合并了一个月前创建的合并请求,现在机器人的 log 已经 99% 都是由 zerolog 输出的了
当然这都是后端的事情,今天主要的更新内容其实是能将贴纸存档到频道里了,为此我创建了一个频道来存档贴纸 https://t.me/trbot_stickercollect
不过这个功能并不对非管理员用户开放,除此之外给机器人发贴纸包还是能随便下自己想要的贴纸包
1:32AM INF Read config file from default path defaultConfigPath=./config.yaml
1:32AM INF Get token from environment botTokenID=7276415954
1:32AM WRN Get FFmpegPath from environment FFmpegPath=/root/ffmpeg/bin/ffmpeg
1:32AM INF Use mult log writer logFileLevel=warn logFilePath=./db_yaml/log.txt
1:32AM INF Admin list is set AdminIDs=[1086395364,2074319561]
1:32AM INF Allowed updates list is set allowedUpdates=["message","edited_message","channel_post","edited_channel_post","inline_query","chosen_inline_result","callback_query"]
1:32AM INF FFmpeg path is set FFmpegPath=/root/ffmpeg/bin/ffmpeg
1:32AM INF Inline mode config has been read DefaultHandler=voice PaginationSymbol=- ResultsPerPage=50 SubCommandSymbol=+
1:32AM INF trbot branch=alpha buildAt="2025-07-04 01:32:35+08:00" buildOn=racknerd-9ae746 changes=1 commit=c21de3fcb1ef49e7b65c5bd95276412e93b013d2 logLevel=info runtime=go1.23.5 version=c21de3f
1:32AM INF Bot initialized user={"ID":7276415954,"name":"??","username":"trvoicebot"}
1:32AM ERR Failed to initialize database error="failed to ping Redis [0] database: dial tcp [::1]:6379: connect: connection refused" database=redis
1:32AM INF Database initialized database=yaml databaseLevel=low
1:32AM INF Available databases highLevel=0 lowLevel=1
1:32AM INF Plugin initialize success pluginName="Detect Keyword"
1:32AM INF Plugin initialize success pluginName="Limit Message"
1:32AM INF TeamSpeak server connected build=1655727713 funcName=initTeamSpeak platform=Linux pluginName=teamspeak3 version=3.13.7
1:32AM INF Plugin initialize success pluginName=teamspeak
1:32AM INF Plugin initialize success pluginName=Udonese
1:32AM INF Plugin initialize success pluginName=VoiceList
1:32AM INF Plugin initialize success pluginName="Saved Message"
1:32AM INF Run (6/6) initializer success
1:32AM INF Working at Webhook Mode listenAddress=localhost:2847
当然这都是后端的事情,今天主要的更新内容其实是能将贴纸存档到频道里了,为此我创建了一个频道来存档贴纸 https://t.me/trbot_stickercollect
不过这个功能并不对非管理员用户开放,除此之外给机器人发贴纸包还是能随便下自己想要的贴纸包
今天更新了什么:
仿照 @soutubot 搜图机器人做了一个功能,当你给机器人发送图片时,可以获得各个搜索引擎的搜图链接
关于搜图的功能只有提供搜图链接,没有原 bot 那种自动搜图功能
感谢 @soutubot @soutubot_ch
仿照 @soutubot 搜图机器人做了一个功能,当你给机器人发送图片时,可以获得各个搜索引擎的搜图链接
关于搜图的功能只有提供搜图链接,没有原 bot 那种自动搜图功能
感谢 @soutubot @soutubot_ch
今天更新了什么:
给机器人发送 tg 的 GIF 时,机器人可以将其转换为正常的 GIF 文件,转换过程同样由 ffmpeg 完成
更改了有多个 handler 时选择使用时的提示文字
给机器人发送 tg 的 GIF 时,机器人可以将其转换为正常的 GIF 文件,转换过程同样由 ffmpeg 完成
更改了有多个 handler 时选择使用时的提示文字
今天更新了什么:
好像什么都没有更新,因为今天更新的内容是 Teamspeak 用户列表监听的功能,可以不用用户每次变动就发送一条信息,而是只编辑一条置顶的消息,有用户变动也只编辑这条消息
而这个插件目前需要自己部署机器人,但还没公开代码仓库,也就是还不能用上
从技术层面的更新就是添加了状态 handler,这个也暂时没有作用到任何插件中
好像什么都没有更新,因为今天更新的内容是 Teamspeak 用户列表监听的功能,可以不用用户每次变动就发送一条信息,而是只编辑一条置顶的消息,有用户变动也只编辑这条消息
而这个插件目前需要自己部署机器人,但还没公开代码仓库,也就是还不能用上
从技术层面的更新就是添加了状态 handler,这个也暂时没有作用到任何插件中
今天更新了什么:
把命令 handler 都重写了一下,现在支持在频道信息里使用命令了,不过现在没有任何插件在频道中支持使用,打算留给后面用
去掉了一个通用但是有点*山的函数,因为它导致了几次 panic,同时改了不少逻辑选项,估计这几天会偶尔出现 bug
在获取搜索图片链接功能的地方去掉了图片预览
把命令 handler 都重写了一下,现在支持在频道信息里使用命令了,不过现在没有任何插件在频道中支持使用,打算留给后面用
去掉了一个通用但是有点*山的函数,因为它导致了几次 panic,同时改了不少逻辑选项,估计这几天会偶尔出现 bug
在获取搜索图片链接功能的地方去掉了图片预览
今天更新了什么:
检测关键词功能在频道里也可以用了,如果你是频道主,将 @trvoicebot 拉到你的频道里,再往频道里发送 /setkeyword 命令即可开启此功能,这样你和你的任何订阅者都可以使用此功能
如果你只是频道的订阅者,那你也可以联系频道主看看他对这个功能的看法
机器人在频道内使用此功能不需要任何权限,但是初次开启功能时需要响应 /setkeyword 命令,这会需要一个发送信息的权限,之后就可以关闭它,但这会导致全局开关的按钮点不动(没有发信息权限也没有编辑自己消息的权限)
在频道中开启此功能后,可以删掉 bot 发送的菜单,然后使用
例如本频道的链接就是:
检测关键词功能在频道里也可以用了,如果你是频道主,将 @trvoicebot 拉到你的频道里,再往频道里发送 /setkeyword 命令即可开启此功能,这样你和你的任何订阅者都可以使用此功能
如果你只是频道的订阅者,那你也可以联系频道主看看他对这个功能的看法
机器人在频道内使用此功能不需要任何权限,但是初次开启功能时需要响应 /setkeyword 命令,这会需要一个发送信息的权限,之后就可以关闭它,但这会导致全局开关的按钮点不动(没有发信息权限也没有编辑自己消息的权限)
在频道中开启此功能后,可以删掉 bot 发送的菜单,然后使用
t.me/trvoicebot?start=detectkw_addgroup_<频道 ID> 这种格式的链接来让用户添加关键词(必须得拉入频道且发送过 /setkeyword 命令,需要获取频道信息)例如本频道的链接就是:
t.me/trvoicebot?start=detectkw_addgroup_-1002571088110
今天尝试重写 handler 内核,就算自己逻辑配的不好,也得允许开发者自己在特定的位置创建特定的 handler 来运行
想写完再公开仓库主要是项目特殊性,一旦放出来了,方法就不能有太大变动,怎么说都得完善些,不然经常发 break change,那就没人喜欢用了
今天的更新内容有:
修复当消息中存在 HTML 标签符号
修复状态机会错误判断对话而触发的问题
想写完再公开仓库主要是项目特殊性,一旦放出来了,方法就不能有太大变动,怎么说都得完善些,不然经常发 break change,那就没人喜欢用了
今天的更新内容有:
修复当消息中存在 HTML 标签符号
<> 时可能没法发出关键词提醒的问题,同时关键词提醒文字不会再将文字全部转换为小写修复状态机会错误判断对话而触发的问题
打算把机器人当前 inline 模式下默认的语音包 handler 下掉了,用字符串查询性能消耗有些大。
不过功能还在,计划是合到保存消息功能里,然后数据统一存在 meilisearch 数据库里,同时查询也使用 meilisearch 自带的索引
不过功能还在,计划是合到保存消息功能里,然后数据统一存在 meilisearch 数据库里,同时查询也使用 meilisearch 自带的索引
trbot Channel
打算把机器人当前 inline 模式下默认的语音包 handler 下掉了,用字符串查询性能消耗有些大。 不过功能还在,计划是合到保存消息功能里,然后数据统一存在 meilisearch 数据库里,同时查询也使用 meilisearch 自带的索引
已经移除了,现在全都手动发了一份到 @trbotsaved 频道里,所有默认使用 voice 命令的用户也都被改成了 saved 命令,现在没有在 saved message 功能里保存过消息的用户,默认会展示频道里的收藏信息,保存过的也可以选择是否在 inline 模式下显示频道的消息
trbot Channel
已经移除了,现在全都手动发了一份到 @trbotsaved 频道里,所有默认使用 voice 命令的用户也都被改成了 saved 命令,现在没有在 saved message 功能里保存过消息的用户,默认会展示频道里的收藏信息,保存过的也可以选择是否在 inline 模式下显示频道的消息
失误了,忘记判断没有启用这个功能的用户,这些用户在使用 inline 模式时会导致机器人 panic,好在今天闲的看了看日志发现了这个问题,现在已经修复了