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.4.tar.gz (16.2 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.4-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for nonebot_plugin_jmdownloader-0.1.4.tar.gz
Algorithm Hash digest
SHA256 4d4235ef9e67f79b2aaec669111fdd36dbba7bfe94e03e63fa4bc90594c08281
MD5 ebea40d0308d6e513642e566138fc5c8
BLAKE2b-256 97a036de7c9615e4ea84851ee4d5f6108101629d45c1bdbb14e4689006643bb4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nonebot_plugin_jmdownloader-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 828749a51af09c32774fa5da906056d91961f8348e2ec474ef2408a35b58a91a
MD5 be74707acd7a53332d459d29d45d4c16
BLAKE2b-256 dec1c7c27c473e79411244f56e73c5119969226de3c1ec2f247c186552def01e

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