阿里云盘资源 Bot

阿里云盘资源 Bot

Anotia 616 2022-03-09

AliBot

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

地址:@AliYunPanBot

功能列表

前台(用户)

资源投稿

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

资源搜索

  • Telegram 内搜索(基于 Inline Mode)
    • 普通搜索:检索资源
    • 高级搜索:搜索特定用户的投稿(@AliYunPanBot UID [可选关键词]
    • 支持自定义搜索结果排序方式(默认、时间升序 / 降序)
  • 命令式搜索
    • 普通搜索:检索资源,支持分页(效果示意:列表模式 预览模式
    • 高级搜索:检索特定用户的投稿(/s UID [可选关键词]
  • 资源站点
    • 基础检索功能
    • 反馈失效资源
    • 用户系统及投稿等功能

资源管理

  • 反馈失效资源
  • 收藏系统
    • 在私聊中调出资源详情,并添加至收藏
    • 查看、删除收藏内容
    • 收藏的资源失效时自动通知,自动在收藏列表中标出
  • 随机资源
  • 使用高级搜索,检索自己的投稿记录
  • 以 Excel 格式导出自己的投稿记录,分步投稿和快速投稿分表展示
  • 热门资源列表:20 条 / 页,至多 1000 条,每 5 分钟刷新

后台

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

维护(Owner)

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

统计数据

🗂️ 资源数据

  • 贡献用户数:961
  • 收录资源:13612 条
  • 私聊调出次数:63409
  • 被收藏资源:2909 条
  • 总收藏次数:7405 次

🔍 搜索功能

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

📑 用户系统

  • 用户数:16751
  • 过去 24 小时活跃:795

更新于 2022/8/17 19:14:27

Sponsors

昵称 来源 金额 赞助时间
Ooz 爱发电 ¥100 2022/05/15
蹭我的吧 爱发电 ¥50 2022/05/23
巫伟 微信 ¥50 2022/04/24
柒十三 爱发电 ¥40 2022/04/07
Paul@dockone 微信 ¥20 2022/07/13
翘家人 微信 ¥10 2022/08/18
佚名 微信 ¥10 2022/06/04
飞舞 微信 ¥10 2022/05/28
飞逝、年华 微信 ¥10 2022/04/09
小果冻 微信 ¥10 2022/04/09
离恨白头 微信 ¥10 2022/04/09
佚名 微信 ¥10 2022/04/19
枯冷 微信 ¥10 2022/04/27
佚名 微信 ¥5 2022/08/16
Z、 微信 ¥5 2022/08/10
佚名 爱发电 ¥5 2022/07/20
喜多🍒 微信 $5 2022/06/21
妈妈咪呀 爱发电 ¥5 2022/05/28
羊羊运动会羊羊 爱发电 ¥5 2022/05/23
azhuo 爱发电 ¥5 2022/04/08
jealous 微信 ¥5 2022/04/25
Nicholás 微信 ¥5 2022/04/26
慕云白 微信 ¥5 2022/04/29
小胖子 微信 ¥2 2022/08/17
kz6669 微信 ¥2 2022/07/11
流星雨晨 微信 ¥2 2022/06/22
Silver Lining 微信 ¥2 2022/06/08
费争 微信 ¥2 2022/05/16
梁 * 涛 微信 ¥1 2022/05/29
皮皮凯 微信 ¥1 2022/05/03

更新日志

v3.8

🚧 Under construction 🚧

  • [新增] 分析工具,借助 svg-chartist 绘制用户活跃情况的统计图;
  • [重构] 获取随机资源的功能;
  • [优化] 根据使用情况,降低了热门资源的刷新频率;
  • [优化] 在用户持续输入时,降低请求数据库的频率;
  • [优化] 提高整体稳定性;
  • [修复] 调用数据库过程中的数个问题;
  • [修复] me 命令中,用户投稿数量显示有误的问题;

v3.7.1

发布日期:2022/07/28

  • [重构] 将数据迁移至数据库,提高检索效率;
  • [修复] 少数情况下搜索结果偏少的问题;
  • [修复] 其它一些问题。

v3.7

发布日期:2022/07/13

  • [新增] 支持编辑投稿;
  • [新增] 黑名单的封禁权限增加 “编辑投稿”;
  • [新增] 支持 “预览模式”:命令搜索、热门资源和收藏资源列表支持直接显示资源详情,无需点击链接再跳转;
  • [新增] 支持随机获取资源(命令 /r [条数]);
  • [新增] 支持主动销毁账号;
  • [优化] 对于被拉黑的用户,扩宽搜索功能的禁止范围;
  • [优化] 管理收藏资源的相关逻辑;
  • [优化] 优化广播消息(broadcast)功能;
  • [优化] 机器人维护期间,点击过按钮的用户也会被加入通知列表;
  • [优化] 支持识别不同大小写的命令;
  • [优化] 保存数据改为异步操作;
  • [优化] 在经过授权的群内,搜索资源等操作不再要求用户注册;
  • [优化] 日期显示格式改为 “年/月/日”;
  • [重构] 将推送审核的相关函数进行了统一;
  • [重构] 将涉及批量通知用户的函数进行了统一;
  • [重构] 重构 User 类;
  • [重构] 新增 Time 类,统一处理和时间有关的操作;
  • [重构] 注册命令由 /register 缩短为 /reg
  • [重构] 优化命令、回调查询和内联查询的 handler 的结构;
  • [重构] 优化代码结构;
  • [修复] 维护模式中,与机器人交互过的用户无法被成功加入通知名单的问题;
  • [修复] 白名单中用户投稿后,键盘未恢复正常的问题;
  • [修复] 部分场景收藏资源未限制数量的问题;
  • [修复] 搜索时特殊字符及保留字可能导致的解析问题;
  • [修复] 统计逻辑错误;

v3.6

发布日期:2022/05/21

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