NoneBot2 由Colab驱动的AI作画插件
Project description
功能
- 提供prompt让AI进行绘图
- 可选将图片保存至本地或WebDAV
- 用户CD与NSFW权限管理
安装
- 使用 nb-cli
nb plugin install nonebot_plugin_colab_novelai
- 使用 pip
pip install nonebot_plugin_colab_novelai
获取插件帮助
- 可选择接入nonebot-plugin-PicMenu以便用户获取插件相关信息与用法。
Requirements
-
一台能正常访问外网的服务器 (Colab在中国大陆无法访问)
-
注册一堆Google新号(建议六个以上),建议绑定手机号以免登录时出现麻烦,千万不要开启多余的安全设置。
-
前往百度智能云申请免费语音识别服务,注册APP并获取相关密钥
- 用于绕过Colab ReCaptcha
-
前往cpolar注册免费账号
- 用于Colab的内网穿透
.env | .env.dev | .env.prod 配置项
headless_webdriver: bool = True # 是否使用无头模式启动浏览器
google_accounts: Dict[str, str] = {} # Required, 填写要使用的谷歌账密 {"account": "password", ...}
cpolar_username: str = None # Required, 填写cpolar账号邮箱
cpolar_password: str = None # Required, 填写cpolar账号的密码
bce_apikey: str = None # Required, 填写百度智能云的API Key
bce_secretkey: str = None # Required, 填写百度智能云的Secret Key
naifu_max: int = 1 # 一次作图生成的最大图片数量
naifu_cd: int = 0 # 每个用户每生成一张图片的冷却时间
nai_save2local_path: Optional[str] = None # 将图片保存至本地的存储目录, 不填写则不保存
nai_save2webdav_info: Dict[str, Optional[str]] = {
"url": None,
"username": None, "password": None, # 将图片保存至WebDAV需要的相关配置,不填写则不保存
"path": None
}
nai_nsfw_tags: Optional[List[str] | str] = None # 自定义可能会生成NSFW图片的tag, 填写一个列表或者一个文件路径
# 列表: ["tag1", "tag2", "tag3", ...]
# 若使用文件存储, 需要将tag以逗号分隔,无需引号。
配置项额外说明
-
如果你正在使用没有图形界面的Linux服务器,请不要更改
headless_webdriver
-
插件会尝试禁止未授权的用户绘画NSFW图片,通过屏蔽特定tag来实现。预设的一些tag集合位于/utils/distributed.py,如果有其他好的预设想法,欢迎pr。
- 屏蔽的tag集合为
.env
配置项与预设项的并集,匹配时不区分大小写。
- 屏蔽的tag集合为
如何使用?
触发指令: naifu <command> [<subcommands>] [<args>]
-
Command:
draw
-
CommandPermission:
Anyone
-
用于告诉AI开始作图
-
用法:
naifu draw <-p --prompt <PROMPT>...> [-s --size <SIZE>] [-n --num <NUM>] [-s --seed <SEED>]
-p
必选参数,指定作画的关键词,以逗号分隔,必须为英语-s
可选参数,指定图片生成大小,支持以下几种,默认为512x768
:384x640, 512x768, 512x1024 # Portrait
640x384, 768x512, 1024x512 # Landscape
512x512, 640x640, 1024x1024 # Square
-n
可选参数,指定图片生成数量,最大值参考.env
配置项,默认值为1-r
可选参数,指定图片生成种子,取值范围0 ~ 2³²-1
,默认值为-1即随机
-
Command:
su
-
Commandpermission:
Superuser
-
用于管理插件白名单用户 (白名单用户无绘图cd,在
.env
中naifu_cd
值为非零时生效)- Subcommand:
ls
- 列出当前所有白名单用户
- 用法:
naifu su ls
- Subcommand:
add
- 添加白名单用户
- 用法:
naifu su add <-u --uid <USER ID>...>
-u
必选参数,为用户QQ号,可填写多个并以空格分隔
- Subcommand:
rm
- 移除白名单用户
- 用法:
naifu su rm <-u --uid <USER ID>...>
-u
必选参数,为用户QQ号,可填写多个并以空格分隔
- Subcommand:
-
Command:
nsfw
-
CommandPermission:
Superuser
-
管理允许绘制NSFW内容的用户与群组
-
注意: 群聊中只有当用户和群聊均有权限时才能绘制NSFW内容!
- Subcommand:
ls
- 列出当前所有允许NSFW内容的用户与群组
- 用法:
naifu nsfw ls
- Subcommand:
add
- 添加允许NSFW内容的用户或群组
- 用法:
naifu nsfw add [-u --uid <USER ID>...] [-g --gid <GROUP ID>...]
-u
可选参数,为用户QQ号,可填写多个并以空格分隔-g
可选参数,为群号,可填写多个并以空格分隔
- Subcommand:
rm
- 移除允许NSFW内容的用户或群组
- 用法:
naifu nsfw rm [-u --uid <USER ID>...] [-g --gid <GROUP ID>...]
-u
可选参数,为用户QQ号,可填写多个并以空格分隔-g
可选参数,为群号,可填写多个并以空格分隔
- Subcommand:
在权限配置文件第一次加载时,会自动添加.env
的SUPERUSERS
为插件白名单用户以及分配NSFW权限。
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
Hashes for nonebot_plugin_colab_novelai-0.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba51b63e577da5931ba7eed6e68d54a2425c6d33dba587dbe65aa04bc198b331 |
|
MD5 | f0a105709baae65b19d00b83c695a5c7 |
|
BLAKE2b-256 | 0fa80afcdce7e673599e97f2087e59a1450d2194d1f88d0eeac1980d41c03029 |