阿里云盘资源 Bot

阿里云盘资源 Bot

Anotia 394 2022-03-09

AliBot

功能齐全的阿里云盘资源投稿和搜索机器人,本人学习 JavaScript 的练手作。Written in JavaScript, powered by Telegraf.js.

地址:@AliYunPanBot

功能列表

前台(用户)

资源投稿

  • 分步投稿:引导式操作
  • 快速投稿:免引导操作,快速投稿
  • 自动提取分享链接和提取码

资源搜索

  • Telegram 内搜索(基于 Inline Mode)
    • 普通搜索:检索资源
    • 高级搜索:搜索特定用户的投稿(@AliYunPanBot UID [可选关键词]
    • 支持自定义搜索结果排序方式(默认、时间升序 / 降序)
  • 命令式搜索
    • 普通搜索:检索资源,支持分页(效果示意
    • 高级搜索:检索特定用户的投稿(/search UID [可选关键词]
  • 资源管理
    • 反馈失效资源
    • 在私聊中调出资源详情,并添加至收藏
    • 查看、删除收藏内容
    • 收藏的资源失效时自动通知,自动在收藏列表中标出
  • 资源站点
    • 基础检索功能
    • 反馈失效资源
    • 用户系统及投稿等功能

资源管理

  • 使用高级搜索,检索自己的投稿记录
  • 以 Excel 格式导出自己的投稿记录,分步投稿和快速投稿分表展示
  • 热门资源列表:20 条 / 页,至多 1000 条,每 5 分钟刷新

后台

  • 注册制
    • 用户权限:只有注册用户可使用机器人的完整功能
    • 用户过滤:连续 180 天不使用机器人则自动清退
    • 准入门槛:关闭注册期间需贡献一定数量的有效资源,才可获得注册资格
  • 关注频道或加入群组以投稿
  • 黑白名单:白名单无需审核,黑名单禁止使用机器人功能(可自定义)
  • 待审列表(投稿 & 删除失效资源请求)
  • 定时发送功能,按一定时间间隔发送至频道
  • 过审资源同时发布至主频道和备份频道
  • 过审资源在群内发送通知
  • 清理判定为失效的资源

维护(Owner)

  • 数据统计(见下文)
  • 手动保存 / 重载数据
  • 自动备份数据至 Telegram
  • 自动清理闲置超 24 h 的投稿操作
  • 自动清理超过 180 个天不活跃的用户数据
  • 在线和离线(维护)模式
    • 进入维护模式时,通知正在投稿中的用户
    • 维护期间,使用过机器人的用户加入通知名单,维护结束后批量通知

统计数据

🗂️ 资源数据

  • 贡献用户数:764
  • 收录资源:10154 条
  • 私聊调出次数:5065
  • 被收藏资源:1897 条
  • 总收藏次数:5221 次

🔍 搜索功能

  • 内联搜索 (2022/2/6 上线): 125251 次
  • 文本搜索 (2022/4/25 上线): 13486 次

📑 用户系统

  • 用户数:10627
  • 过去 24 小时活跃:1698

更新于 5/15/2022, 9:26:56 PM

Sponsors

昵称 来源 金额 赞助时间
Ooz 爱发电 ¥100 2022.05.15
巫伟 微信 ¥50 2022.04.24
柒十三 爱发电 ¥40 2022.04.07
飞逝、年华 微信 ¥10 2022.05.09
小果冻 微信 ¥10 2022.04.09
离恨白头 微信 ¥10 2022.04.09
佚名 微信 ¥10 2022.04.19
枯冷 微信 ¥10 2022.04.27
azhuo 爱发电 ¥5 2022.04.08
jealous 微信 ¥5 2022.04.25
Nicholás 微信 ¥5 2022.04.26
慕云白 微信 ¥5 2022.04.29
费争 微信 ¥2 2022.05.16
皮皮凯 微信 ¥1 2022.05.03

更新日志

v3.6

🚧 Under construction

  • [新增] 白名单用户投稿后,向审核群内发送通知;另外若开启了定时推送,将投稿加入推送队列;
  • [新增] 注册用户可使用命令 /me,查自己的信息、上次使用时间和账户过期时间等;
  • [新增] 命令 /search 支持搜索用户投稿记录,参数格式与内联搜索一致(如搜索用户 12345678 的 4K 资源:12345678 4K);
  • [新增] 关闭定时发送功能时,若队列中有残余投稿,以 5 秒 / 条的速度全部推送至频道;
  • [重构] 命令搜索支持直接在结果面板中更改排序方式,扩充翻页范围(效果示意);
  • [重构] 分页按钮支持弹性变动;
  • [改进] 优化搜索逻辑:设置中的排序偏好会同时应用在内联和命令搜索中。提高内联搜索精准度,减少命令搜索处理耗时,改进结果标题的美化效果;
  • [改进] 收藏和取消收藏资源时,在回复中指出对应资源标题;
  • [改进] 支持启用 / 禁用注册制;
  • [改进] 改进部分文字表述;
  • [改进] 优化搜索的大范围换页(如从最后一页换到第一页)逻辑;
  • [改进] 优化热门收藏资源缓存的生成速度;
  • [改进] 审核 删除失效资源请求 时支持拒绝并留言,将投稿与失效资源请求的回调数据统一;
  • [改进] 如果命令中含 @,只在被 @ 对象为自己时响应;
  • [改进] 如果因用户搜索方式不对被 tag(如 @AliYunPanBot 4K电影),发送一条 30 秒后自焚的消息,告知正确的搜索方法;
  • [改进] 优化检查数据完整性的逻辑;
  • [改进] 优化 error handling;
  • [改进] 在内联搜索中,为 “用户未注册” 的响应结果添加了图标;
  • [修复] 因为部分标题使用了特殊字符,导致裁切字符串引起编码错误的问题;
  • [修复] 使用 search 命令搜索用户投稿记录时,切换至大于第 1 页会显示无结果的问题;
  • [修复] 部分操作会重复写数据库的问题;
  • [修复] 搜索用户投稿记录时进入错误循环,导致用时较久的问题;

v3.5

发布日期:2022/04/25

  • [新增] 纯文本搜索:发送 /search [搜索内容] 进行搜索,支持分页(效果示意);
  • [新增] 封闭注册:重构用户系统,支持限制注册后才可使用完整功能。若用户注册后超过 180 天未使用机器人,自动清除其数据;
  • [新增] 新增 “继续搜索”:在设置中开启后,点击搜索结果下方的 ”继续搜索“ 按钮,自动输入上次搜索的内容;
  • [新增] 黑名单支持编辑要禁止用户使用的功能(效果示意),重构部分相关代码;
  • [新增] 支持重载配置;
  • [重构] 重构回调查询部分,以适应未来更新;
  • [重构] 部分重构命令相关代码;
  • [优化] popular 和 collection 命令支持直接指定页数,如 /popular 10 跳转至第 10 页;
  • [优化] 热门收藏资源的展示数量上调至 1000;
  • [优化] 使用 throttler 中间件防洪;
  • [优化] 内联搜索使用 @node-rs/jieba 进行分词,提高搜索自由度;
  • [优化] 黑白名单改为三列展示;
  • [优化] 改进内联搜索的结果,以及私聊调出资源的键盘的样式;
  • [优化] 尝试自动删除确认失效的资源(大概率不成功,因为消息发送超过 48 小时即无法删除);
  • [优化] 改进部分文字表述;

v3.4

发布时间:2022/04/06

  • [新增] 新增通知功能,便于在紧急情况下(如数据丢失)联系用户;
  • [重构] 重构维护模式:
    • 可提供本次维护的原因;
    • 扩大维护期间不响应的操作范围;
    • 新增通知名单。维护开始后,与机器人交互过的用户将被加入通知列表(waitlist),在维护完成后收到私聊通知(如果未私聊过或封禁了机器人,则无法通知成功)。
  • [重构] 重构大量代码;
  • [重构] 重构审核群中 /member 指令;
  • [改进] 反馈失效资源前要求确认;
  • [改进] 内联搜索增加显示资源总数和搜索用时;
  • [改进] 优化热门收藏生成逻辑,减少资源消耗;
  • [改进] 收藏和热门收藏列表支持循环切换;
  • [改进] 优化内联搜索逻辑,减少用时;
  • [改进] 将搜索结果的缓存时间上调为 60 秒;
  • [改进] 不再存储未过审的投稿记录;
  • [改进] 改进搜索功能的一些细节;
  • [改进] 改进统计功能;
  • [修复] 修复内联搜索概率报错的问题。

v3.3

发布时间:2022/03/12

  • [新增] 支持 /popular 命令展示热门收藏,最多展示 500 条,数据每 5 分钟刷新;
  • [改进] 搜索结果顶端展示结果数量和搜索用时;
  • [改进] 在资源被删除后,尝试通知收藏了该资源的用户;
  • [改进] 新资源通知和搜索结果增加收藏按钮;
  • [改进] /stats 命令在审核群中可用;
  • [改进] 在删除用户数据前自动备份;
  • [改进] 优化统计数据排版;
  • [改进] 优化收藏和热门资源面板;
  • [改进] 在私聊获取资源详情后,如未收藏,询问是否要收藏资源;
  • [修复] 修复新用户收藏资源失败的 bug;
  • [修复] 修复已知 bug。

v3.2

发布时间:2022/03/02

  • [新增] 用户可以自定义搜索结果的排序方式,支持 “默认”、“收录时间(顺序 / 倒序)”;
  • [新增] 支持 /export 命令,将用户投稿记录导出为 Excel 文档;
  • [新增] 支持收藏资源和管理已收藏的资源;
  • [改进] 在私聊中,搜索按钮会在当前聊天继续搜索;在群聊中则为跳转新聊天(避免刷屏);
  • [改进] 投稿标题不允许为按钮关键词(如“快速投稿”);
  • [改进] 如果搜索结果在频道内有推送,展示前往查看按钮;
  • [改进] 例行优化。

v3.1

发布时间:2022/02/14

  • 投稿相关
    • [新增] 自动清理闲置超过 24 小时的投稿操作;
    • [新增] 失效资源反馈:删除标记为失效的资源,并通知分享者;
    • [改进] 搜索逻辑,标题匹配的结果靠前展示;
    • [改进] 将投稿须知 & FAQ 移至 Telegraph,支持 Instant View;
    • [改进] 添加了几个搜索入口;
    • [改进] 调整部分文字表述;
    • [改进] 优化操作键盘。
  • 审核 & 其它
    • [新增] 自动备份数据;
    • [新增] 清理用户数据;
    • [改进] 改进审核面板;
    • [改进] 一些看不到的优化。

v3.0

发布时间:2022/02/06

  • 使用 ECMAScript 6 标准重写项目,规范代码结构,重构大量功能
  • 修改数据结构,更加通用化
  • 数据存储方式由 log 改为 JSON 数据库,提高检索效率
  • 添加内联搜索功能,搜索过审的投稿:
    • 普通搜索:@AliYunPanBot [搜索内容] (2 ~ 15 个字符)
    • 高级搜索:@AliYunPanBot [UID] [内容 (可选)] 搜索特定用户的投稿
  • 改善数据备份和加载功能
  • 添加了旧版数据迁移至新版的工具
  • 添加判断:未入群或关注频道的用户不允许投稿
  • 定时发送功能由 Cron 改为内置 Interval 实现

v2.4

发布时间:2022/01/03

  • 新增 重新支持单用户多个投稿,无需等待投稿结果
  • 新增 白名单,白名单中的用户无需审核,投稿直接发送至频道
  • 新增 黑名单,黑名单中的用户不允许投稿
  • 新增 群内新投稿通知;
  • 新增 待审核投稿列表
  • 完善 投稿统计功能
  • 修复 已知问题

v2.3

发布时间:2021/12/07

  • 调整部分文字
  • 修复 bug
  • 支持生成投稿数据统计
  • 支持生成投稿排行榜
  • 推送待审投稿后自动置顶并删除通知消息

v2.2

发布时间:2021/11/11

  • 启用 Webhook 代替 Polling,缩短响应时间,降低负载;
  • 修复了键盘不刷新出 “确认” 按钮的问题
  • 优化对分享链接和提取码的识别

v2.1.2

  • 增加几个管理命令,增加维护模式;
  • 对于投稿历史功能,为新通过的投稿增加了频道的跳转链接;
  • 修复自由投稿无法提交纯文字的问题;
  • 修复审核过程中 bot 命令不可用的问题;
  • 修复多图投稿通过后推送错误消息的问题;
  • 修复数个 bug

v2.1.1

发布时间:2021/11/09

  • 新增 “自由投稿”。支持发送多图,步骤更少、形式更自由,但是对格式要求更严格。
  • 新增 OTA 更新;
  • 投稿历史较长时,改为发送 TXT 文件;
  • 修复 bug。

v2.1

发布时间:2021/11/08

  • 新增 /history 命令,私聊查询自己的投稿记录(10 月 16 日之后);
  • 为新投稿添加了 “待审核” “已通过” “已拒绝” 的状态,会显示在投稿记录中;
  • 完善推送队列功能;
  • 修复 bug。

补丁 #1:投稿历史支持识别多条链接

v2.0

发布时间:2021/10/28

  • 支持按一定时间间隔发送消息(即排队功能);
  • 支持识别特殊文本格式;
  • 修复潜在的问题。

v1.7

发布时间:2021/10/15

  • 优化几处代码结构;
  • 增加群组和频道的邀请链接;
  • 增加日志记录功能及简单调用,方便管理索引;
  • 针对附加图片环节发文字的情况加了应对措施;
  • 修复 bug。

v1.6

发布时间:2021/10/10

  • 针对投稿详情过长作了预防措施;
  • 调整部分不准确的文字描述,调整投稿须知;
  • 修复少量 bug。

v1.5

发布时间:2021/09/23

  • 根据频道置顶 (https://t.me/shareAliyun/4026),调整了投稿须知;
  • 调整打赏方式;
  • 投稿链接不合规时,自动剔除无关文字(有的人就是懒)

v1.4

发布时间:2021/09/17

  • 管理可以通过机器人告知审核被退回的具体原因;
  • 审核和结果通知改为使用 Inline Keyboard ,精简代码;

v1.3

发布时间:2021/09/14

  • 投稿通过审核后,机器人会告知你投稿在频道中的链接;
  • 调整部分文字描述。
  • 链接不符合规范时,自动处理链接

v1.2

发布时间:2021/09/07

  • 优化代码结构;
  • 用户可提交多个投稿(无需等待当前审核结果);
  • 修复其他一些问题。

v1.1

  • 增加 /save 命令,缓解丢配置的问题;
  • 增加 /donate 命令;

# JavaScript # 机器人