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_modify_real_md5 False 是否修改PDF文件的MD5以避免发送失败
jmcomic_blocked_message "猫猫吃掉了一个不豪吃的本子" 搜索到屏蔽本子时的替代消息
jmcomic_results_per_page 20 每页显示的搜索结果数量

示例:

# 是否启用 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
# JMComic 是否修改PDF文件的MD5值(增强防和谐但可能增加流量消耗)
JMCOMIC_MODIFY_REAL_MD5=False
# 搜索到屏蔽本子时的替代消息
JMCOMIC_BLOCKED_MESSAGE="猫猫吃掉了一个不豪吃的本子"
# 每页显示的搜索结果数量,越多每次发送时间越长且越容易被吞,建议40以内
JMCOMIC_RESULTS_PER_PAGE=20

🎉 使用

指令表

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

🎨 效果图

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-1.0.2.tar.gz (19.4 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-1.0.2-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for nonebot_plugin_jmdownloader-1.0.2.tar.gz
Algorithm Hash digest
SHA256 9adb6116ce6d43a6d86301bec6fa3d99c6eddc32ae87361c3b34b29ae0f6e428
MD5 b8d11e367bfce397f4f18a479aaf4e08
BLAKE2b-256 fa955d770f656909b8828626d1bb720f0826432407f06b38fa0371a5f9467425

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nonebot_plugin_jmdownloader-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 66498c2a0cc9ba8c40c655cf66f832ffd26999fa47f4b242bd88c54559d01077
MD5 ee84aff2264b74ae3a652b426c544748
BLAKE2b-256 c20fd5fc33ff8a131a6f20907c4b2cd3dd4773e98bd4221576ec35c5ec55464c

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