Skip to main content

基于 Nonebot2 的 JMComic 插件

Project description

基于 Nonebot2 的 JMComic 插件

license pypi python ruff uv

📖 介绍

JMComic搜索、下载插件,支持全局屏蔽jm号和tag,支持上传至群聊指定文件夹,仅支持OnebotV11协议。

💿 安装

使用 nb-cli 安装 在 NoneBot2 项目的根目录下打开命令行,输入以下指令即可安装
nb plugin install nonebot-plugin-jmdownloader --upgrade

使用 pypi 源安装

nb plugin install nonebot-plugin-jmdownloader --upgrade -i "https://pypi.org/simple"

使用清华源安装

nb plugin install nonebot-plugin-jmdownloader --upgrade -i "https://pypi.tuna.tsinghua.edu.cn/simple"
使用包管理器安装 在 NoneBot2 项目的插件目录下,打开命令行,根据你使用的包管理器,输入相应的安装命令
uv
uv add nonebot-plugin-jmdownloader

安装仓库 master 分支

uv add git+https://github.com/Misty02600/nonebot-plugin-jmdownloader@master
pdm
pdm add nonebot-plugin-jmdownloader

安装仓库 master 分支

pdm add git+https://github.com/Misty02600/nonebot-plugin-jmdownloader@master
poetry
poetry add nonebot-plugin-jmdownloader

安装仓库 master 分支

poetry add git+https://github.com/Misty02600/nonebot-plugin-jmdownloader@master

打开 NoneBot2 项目根目录下的 pyproject.toml 文件,在 [tool.nonebot] 部分追加写入

plugins = ["nonebot_plugin_jmdownloader"]

⚙️ 配置

插件使用nonebot_plugin_localstore储存数据和下载缓存。

在 NoneBot2 项目的.env文件中添加下表中的必填配置

配置项 必填 默认值 说明
jmcomic_username JM登录用户名
jmcomic_password JM登录密码
jmcomic_proxies system 网络代理地址
jmcomic_log False 是否开启JMComic-Crawler-Python的日志输出
jmcomic_thread_count 10 下载线程数量
jmcomic_allow_groups False 是否默认启用所有群
jmcomic_user_limits 5 每位用户的每周下载限制次数

示例:

# 是否启用 JMComic 日志 (True 表示启用, False 表示禁用)
JMCOMIC_LOG=True
# JMComic 代理配置,更多格式参考https://jmcomic.readthedocs.io/zh-cn/latest/option_file_syntax
JMCOMIC_PROXIES=127.0.0.1:10809
# 下载线程数量 (线程越多对性能要求越高,范围 1~50)
JMCOMIC_THREAD_COUNT=10
# JMComic 登录用户名,如果不填则不登录,不登录时部分本子可能会受限
JMCOMIC_USERNAME=******
# JMComic 登录密码
JMCOMIC_PASSWORD=******
# JMComic 是否默认启用所有群,建议关闭
JMCOMIC_ALLOW_GROUPS=False
# JMComic 每位用户的每周下载限制次数
JMCOMIC_USER_LIMITS=5

我的服务器为2核2G 4M,下载并发送10M的文件约需要1-2分钟

🎉 使用

指令表

指令 权限 需要@ 范围 说明
jm下载 [id] 群员 群聊/私聊 下载指定的 JMComic 本子到群文件或私聊
jm查询 [id] 群员 群聊/私聊 查询指定的 JMComic 本子信息及封面图
jm搜索 [关键词] 群员 群聊/私聊 搜索 JMComic 网站的漫画并返回列表
jm设置文件夹 [文件夹名] 管理员 群聊 设置群聊内本子的上传文件夹
jm拉黑 [@用户] 管理员 群聊 将用户加入当前群的黑名单
jm解除拉黑 [@用户] 管理员 群聊 将用户移出当前群的黑名单
jm黑名单 管理员 群聊 列出当前群的黑名单列表
jm启用群 [群号] 超级用户 群聊/私聊 启用指定群的插件功能,可用空格隔开多个群号,以下同理
jm禁用群 [群号] 超级用户 群聊/私聊 禁用指定群的插件功能
开启jm 超级用户 群聊 启用本群的插件功能
关闭jm 管理员 群聊 禁用本群的插件功能,管理员和群主只能关不能开
jm禁用id [id] 超级用户 群聊/私聊 禁止指定jm号的本子下载,可用空格隔开多个id,以下同理
jm禁用tag [tag] 超级用户 群聊/私聊 禁止带有指定tag的本子下载
  • 下载被禁止的本子会被bot尝试禁言并加入本群黑名单!
  • 设置文件夹需要协议端API支持,bot会先读取群内是否有该文件夹,如果没有会尝试创建。
  • Bot会在每天凌晨3点清理缓存文件夹。
  • 默认已经屏蔽了一些常见的令人不适的本子,可以在数据储存文件里自行修改。

🎨 效果图

search query download

⚠️ 使用警告

仅作为交流学习使用!请严格遵守法律法规与公序良俗!

❌ 禁止将本插件用于任何非法用途

❌ 禁止分享/传播未成年人相关或违法内容

本插件仅限个人合规使用,用户行为责任自负,开发者不承担任何连带责任。

📃 许可证

本项目采用 MIT 许可证。

🙏 致谢

JMComic-Crawler-Python提供的API

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nonebot_plugin_jmdownloader-0.1.6.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nonebot_plugin_jmdownloader-0.1.6-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_plugin_jmdownloader-0.1.6.tar.gz.

File metadata

File hashes

Hashes for nonebot_plugin_jmdownloader-0.1.6.tar.gz
Algorithm Hash digest
SHA256 b3330d53bc57d254e2d994f90ee8bd322a6582b853f1d03e80913c956f2e5e46
MD5 e3c3ab2fb222a6bae74fdc1b5b5ccd92
BLAKE2b-256 707d4d4a2bec4851e158f89ba53c49c4bd51c7073e6980b7a2b6167cedf22dfa

See more details on using hashes here.

File details

Details for the file nonebot_plugin_jmdownloader-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_jmdownloader-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 c844b7b9fb507b5ebcf391c9516c239af0f6100ec55ef2e7a21588ada8c24065
MD5 98c08bc148d1d1ad758e2a0407e94aff
BLAKE2b-256 afae00b49d94d27e3e303ea577172b270e8914dfa5199ee81c31e8db56c406ca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page