devome / dockerfiles

一些Dockerfile
https://evine.win
GNU General Public License v3.0
200 stars 22 forks source link

请求选择性推送通知的功能(种子路经过滤) #61

Closed leverule closed 1 year ago

leverule commented 1 year ago

有部分路径下种子下载删除频繁,不需要关注,请问可以忽略这些种子的通知吗,比如让通知功能可以按路径筛选

devome commented 1 year ago

这需求也太小众了吧。。你可以考虑自己实现一下看看,比如另写一个脚本my-dl-finish.sh

#!/bin/bash

if [[ $2 == XXXX || $2 == XXXXX ]]; then   # $2就是下面设置的传入的第2个参数"%D",也就是保存路径,|| 表示或,多个条件可以多个,XXXX设置成你想通知的保存路径就好了。
    dl-finish "$1"
fi

放到容器下/data/diy/my-dl-finish.sh,赋予可执行权限,然后在qBittorrent中设置“torrent 完成时运行外部程序”为/data/diy/my-dl-finish.sh "%I" "%D"

leverule commented 1 year ago

谢谢大佬,我写的语法是出问题了吗,没成功...已排除网络问题,权限貌似也没问题? image image image

leverule commented 1 year ago

我是小白233,请问有没有可能是外部脚本里不能直接调用dl-finish呢,或者得填dl-finish具体路径? 路径加不加双引号都不行,then那句后面加不加分号也都不行

devome commented 1 year ago

then后换行。你这是/Meta/Others会通知。

leverule commented 1 year ago

是的,一直失败...想先填个简单路径做实验 换行也不行,直接复制格式再修改的,哎不知道哪里出了问题 换回原来的默认通知设置dl-finish,是没问题的

这是直接用编辑器生成sh文件,UTF-8编码:

Snipaste_2022-12-04_21-34-16 Snipaste_2022-12-04_21-37-50

QB容器内脚本权限检查: image

QB的设置:

Snipaste_2022-12-04_21-38-10

日志显示,但收不到推送:

Snipaste_2022-12-04_21-39-21
#!/bin/bash

if [[ $2 == "/Meta/Others" ]]; then   # $2就是下面设置的传入的第2个参数"%D",也就是保存路径,|| 表示或,多个条件可以多个,XXXX设置成你想通知的保存路径就好了。
    dl-finish "$1"
fi
devome commented 1 year ago

你可能是windows害的,windows的换行符是\r\n,而linux只认\n的换行符,你用notepad++转换下格式吧。

leverule commented 1 year ago

哇 是的!!成功了!!学到啦,感谢大佬耐心指点!! image