ELF-RSS


NameELF-RSS JSON
Version 2.6.22 PyPI version JSON
download
home_pagehttps://github.com/Quan666/ELF_RSS
SummaryQQ机器人 RSS订阅 插件,订阅源建议选择 RSSHub
upload_time2024-03-27 08:49:08
maintainerNone
docs_urlNone
authorQuan666
requires_python<4.0.0,>=3.8.3
licenseGPL-3.0-only
keywords nonebot nonebot2 rss elf rsshub
VCS
bugtrack_url
requirements aiohttp arrow async-timeout bbcode cachetools emoji feedparser deep-translator ImageHash magneturi nb-cli nonebot-adapter-onebot nonebot-plugin-apscheduler nonebot-plugin-guild-patch nonebot2 pikpakapi Pillow pydantic pyquery python-qbittorrent tenacity tinydb yarl
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ELF_RSS

[![Codacy Badge](https://app.codacy.com/project/badge/Grade/b799d894ed354d5999fb6047543c494c)](https://www.codacy.com/gh/Quan666/ELF_RSS/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=Quan666/ELF_RSS&amp;utm_campaign=Badge_Grade)
[![QQ Group](https://img.shields.io/badge/qq%E7%BE%A4-984827132-orange?style=flat-square)](https://jq.qq.com/?_wv=1027&k=sST08Nkd)

> 1. 容易使用的命令
> 2. 更规范的代码,方便移植到你自己的机器人
> 3. 使用全新的 [Nonebot2](https://v2.nonebot.dev/guide/) 框架

这是一个以 Python 编写的 QQ 机器人插件,用于订阅 RSS 并实时以 QQ消息推送。

算是第一次用 Python 写出来的比较完整、实用的项目。代码比较难看,正在重构中

---

当然也有很多插件能够做到订阅 RSS ,但不同的是,大多数都需要在服务器上修改相应配置才能添加订阅,而该插件只需要发送QQ消息给机器人就能动态添加订阅。

对于订阅,支持QQ、QQ群、QQ频道的单个、多个订阅。

每个订阅的个性化设置丰富,能够应付多种场景。

## 功能介绍

* 发送命令添加、删除、查询、修改 RSS 订阅
* 交互式添加 RSSHub 订阅
* 订阅内容翻译(使用谷歌机翻,可设置为百度翻译)
* 个性化订阅设置(更新频率、翻译、仅标题、仅图片等)
* 多平台支持
* 图片压缩后发送
* 种子下载并上传到群文件
* 离线下载到 PikPak 网盘(方便追番)
* 消息支持根据链接、标题、图片去重
* 可设置只发送限定数量的图片,防止刷屏
* 可设置从正文中要移除的指定内容,支持正则

## 文档目录

> 注意:推荐 Python 3.8.3+ 版本 Windows版安装包下载地址:[https://www.python.org/ftp/python/3.8.3/python-3.8.3-amd64.exe](https://www.python.org/ftp/python/3.8.3/python-3.8.3-amd64.exe)
>
> * [部署教程](docs/部署教程.md)
> * [使用教程](docs/2.0%20使用教程.md)
> * [使用教程 旧版](docs/1.0%20使用教程.md)
> * [常见问题](docs/常见问题.md)
> * [更新日志](docs/更新日志.md)

## 效果预览

![image-20201221163514747](https://cdn.jsdelivr.net/gh/Quan666/CDN/pic/image-20201221163514747.png)

![image-20201221163555086](https://cdn.jsdelivr.net/gh/Quan666/CDN/pic/image-20201221163555086.png)

![image-20201221163721358](https://cdn.jsdelivr.net/gh/Quan666/CDN/pic/image-20201221163721358.png)

![image](https://user-images.githubusercontent.com/32663291/117431780-3373a100-af5c-11eb-9de2-ff75948abf1c.png)

## TODO

* [x] 1. 订阅信息保护,不在群组中输出订阅QQ、群组
* [x] 2. 更为强大的检查更新时间设置
* [x] 3. RSS 源中 torrent 自动下载并上传至订阅群(适合番剧订阅)
* [x] 4. 暂停检查订阅更新
* [x] 5. 正则匹配订阅名
* [x] 6. 性能优化,尽可能替换为异步操作

## 感谢以下项目或服务

不分先后

* [RSSHub](https://github.com/DIYgod/RSSHub)
* [Nonebot](https://github.com/nonebot/nonebot2)
* [酷Q(R. I. P)](https://cqp.cc/)
* [coolq-http-api](https://github.com/richardchien/coolq-http-api)
* [go-cqhttp](https://github.com/Mrs4s/go-cqhttp)

## Star History

[![Star History](https://starchart.cc/Quan666/ELF_RSS.svg)](https://starchart.cc/Quan666/ELF_RSS)


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Quan666/ELF_RSS",
    "name": "ELF-RSS",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0.0,>=3.8.3",
    "maintainer_email": null,
    "keywords": "nonebot, nonebot2, rss, elf, rsshub",
    "author": "Quan666",
    "author_email": "i@Rori.eMail",
    "download_url": "https://files.pythonhosted.org/packages/2a/cc/44b028104b2d2855e5db3559b72c341aac0a0f00f5d53417ae10361c6c22/elf_rss-2.6.22.tar.gz",
    "platform": null,
    "description": "# ELF_RSS\n\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/b799d894ed354d5999fb6047543c494c)](https://www.codacy.com/gh/Quan666/ELF_RSS/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=Quan666/ELF_RSS&amp;utm_campaign=Badge_Grade)\n[![QQ Group](https://img.shields.io/badge/qq%E7%BE%A4-984827132-orange?style=flat-square)](https://jq.qq.com/?_wv=1027&k=sST08Nkd)\n\n> 1. \u5bb9\u6613\u4f7f\u7528\u7684\u547d\u4ee4\n> 2. \u66f4\u89c4\u8303\u7684\u4ee3\u7801\uff0c\u65b9\u4fbf\u79fb\u690d\u5230\u4f60\u81ea\u5df1\u7684\u673a\u5668\u4eba\n> 3. \u4f7f\u7528\u5168\u65b0\u7684 [Nonebot2](https://v2.nonebot.dev/guide/) \u6846\u67b6\n\n\u8fd9\u662f\u4e00\u4e2a\u4ee5 Python \u7f16\u5199\u7684 QQ \u673a\u5668\u4eba\u63d2\u4ef6\uff0c\u7528\u4e8e\u8ba2\u9605 RSS \u5e76\u5b9e\u65f6\u4ee5 QQ\u6d88\u606f\u63a8\u9001\u3002\n\n\u7b97\u662f\u7b2c\u4e00\u6b21\u7528 Python \u5199\u51fa\u6765\u7684\u6bd4\u8f83\u5b8c\u6574\u3001\u5b9e\u7528\u7684\u9879\u76ee\u3002\u4ee3\u7801\u6bd4\u8f83\u96be\u770b\uff0c\u6b63\u5728\u91cd\u6784\u4e2d\n\n---\n\n\u5f53\u7136\u4e5f\u6709\u5f88\u591a\u63d2\u4ef6\u80fd\u591f\u505a\u5230\u8ba2\u9605 RSS \uff0c\u4f46\u4e0d\u540c\u7684\u662f\uff0c\u5927\u591a\u6570\u90fd\u9700\u8981\u5728\u670d\u52a1\u5668\u4e0a\u4fee\u6539\u76f8\u5e94\u914d\u7f6e\u624d\u80fd\u6dfb\u52a0\u8ba2\u9605\uff0c\u800c\u8be5\u63d2\u4ef6\u53ea\u9700\u8981\u53d1\u9001QQ\u6d88\u606f\u7ed9\u673a\u5668\u4eba\u5c31\u80fd\u52a8\u6001\u6dfb\u52a0\u8ba2\u9605\u3002\n\n\u5bf9\u4e8e\u8ba2\u9605\uff0c\u652f\u6301QQ\u3001QQ\u7fa4\u3001QQ\u9891\u9053\u7684\u5355\u4e2a\u3001\u591a\u4e2a\u8ba2\u9605\u3002\n\n\u6bcf\u4e2a\u8ba2\u9605\u7684\u4e2a\u6027\u5316\u8bbe\u7f6e\u4e30\u5bcc\uff0c\u80fd\u591f\u5e94\u4ed8\u591a\u79cd\u573a\u666f\u3002\n\n## \u529f\u80fd\u4ecb\u7ecd\n\n* \u53d1\u9001\u547d\u4ee4\u6dfb\u52a0\u3001\u5220\u9664\u3001\u67e5\u8be2\u3001\u4fee\u6539 RSS \u8ba2\u9605\n* \u4ea4\u4e92\u5f0f\u6dfb\u52a0 RSSHub \u8ba2\u9605\n* \u8ba2\u9605\u5185\u5bb9\u7ffb\u8bd1\uff08\u4f7f\u7528\u8c37\u6b4c\u673a\u7ffb\uff0c\u53ef\u8bbe\u7f6e\u4e3a\u767e\u5ea6\u7ffb\u8bd1\uff09\n* \u4e2a\u6027\u5316\u8ba2\u9605\u8bbe\u7f6e\uff08\u66f4\u65b0\u9891\u7387\u3001\u7ffb\u8bd1\u3001\u4ec5\u6807\u9898\u3001\u4ec5\u56fe\u7247\u7b49\uff09\n* \u591a\u5e73\u53f0\u652f\u6301\n* \u56fe\u7247\u538b\u7f29\u540e\u53d1\u9001\n* \u79cd\u5b50\u4e0b\u8f7d\u5e76\u4e0a\u4f20\u5230\u7fa4\u6587\u4ef6\n* \u79bb\u7ebf\u4e0b\u8f7d\u5230 PikPak \u7f51\u76d8\uff08\u65b9\u4fbf\u8ffd\u756a\uff09\n* \u6d88\u606f\u652f\u6301\u6839\u636e\u94fe\u63a5\u3001\u6807\u9898\u3001\u56fe\u7247\u53bb\u91cd\n* \u53ef\u8bbe\u7f6e\u53ea\u53d1\u9001\u9650\u5b9a\u6570\u91cf\u7684\u56fe\u7247\uff0c\u9632\u6b62\u5237\u5c4f\n* \u53ef\u8bbe\u7f6e\u4ece\u6b63\u6587\u4e2d\u8981\u79fb\u9664\u7684\u6307\u5b9a\u5185\u5bb9\uff0c\u652f\u6301\u6b63\u5219\n\n## \u6587\u6863\u76ee\u5f55\n\n> \u6ce8\u610f\uff1a\u63a8\u8350 Python 3.8.3+ \u7248\u672c Windows\u7248\u5b89\u88c5\u5305\u4e0b\u8f7d\u5730\u5740\uff1a[https://www.python.org/ftp/python/3.8.3/python-3.8.3-amd64.exe](https://www.python.org/ftp/python/3.8.3/python-3.8.3-amd64.exe)\n>\n> * [\u90e8\u7f72\u6559\u7a0b](docs/\u90e8\u7f72\u6559\u7a0b.md)\n> * [\u4f7f\u7528\u6559\u7a0b](docs/2.0%20\u4f7f\u7528\u6559\u7a0b.md)\n> * [\u4f7f\u7528\u6559\u7a0b \u65e7\u7248](docs/1.0%20\u4f7f\u7528\u6559\u7a0b.md)\n> * [\u5e38\u89c1\u95ee\u9898](docs/\u5e38\u89c1\u95ee\u9898.md)\n> * [\u66f4\u65b0\u65e5\u5fd7](docs/\u66f4\u65b0\u65e5\u5fd7.md)\n\n## \u6548\u679c\u9884\u89c8\n\n![image-20201221163514747](https://cdn.jsdelivr.net/gh/Quan666/CDN/pic/image-20201221163514747.png)\n\n![image-20201221163555086](https://cdn.jsdelivr.net/gh/Quan666/CDN/pic/image-20201221163555086.png)\n\n![image-20201221163721358](https://cdn.jsdelivr.net/gh/Quan666/CDN/pic/image-20201221163721358.png)\n\n![image](https://user-images.githubusercontent.com/32663291/117431780-3373a100-af5c-11eb-9de2-ff75948abf1c.png)\n\n## TODO\n\n* [x] 1. \u8ba2\u9605\u4fe1\u606f\u4fdd\u62a4\uff0c\u4e0d\u5728\u7fa4\u7ec4\u4e2d\u8f93\u51fa\u8ba2\u9605QQ\u3001\u7fa4\u7ec4\n* [x] 2. \u66f4\u4e3a\u5f3a\u5927\u7684\u68c0\u67e5\u66f4\u65b0\u65f6\u95f4\u8bbe\u7f6e\n* [x] 3. RSS \u6e90\u4e2d torrent \u81ea\u52a8\u4e0b\u8f7d\u5e76\u4e0a\u4f20\u81f3\u8ba2\u9605\u7fa4\uff08\u9002\u5408\u756a\u5267\u8ba2\u9605\uff09\n* [x] 4. \u6682\u505c\u68c0\u67e5\u8ba2\u9605\u66f4\u65b0\n* [x] 5. \u6b63\u5219\u5339\u914d\u8ba2\u9605\u540d\n* [x] 6. \u6027\u80fd\u4f18\u5316\uff0c\u5c3d\u53ef\u80fd\u66ff\u6362\u4e3a\u5f02\u6b65\u64cd\u4f5c\n\n## \u611f\u8c22\u4ee5\u4e0b\u9879\u76ee\u6216\u670d\u52a1\n\n\u4e0d\u5206\u5148\u540e\n\n* [RSSHub](https://github.com/DIYgod/RSSHub)\n* [Nonebot](https://github.com/nonebot/nonebot2)\n* [\u9177Q\uff08R. I. P\uff09](https://cqp.cc/)\n* [coolq-http-api](https://github.com/richardchien/coolq-http-api)\n* [go-cqhttp](https://github.com/Mrs4s/go-cqhttp)\n\n## Star History\n\n[![Star History](https://starchart.cc/Quan666/ELF_RSS.svg)](https://starchart.cc/Quan666/ELF_RSS)\n\n",
    "bugtrack_url": null,
    "license": "GPL-3.0-only",
    "summary": "QQ\u673a\u5668\u4eba RSS\u8ba2\u9605 \u63d2\u4ef6\uff0c\u8ba2\u9605\u6e90\u5efa\u8bae\u9009\u62e9 RSSHub",
    "version": "2.6.22",
    "project_urls": {
        "Homepage": "https://github.com/Quan666/ELF_RSS",
        "Repository": "https://github.com/Quan666/ELF_RSS"
    },
    "split_keywords": [
        "nonebot",
        " nonebot2",
        " rss",
        " elf",
        " rsshub"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3fd6dfbcc03a8e360fa5da228ab90a6290b93a147306e82e6cda1480f80b98e2",
                "md5": "4d247d5a787ad5058fceb3b2768bc5c6",
                "sha256": "b36ddbcfee5e426510a11a771f0f3d57eb2244af49421196798f05560b187e15"
            },
            "downloads": -1,
            "filename": "elf_rss-2.6.22-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4d247d5a787ad5058fceb3b2768bc5c6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0.0,>=3.8.3",
            "size": 76242,
            "upload_time": "2024-03-27T08:49:06",
            "upload_time_iso_8601": "2024-03-27T08:49:06.712961Z",
            "url": "https://files.pythonhosted.org/packages/3f/d6/dfbcc03a8e360fa5da228ab90a6290b93a147306e82e6cda1480f80b98e2/elf_rss-2.6.22-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2acc44b028104b2d2855e5db3559b72c341aac0a0f00f5d53417ae10361c6c22",
                "md5": "1b846df02ad810a8e8fba68e08ed7af7",
                "sha256": "e9db3a3b5f32214d3f6a206fb3806f177968595ecb689968e0e4cce6aaa51602"
            },
            "downloads": -1,
            "filename": "elf_rss-2.6.22.tar.gz",
            "has_sig": false,
            "md5_digest": "1b846df02ad810a8e8fba68e08ed7af7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0.0,>=3.8.3",
            "size": 57776,
            "upload_time": "2024-03-27T08:49:08",
            "upload_time_iso_8601": "2024-03-27T08:49:08.979540Z",
            "url": "https://files.pythonhosted.org/packages/2a/cc/44b028104b2d2855e5db3559b72c341aac0a0f00f5d53417ae10361c6c22/elf_rss-2.6.22.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-27 08:49:08",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Quan666",
    "github_project": "ELF_RSS",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "aiohttp",
            "specs": [
                [
                    "~=",
                    "3.9.3"
                ]
            ]
        },
        {
            "name": "arrow",
            "specs": [
                [
                    "~=",
                    "1.3.0"
                ]
            ]
        },
        {
            "name": "async-timeout",
            "specs": [
                [
                    "~=",
                    "4.0.3"
                ]
            ]
        },
        {
            "name": "bbcode",
            "specs": [
                [
                    "~=",
                    "1.1.0"
                ]
            ]
        },
        {
            "name": "cachetools",
            "specs": [
                [
                    "~=",
                    "5.3.3"
                ]
            ]
        },
        {
            "name": "emoji",
            "specs": [
                [
                    "~=",
                    "2.11.0"
                ]
            ]
        },
        {
            "name": "feedparser",
            "specs": [
                [
                    "~=",
                    "6.0.11"
                ]
            ]
        },
        {
            "name": "deep-translator",
            "specs": [
                [
                    "~=",
                    "1.11.4"
                ]
            ]
        },
        {
            "name": "ImageHash",
            "specs": [
                [
                    "~=",
                    "4.3.1"
                ]
            ]
        },
        {
            "name": "magneturi",
            "specs": [
                [
                    "~=",
                    "1.3"
                ]
            ]
        },
        {
            "name": "nb-cli",
            "specs": [
                [
                    "~=",
                    "1.4.0"
                ]
            ]
        },
        {
            "name": "nonebot-adapter-onebot",
            "specs": [
                [
                    "~=",
                    "2.4.3"
                ]
            ]
        },
        {
            "name": "nonebot-plugin-apscheduler",
            "specs": [
                [
                    "~=",
                    "0.4.0"
                ]
            ]
        },
        {
            "name": "nonebot-plugin-guild-patch",
            "specs": [
                [
                    "~=",
                    "0.2.3"
                ]
            ]
        },
        {
            "name": "nonebot2",
            "specs": [
                [
                    "~=",
                    "2.2.1"
                ]
            ]
        },
        {
            "name": "pikpakapi",
            "specs": [
                [
                    "~=",
                    "0.1.6"
                ]
            ]
        },
        {
            "name": "Pillow",
            "specs": [
                [
                    "~=",
                    "10.2.0"
                ]
            ]
        },
        {
            "name": "pydantic",
            "specs": [
                [
                    "!=",
                    "2.5.0"
                ],
                [
                    "<",
                    "3.0.0"
                ],
                [
                    "!=",
                    "2.5.1"
                ],
                [
                    ">=",
                    "1.10.14"
                ]
            ]
        },
        {
            "name": "pyquery",
            "specs": [
                [
                    "~=",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "python-qbittorrent",
            "specs": [
                [
                    "~=",
                    "0.4.3"
                ]
            ]
        },
        {
            "name": "tenacity",
            "specs": [
                [
                    "~=",
                    "8.2.3"
                ]
            ]
        },
        {
            "name": "tinydb",
            "specs": [
                [
                    "~=",
                    "4.8.0"
                ]
            ]
        },
        {
            "name": "yarl",
            "specs": [
                [
                    "~=",
                    "1.9.4"
                ]
            ]
        }
    ],
    "lcname": "elf-rss"
}
        
Elapsed time: 0.21613s