Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

如果你有功能需求,请先阅读 #117

Open
iwestlin opened this issue Jul 18, 2020 · 20 comments
Open

如果你有功能需求,请先阅读 #117

iwestlin opened this issue Jul 18, 2020 · 20 comments

Comments

@iwestlin
Copy link
Owner

iwestlin commented Jul 18, 2020

我会在这里汇集已经出现过的功能需求,提交新功能请求时请先读完本issue以防重复。

你可以在对应的楼层使用GitHub提供的emoji(楼层右上角的笑脸符号)
来表达对此需求的态度。

我会根据下列因素考量需求的优先度
1、我本人有需求
2、很多人有需求
3、工作量

如果有人愿意参与实现,PR is more than welcome😄

@iwestlin
Copy link
Owner Author

iwestlin commented Jul 18, 2020

i18n(多语言支持)

工作量从1到5,这个可以给到 4/5

相关issue: #94

@iwestlin
Copy link
Owner Author

iwestlin commented Jul 18, 2020

文件过滤功能

目前gd-utils只能根据文件大小过滤要拷贝的文件,无法通过后缀名、通配符、黑名单等更详尽的方式

工作量:1/5
相关issue:#112

@iwestlin
Copy link
Owner Author

iwestlin commented Jul 18, 2020

复制自动跳过已存在文件(也就是sync功能)

gd-utlis的机制是在本地数据库保存拷贝记录,这样就省去了向Google查询某文件是否拷贝的时间。
但是这样的缺点是它只能对自己创建的任务进行增量更新,对于别的工具创建的目录,它会无视其存在重新创建。

工作量:5/5
相关issue:#110

实现思路:#140 (comment)
欢迎PR😀

@iwestlin
Copy link
Owner Author

iwestlin commented Jul 18, 2020

增加执行sql语句命令

这个实现起来可以简单也可以复杂,简单点直接

const {db} = require('./db')
const sql = `blablabla`
db.exec(sql)

复杂点做成phpmyadmin那样的webUI工作量就大了去了,100/5 也不夸张。。
GitHub上有一些开源的sqlite管理软件,我只用过https://sqlitebrowser.org/ ,其他没有仔细调研过

工作量:3/5
相关issue:#111

@iwestlin
Copy link
Owner Author

iwestlin commented Jul 18, 2020

定时清理数据库内容

gd-utils默认把所有获取过的文件信息都保存在 gdurl.sqlite里,这个文件会越来越大。
我粗略估计,每保存100万条文件信息,数据库文件会增大100~200M左右

工作量:1/5
相关issue:#92

@iwestlin
Copy link
Owner Author

添加清空回收站的功能

清空回收站应该需要sa是管理者的权限,大多数人的sa估计是内容管理者

gd-utils did not support delete files from trash yet, but you can use gclone:

gclone delete DriveName:{team-drive-id} --drive-trashed-only --drive-use-trash=false --verbose=2 --fast-list

replace DriveName to the name in your gclone config file, and team-drive-id of course, then it should work

工作量:2/5
相关issue:#30

@iwestlin
Copy link
Owner Author

支持多个主用帐户自动切换

这个功能应该比较小众?

工作量:2/5
相关issue:#36

@iwestlin
Copy link
Owner Author

iwestlin commented Jul 18, 2020

将tg机器人的webhook方式改成轮询update,从而省去nginx配置、域名解析等工作

工作量:4/5

不夸张的说,项目开源以来,我花在它上面的时间一半以上是在解答tg机器人的配置问题……

这很大程度是因为我选择了webhook方式连接tg机器人……算是决策失败的案例了。。

对于我自身而言,webhook是更方便高效的方式,代码上也好实现一些。
因为我有相关经验,也有服务器和域名等资源,所以一开始就选择了这种方式。

但是对很多人而言配置一个web服务实在太难了,坑太多了。。

不过反过来想,能搞定的都是有折腾能力的用户,而且学会了这项技能说不定能受益终生,何乐而不为呢?

@iwestlin
Copy link
Owner Author

iwestlin commented Jul 18, 2020

给机器人添加停止任务/重启任务的功能

工作量:4/5

最初我是把这个项目当作命令行工具来写的,所以停止任务可以简单的 ctrl+c,重启任务直接使用上次的命令,但是对于tg机器人用户就不大方便了。

目前想要中断tg机器人进行的任务,需要在服务器上执行pm2 reload server,继续任务可以输入和上次相同的指令。

如果能有一个按钮来暂停/恢复,确实能方便不少

@jason8303
Copy link

将tg机器人的webhook方式改成轮询update,从而省去nginx配置、域名解析等工作

工作量:4/5

不夸张的说,项目开源以来,我花在它上面的时间一半以上是在解答tg机器人的配置问题……

这很大程度是因为我选择了webhook方式连接tg机器人……算是决策失败的案例了。。

对于我自身而言,webhook是更方便高效的方式,代码上也好实现一些。
因为我有相关经验,也有服务器和域名等资源,所以一开始就选择了这种方式。

但是对很多人而言配置一个web服务实在太难了,坑太多了。。

不过反过来想,能搞定的都是有折腾能力的用户,而且学会了这项技能说不定能受益终生,何乐而不为呢?

这点严重同意,首选高效的,难度不是问题,多折腾点时间能学很多东西。我从colab到自建服务器搭建t-bot(结果因为证书问题,搞的我的网络上不了所有网站,因为SSL的问题),后来转到VPS搭建bot,遇到了各种坑,通过解决这些坑的过程,明白了很多原理,大神的的这个观点严重同意,任何事情,pain means progress。在解决问题的过程中,也得到了大神的很多帮助,再次感谢,也祝这个项目越来越好。

@iwestlin iwestlin pinned this issue Jul 22, 2020
@dissipator
Copy link

我已经整合成 省去nginx配置、域名解析等工作的gd-utils了。
https://github.com/dissipator/gd-utils

@dissipator
Copy link

dissipator commented Jul 25, 2020

如果楼主能手我也就不用合并了,或许也给作者提供一个思路,修改如下:

  1. 把server.js 变成了index.js,
  2. 没明白代理处的代码就去掉了。
    其他均无变化

@iwestlin
Copy link
Owner Author

如果楼主能手我也就不用合并了,或许也给作者提供一个思路,修改如下:

  1. 把server.js 变成了index.js,
  2. 没明白代理处的代码就去掉了。
    其他均无变化

多谢贡献,我等下把你的仓库加到readme

我简单看了下telebot的源码,它也是用了轮询的方法获取消息更新
https://github.com/mullwar/telebot/blob/eaeea70a04639376ec7f77b106c89c062c479e31/lib/telebot.js#L202

这个功能如果要实现的话我不打算新增这个依赖,因为用户更新的话要手动npm i telebot,有些人如果不仔细读更新说明或者用的是自动更新脚本的话,容易掉进坑里。。

@dissipator
Copy link

给机器人添加停止任务/重启任务的功能

理解,目前https://github.com/dissipator/gd-utils 已经加入/update 和 /restart 功能,前提是bot使用PM2启动的

@dissipator
Copy link

希望能增加一个在bot move 文件或文件夹,del 文件或文件夹。查看文件或文件夹id和创建分享链接的功能。

@dmuxue
Copy link

dmuxue commented Oct 25, 2020

可以增加指定源盘的配置文件config或者指定源盘的sa吗?而不是源盘和目的盘都使用同样的config.js或者sa,这样太局限了
因为很多情形下源盘和目的盘的权限组不同

另外copy命令的-sa参数指定sa目录无效...可以在copy 和count等命令加上-sa参数吗?

还有就是...希望作者能够照顾命令行用户.在readme说明详细说明命令参数使用,
因为这是一个gd工具,使用命令行的话比较简单,由于转存一键脚本的使用,很方便...添加详细的命令说明,便于小白使用和推广...

@dmuxue
Copy link

dmuxue commented Oct 25, 2020

还有就是希望数据库可以升级为网络数据库
如果需要多台服务器同时使用1个数据库,在多点备份场景中,譬如a机复制1-2,b机复制2-3.c机复制3-4.......同时运行...单机的数据库就力不从心了..........

@dmuxue
Copy link

dmuxue commented Oct 25, 2020

希望可以增加别名功能, 网盘的id太复杂,期望可以支持别名.便于记忆...

@sztuxp
Copy link

sztuxp commented Feb 14, 2021

目前GOOGLE 限制传输容量,是否可以加一个选项,显示当前任务已复制的容量,方便判断错误是什么原因引起的

@sztuxp
Copy link

sztuxp commented Feb 14, 2021

GD资源很多,有整理和分类的需求,能否加一个目录名过滤的功能,比如包含某个字符串(如”2020“)之类才给复制

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants