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.3.tar.gz (16.1 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.3-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for nonebot_plugin_jmdownloader-0.1.3.tar.gz
Algorithm Hash digest
SHA256 c5d7fae55fb6ededf503a5fdcda0533e6f49de0f870b49d855fb73aa21506d79
MD5 838f2b2d8f6cb69db27f31555f7c2fc3
BLAKE2b-256 ec0ffa97e79d55c468d6680adb2eb6ef7a74c5cf6295aeb65808f4742602f924

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nonebot_plugin_jmdownloader-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 91ac152bf8d97348429a425f071faf425b824160b4bedd259fb70858e284e36f
MD5 11f9c4345220c01634d30f16c79e3603
BLAKE2b-256 457130a28c7a48b79db728f8b0e22cb2e5fca81e2f40e973850f6cae6f981727

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