Git Product home page Git Product logo

pixiv-helper's Introduction

基于 Mirai ConsolePixiv 插件

基于 Kotlin Pixiv库 PixivClient ,通过清除ServerHostName 绕过SNI审查,免代理

Release Downloads MiraiForum

使用前应该查阅的相关文档或项目

Pixiv Helper 2 重构进行中,部分功能还不可用. 需要重新登录Pixiv 账号,你可以使用之前登录得到的 Token

目前没有自动缓存清理,请使用 #删除指令 手动清理
R18图会按照Pixiv所给信息过滤
群聊模式使用默认账号,私聊模式Pixiv账号和QQ号关联,初次使用请先 /pixiv 指令登陆账号
然后使用 /cache recommended 缓存系统推荐作品,然后再使用色图相关指令
推荐使用 /task cache recommended 定时自动缓存

Gif图片需要由机器人自己合成,如果设备性能不足,请调整相关参数

1.9.0 起将数据库部分功能拆分
需要 Mirai Hibernate Plugin 做前置插件
这是必要
MCL安装指令 ./mcl --update-package xyz.cssxsh.mirai:mirai-hibernate-plugin --channel maven-stable --type plugins

打开浏览器,登录PIXIV 需要 Mirai Selenium Plugin 做前置插件 并且需要代理配置(可以打开浏览器后,在浏览器中配置),浏览器登录只是其中一种登录方法,不必要安装 Selenium 插件

群聊默认输出最少作品信息,需要增加请使用 /setting 指令修改

发送模式可以使用 /setting 指令修改为闪照或撤销或转发
注意, 闪照等模式 并不会降低 机器人被封禁 的风险。
机器人被封禁的主要风险来自

  • QQ号是新注册的
  • Bot挂在服务器上,但是服务器IP被腾讯列为风险IP(腾讯通过IP确定 登录地区)
  • Bot被高频使用,(另外,高频发图再高频撤销属于不打自招,正常用户有这个手速吗?)
  • 发送大量违规链接,或者触发关键词

指令

注意: 使用前请确保可以 在聊天环境执行指令
带括号的/前缀是可选的
<...>中的是指令名,由空格隔开表示或,选择其中任一名称都可执行例如/色图
[...]表示参数,当[...]后面带?时表示参数可选
{...}表示连续的多个参数

本插件指令权限ID 格式为 xyz.cssxsh.mirai.plugin.pixiv-helper:command.*, * 是指令的第一指令名
例如 /pixiv sina 的权限ID为 xyz.cssxsh.mirai.plugin.pixiv-helper:command.pixiv

Pixiv相关操作指令

指令 描述
/<pixiv> <sina> 扫码登录关联了PIXIV的微博账号,以登录PIXIV
/<pixiv> <cookie> 通过Cookie,登录PIXIV
/<pixiv> <selenium> 打开浏览器,登录PIXIV
/<pixiv> <refresh> [token] 登录 通过 refresh token
/<pixiv> <bind> [uid] [contact]? 绑定 Pixiv 账户
/<pixiv> <pool> 账户池详情
/<follow> <user> {uid} 为当前助手关注指定用户
/<follow> <copy> [uid] 关注指定用户的关注
/<mark bookmark> <add> [uid] {words}? 添加指定作品收藏
/<mark bookmark> <delete> [pid] 删除指定作品收藏
/<mark bookmark> <random> [tag]? 随机发送一个收藏的作品
/<mark bookmark> <list> 显示收藏列表

Pixiv helper 2 重构中,follow 和 mark 暂不可用
Pixiv helper 2 中 新加入 /pixiv bind 指令,此指令用于为一个联系人(群/用户)绑定一个 pixiv 账号(已登录)

cookie 文件为工作目录下的 cookie.json
内容 为 浏览器插件 EditThisCookie 导出的Json
EditThisCookie 安装地址 Chrome Firefox Edge

色图相关指令

指令 描述
(/)<ero 色图 涩图> 缓存中随机一张色图
(/)<get 搞快点 gkd> [pid] [flush]? 获取指定ID图片
(/)<tag 标签> [word] [bookmark]? [fuzzy]? 随机指定TAG图片
(/)<boom 射爆 社保> [limit]? [word]? 随机一组色号图,默认30张
(/)<illustrator 画师> <uid id user 用户> [uid] 根据画师UID随机发送画师作品
(/)<illustrator 画师> <name 名称 名字 推特> [name] 根据画师name或者alias随机发送画师作品
(/)<illustrator 画师> <alias 别名> [name] [uid] 设置画师alias
(/)<illustrator 画师> <list 列表> 显示别名列表
(/)<illustrator 画师> <info 信息> [uid] 获取画师信息
(/)<illustrator 画师> <search 搜索> [name] [limit]? 搜索画师
(/)<search 搜索 搜图> [image]? saucenao、ascii2d 搜索图片

Pixiv helper 2 重构中,illustrator 暂不可用

色图指令基于缓存信息,使用前请先缓存一定量的作品,推荐使用 /cache recommended 指令
使用色图指令时 指令后附带 更好, 可以使收藏数比前一张更高, 如果两次色图指令间隔小于触发时间(默认时间10s)也会触发这个效果
tag指令检索结果过少时,会自动触发缓存
tag指令可以尝试按照格式 角色名(作品名) 检索角色, 举例 红(明日方舟)
tag指令多keyword时,请使用 _|,, + 等符号将keyword连接起来,不要使用空格,举例 明日方舟+巨乳
[image]? 为空时会从回复消息最近图片获取
bookmark 参数指收藏数过滤
fuzzy 参数指模糊搜索
boom指令使用时
word 会随机给出色图
word 为数字时会查找对应uid画师的色图
其余情况则按 tag 处理

画师别名的uid为0时表示删除指定别名

搜图使用 https://saucenao.com 的 api,无KEY时,每天限额 100次, KEY参数在设置中添加
举例:
从指令参数中获取
从回复消息中获取
从最近图片中获取
从输入等待中获取

1.9.1 开始,添加 通过At来搜索头像的功能

当 saucenao 的 搜索结果不足时,会自动补充 ascii2d 的搜索结果

缓存指令

指令 描述
/<cache> <follow> 缓存关注推送
/<cache> <rank> [mode] [date]? 缓存指定排行榜信息
/<cache> <recommended> 缓存推荐作品
/<cache> <bookmarks> [uid] 缓存用户的收藏中缓存色图作品
/<cache> <following> [fluhsh]? 缓存关注画师作品
/<cache> <fwm> [jump]? 缓存关注画师收藏
/<cache> <user> [uid] 缓存指定画师作品
/<cache> <tag> [word] 缓存搜索tag得到的作品
/<cache> <ero> [range]? 缓存色图画师的作品
/<cache> <ewm> [range]? 缓存色图画师的收藏
/<cache> <search> 缓存搜索记录
/<cache> <stop> [name] 停止缓存任务
/<cache> <detail> 缓存任务详情

Pixiv helper 2 重构中,部分缓存指令 暂不可用

[uid]? 会自动填充当前用户

mode 可选值: MONTH, WEEK, WEEK_ORIGINAL, WEEK_ROOKIE, DAY, DAY_MALE, DAY_FEMALE, DAY_MANGA

任务指令

指令 描述
/<task> <user> [uid] [cron] [target]? 推送用户新作品
/<task> <rank> [mode] [cron] [target]? 推送排行榜新作品
/<task> <follow> [cron] [target]? 推送关注用户作品
/<task> <recommended> [cron] [target]? 推送推荐作品
/<task> <trending> [cron]? [target]? 推送热门标签
/<task> <cache> [uid] [cron] {args} 数据自动缓存
/<task> <cron> [id] [cron] 查看任务详情
/<task> <detail> 查看任务详情
/<task> <delete> [id] 删除任务

Pixiv helper 2 重构中,部分任务指令 暂不可用

备份文件优先推送到群文件,其次百度云
duration 单位分钟,默认3小时
/task cache {args} 是 task 和 cache 指令的组合,举例,/task cache recommended

设置指令

指令 描述
/<setting> <interval> [sec] 设置连续发送间隔时间, 单位秒
/<setting> <forward> 设置Task发送模式
/<setting> <link> 设置是否显示Pixiv Cat 原图链接
/<setting> <tag> 设置是否显示TAG INFO
/<setting> <attr> 设置是否显示作品属性
/<setting> <cooling> 设置cooling置零 废除
/<setting> <max> [num] 设置显示最大图片数
/<setting> <model> [type] [ms]? 设置发送模式

Pixiv helper 2 重构中,部分设置指令 暂不可用

发送模式 有三种 NORMAL, FLASH, RECALL, ms 是Recall的延迟时间,单位毫秒
注意:FLASH, RECALL 这两种模式 并不会降低 机器人被封禁 的风险
forward, link, tag, attr 使用指令后会对当前值取反

统计信息指令

指令 描述
/<info> <user> [target]? 获取用户信息
/<info> <group> [target]? 获取群组信息
/<info> <top> [limit]? 获取TAG指令统计信息
/<info> <cache> 获取缓存信息

删除指令

指令 描述
/<delete> <artwork> [pid] [record]? 删除指定作品
/<delete> <user> [uid] [record]? 删除指定用户作品
/<delete> <bookmarks> [max] [record]? 删除小于指定收藏数作品
/<delete> <page> [min] [record]? 删除大于指定页数作品
/<delete> <manga> [record]? 删除漫画作品
/<delete> <record> 删除已记录作品

第二参数 record 表明是否写入数据库,默认为否,只删除图片文件

URL 自动解析

Pixiv helper 2 重构中,部分自动解析 暂不可用

权限 id: xyz.cssxsh.mirai.plugin.pixiv-helper:url
匹配一下正则表达式的URL将会被解析

val URL_ARTWORK_REGEX = """(?<=pixiv\.net/(i|artworks)/|illust_id=)\d+""".toRegex()
val URL_USER_REGEX = """(?<=pixiv\.net/(u/|users/|member\.php\?id=))\d+""".toRegex()
val URL_PIXIV_ME_REGEX = """(?<=pixiv\.me/)[\w-]{3,32}""".toRegex()

设置

PixivHelperSettings.yml

  • cache_path 缓存目录
  • backup_path 备份目录
  • temp_path 临时目录
  • ero_chunk 色图分块大小 和自动触发TAG缓存有关
  • ero_up_expire 色图自动触发更高收藏数的最大时间,单位毫秒
  • ero_work_types 涩图标准 内容类型 ILLUST, UGOIRA, MANGA, 为空则全部符合
  • ero_bookmarks 涩图标准 收藏
  • ero_page_count 涩图标准 页数
  • ero_tag_exclude 涩图标准 排除的正则表达式
  • ero_user_exclude 涩图标准 排除的UID
  • pximg 反向代理, 若非特殊情况不要修改这个配置,保持留空,可选代理 i.pixiv.re, i.pixiv.cat
  • proxy API代理
  • proxy_download DOWNLOAD代理 图片下载器会对代理产生很大的负荷,请十分谨慎的开启这个功能
  • timeout_api API超时时间, 单位ms
  • timeout_download DOWNLOAD超时时间, 单位ms
  • block_size DOWNLOAD分块大小, 单位B, 默认 523264, 为零时, 不会分块下载
  • tag_sfw tag 是否过滤r18 依旧不会放出图片
  • ero_sfw ero 是否过滤r18 依旧不会放出图片
  • cache_capacity 下载缓存容量,同时下载的任务上限
  • cache_jump 缓存是否跳过下载
  • upload 压缩完成后是否上传百度云,不上传百度云则会尝试发送文件

ImageSearchConfig.yml

  • key KEY 不是必须的,无KEY状态下,根据IP每天可以搜索 100 次,有KEY状态下搜索次数依据于账户
    KEY 参数请到 https://saucenao.com/ 注册账号,
    在用户页面 https://saucenao.com/user.php?page=search-api 获得的KEY填入
    信息只在启动时读取,修改后需重启
  • limit 显示的搜索结果数
  • bovw ascii2d 检索类型,false色合検索 true特徴検索
  • wait 图片等待时间,单位秒
  • forward 转发方式发送搜索结果

PixivGifConfig.yml

  • quantizer 编码器, com.squareup.gifencoder.ColorQuantizer 的实现
    目前可选值,图片质量和所需性能按顺序递增, 推荐使用 OctTreeQuantizer
    com.squareup.gifencoder.UniformQuantizer
    com.squareup.gifencoder.MedianCutQuantizer
    com.squareup.gifencoder.OctTreeQuantizer
    com.squareup.gifencoder.KMeansQuantizer
    xyz.cssxsh.pixiv.tool.OpenCVQuantizer (需要 安装 OpenCV, 对应 jar 放进 plugins 文件夹)
  • ditherer 抖动器, com.squareup.gifencoder.Ditherer 的实现
    目前可选值, 推荐使用 AtkinsonDitherer
    com.squareup.gifencoder.FloydSteinbergDitherer
    com.squareup.gifencoder.NearestColorDitherer
    xyz.cssxsh.pixiv.tool.AtkinsonDitherer
    xyz.cssxsh.pixiv.tool.JJNDitherer
    xyz.cssxsh.pixiv.tool.SierraLiteDitherer
    xyz.cssxsh.pixiv.tool.StuckiDitherer
  • disposal 切换方法
    可选值 UNSPECIFIED, DO_NOT_DISPOSE, RESTORE_TO_BACKGROUND, RESTORE_TO_PREVIOUS
  • max_count OpenCVQuantizer 最大迭代数

System.getProperty

  • pixiv.rate.limit.delay 默认 3 * 60 * 1000L ms
  • pixiv.download.async 默认 32

hibernate.properties

如果不是特殊需要,使用默认的 SQLite 配置就好
配置 mysql 举例 (字符集要设置为utf8mb4_bin),其他数据库类推 配置 文件

hibernate.connection.url=jdbc:mysql://localhost:3306/pixiv?autoReconnect=true
hibernate.connection.driver_class=com.mysql.cj.jdbc.Driver
hibernate.connection.CharSet=utf8mb4
hibernate.connection.useUnicode=true
hibernate.connection.username=username
hibernate.connection.password=password
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.connection.provider_class=org.hibernate.hikaricp.internal.HikariCPConnectionProvider
hibernate.hbm2ddl.auto=none
hibernate-connection-autocommit=true
hibernate.connection.show_sql=false
hibernate.autoReconnect=true

关于表的自动创建可以查看 model

pixiv-helper's People

Contributors

cssxsh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

pixiv-helper's Issues

配置好之后群友无法正确呼唤

我授权的指令是/permission add m一个指定的群号.* xyz.cssxsh.mirai.plugin.pixiv-helper:command.ero
但是群友发送/get之后并没有正确返回任何东西

登录无响应

如标题,使用sina扫码登录出错,Debian 10 JRE 15

[Feature Request] Can set the limit of caching images

举例

/<cache> <tag> [tag] [limit]?
/<cache> <recommended> [limit]?
/<task> <cache> {args} [limit]?
/<cache> ...
/<task> <cache> ...

[limit]参数指缓存成功的图片数量。

一些革新

这将能够防止缓存过多同类型的图片,缓存的图片库将会很大程度上对应使用者的需求。

自动化:

取缔/cache stop ,使用者无需拘谨于设置了缓存任务 不知/在意 何时停止的窘境,
同时在另一个维度上,此参数将会减少未来删除指令完善后,使用其删除自己 不需要、过于冗余 的图片的必要。

个性化:

从此,使用者可以更有创造性的个性化基于本人实际需求的 本地、百度云 图片缓存库,

一个问题

根据收藏数过滤缓存图片是从最高的收藏数(排行榜)往下递减到设置的过滤收藏数,还是从下往上?
而从上往下无疑是对 [limit] 这个概念变量的绝佳设计。

服务器下载问题

出现
1、Pixiv Download 错误, 已忽略: okhttp3.internal.http2.StreamResetException: stream was reset: PROTOCOL_ERROR
2、下载超时问题

我在本机上使用bot时网络是正常的,但是在阿里云上则出现以上问题,服务器是1m的,下载正常文件网速还可以但是下这个插件则非常慢几乎没有网速,我猜测可能是阿里云做了某些墙的限制,请问有办法解决嘛?
我已经查阅过论坛评论,修改过超时设置至60s,尝试过镜像以及反向代理,甚至自己手动挂了个ssr,但是下载速度还是过慢,下午给的指令凌晨bot才会回复。

搜索指令貌似有问题

当在群内使用搜索指令,一直无反应(无报错),然后机器人不再有任何响应了

认证百度账号时出错

已经在百度申请了api,在绑定页面复制验证码发出之后报错 百度云用户认证失败, invalid code , expired or revoked

缓存任务终止后无法再开启

在下载最新的版本只会。
使用Tag缓存,机器人能正常回复:已建立缓存任务
但好几天发现下来根本没有缓存到一张图片

这边后台在建立任务时有以下提示:
QQ截图20210708155532
请问该如何解决?

找不到联系人

2021-12-25 14:59:15 E/pixiv-helper: Exception in coroutine PixivHelperScheduler of pixiv-helper
java.lang.IllegalArgumentException: 找不到联系人 -1074197861
        at xyz.cssxsh.mirai.plugin.PixivTaskKt.getHelper(PixivTask.kt:35)
        at xyz.cssxsh.mirai.plugin.PixivTaskKt.run(PixivTask.kt:256)
        at xyz.cssxsh.mirai.plugin.PixivHelperScheduler$runTimerTask$1.invokeSuspend(PixivHelperScheduler.kt:22)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

关于7.1版本的问题

新版本安装好之后出现了两个问题。
一个是发送色图指令之后会有错误
后台显示错误如下:
2021-07-07 17:06:04 W/pixiv-helper: java.lang.StackOverflowError
java.lang.StackOverflowError
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:88)
at jdk.proxy5/jdk.proxy5.$Proxy25.eroRandom(Unknown Source)
at xyz.cssxsh.mirai.plugin.command.PixivEroCommand$getEroArtWorkInfos$2$1.invoke(PixivEroCommand.kt:37)
at xyz.cssxsh.mirai.plugin.command.PixivEroCommand$getEroArtWorkInfos$2$1.invoke(PixivEroCommand.kt:37)
at xyz.cssxsh.mirai.plugin.PixivUtilsKt$useMappers$1.invoke(PixivUtils.kt:104)
at xyz.cssxsh.mirai.plugin.PixivUtilsKt$useMappers$1.invoke(PixivUtils.kt:97)
at xyz.cssxsh.mirai.plugin.PixivHelperPlugin.useSession$helper(PixivHelperPlugin.kt:28)
at xyz.cssxsh.mirai.plugin.PixivUtilsKt.useMappers(PixivUtils.kt:97)
at xyz.cssxsh.mirai.plugin.command.PixivEroCommand.getEroArtWorkInfos(PixivEroCommand.kt:37)
at xyz.cssxsh.mirai.plugin.command.PixivEroCommand.getEroArtWorkInfos(PixivEroCommand.kt:40)

“ at xyz.cssxsh.mirai.plugin.command.PixivEroCommand.getEroArtWorkInfos(PixivEroCommand.kt:40)”这个有很多行的错误,就不打上去了。
以及使用tag指令时,会出现:
读取色图失败,

Error querying database. Cause: org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (no such column: 东方)

The error may exist in xyz/cssxsh/mirai/plugin/dao/ArtWorkInfoMapper.xml

The error may involve xyz.cssxsh.mirai.plugin.dao.ArtWorkInfoMapper.findByTag

The error occurred while executing a query

SQL: SELECT * FROM not_deleted WHERE pid IN ( SELECT tags.pid FROM tags WHERE ( false AND (name LIKE '%' || 东方 || '%' OR translated_name LIKE '%' || 东方 || '%') ) OR (name = 东方 OR translated_name = 东方) ) AND total_bookmarks >= 0;

Cause: org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (no such column: 东方)

表情指令

调用缓存图片指令为/色图
发送qq内置表情7NA13X T(MUGWH{54 }CBMK会触发该指令
在消息记录查看 该表情有快捷指令 /色
想问一下是有匹配这个表情还是误识别(模糊匹配/完全匹配)

遇到了错误,已经登录了,执行图片指令

2021-09-01 14:38:18 W/pixiv-helper: Exception in executing command `[mirai:source:[53841],[130816385]]/task detail`
java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97)
        at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113)
        at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108)
        at kotlin.reflect.jvm.internal.KCallableImpl.callDefaultMethod$kotlin_reflection(KCallableImpl.kt:159)
        at kotlin.reflect.full.KCallables.callSuspendBy(KCallables.kt:73)
        at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invokeSuspend(CommandReflector.kt:301)
        at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(CommandReflector.kt)
        at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(CommandReflector.kt)
        at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call$suspendImpl(CommandSignature.kt:88)
        at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call(CommandSignature.kt)
        at net.mamoe.mirai.console.internal.command.CommandManagerImplKt.executeCommandImpl(CommandManagerImpl.kt:163)
        at net.mamoe.mirai.console.command.CommandManager.executeCommand(CommandManager.kt:130)
        at net.mamoe.mirai.console.command.CommandManager$INSTANCE.executeCommand(CommandManager.kt)
        at net.mamoe.mirai.console.command.CommandManager.executeCommand$default(CommandManager.kt:125)
        at net.mamoe.mirai.console.plugins.chat.command.PluginMain.handleCommand(PluginMain.kt:86)
        at net.mamoe.mirai.console.plugins.chat.command.PluginMain$onEnable$2$1.invokeSuspend(PluginMain.kt:69)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
Caused by: java.lang.IllegalArgumentException: message is empty
        at net.mamoe.mirai.internal.contact.AbstractUserKt.sendMessageImpl(AbstractUser.kt:205)
        at net.mamoe.mirai.internal.contact.FriendImpl.sendMessage(FriendImpl.kt:93)
        at net.mamoe.mirai.console.command.FriendCommandSender.sendMessage$suspendImpl(CommandSender.kt:562)
        at net.mamoe.mirai.console.command.FriendCommandSender.sendMessage(CommandSender.kt)
        at xyz.cssxsh.mirai.plugin.PixivUtilsKt.quoteReply(PixivUtils.kt:50)
        at xyz.cssxsh.mirai.plugin.PixivUtilsKt.withHelper(PixivUtils.kt:60)
        at xyz.cssxsh.mirai.plugin.command.PixivTaskCommand.detail(PixivTaskCommand.kt:95)
        ... 26 more

MiraiAndroid 中 无法加载 Mybatis Mapper

使用的是MiraiAndroid 3.2.1,用了编译并安装选项并勾选了脱糖选项
控制台输出如下

<font color="#DD1C1A">[ERROR]</font><![CDATA[org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): xyz.cssxsh.mirai.plugin.dao.ArtWorkInfoMapper.count]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:235)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:53)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at org.apache.ibatis.binding.MapperProxy.lambda$cachedInvoker$0$MapperProxy(MapperProxy.java:115)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at org.apache.ibatis.binding.-$$Lambda$MapperProxy$T5NSXZXOQZhFD1r-0a3flqx709Y.apply(Unknown Source:6)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1716)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at org.apache.ibatis.binding.MapperProxy.cachedInvoker(MapperProxy.java:102)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at java.lang.reflect.Proxy.invoke(Proxy.java:1006)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at $Proxy20.count(Unknown Source)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivConfigKt$init$7$count$1.invoke(PixivConfig.kt:154)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivConfigKt$init$7$count$1.invoke(PixivConfig.kt:154)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivUtilsKt$useMappers$1.invoke(PixivUtils.kt:109)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivUtilsKt$useMappers$1.invoke(PixivUtils.kt:102)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivHelperPlugin.useSession$helper(PixivHelperPlugin.kt:28)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivUtilsKt.useMappers(PixivUtils.kt:102)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivConfigKt$init$7.invokeSuspend(PixivConfig.kt:154)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[Exception in coroutine Plugin pixiv-helper of pixiv-helper]]>
<font color="#28BB28">[INFO]</font><![CDATA[自动登录....]]>
<font color="#FEAC48">[WARNING]</font><![CDATA[使用/backup auth 指令进行认证 ]]>
<font color="#FEAC48">[WARNING]</font><![CDATA[百度网盘初始化失败, java.lang.IllegalArgumentException: Required value was null.]]>
<font color="#28BB28">[INFO]</font><![CDATA[[AccountSecretsManager] Loaded account secrets from local cache.]]>
<font color="#28BB28">[INFO]</font><![CDATA[[AccountSecretsManager] Saved account secrets to local cache for fast login.]]>
<font color="#28BB28">[INFO]</font><![CDATA[Login successful.]]>
<font color="#28BB28">[INFO]</font><![CDATA[Bot login successful.]]>
<font color="#28BB28">[INFO]</font><![CDATA[PixivHelper:Friend(.....)#CacheTask start]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): xyz.cssxsh.mirai.plugin.dao.ArtWorkInfoMapper.eroRandom]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:235)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:53)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at org.apache.ibatis.binding.MapperProxy.lambda$cachedInvoker$0$MapperProxy(MapperProxy.java:115)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at org.apache.ibatis.binding.-$$Lambda$MapperProxy$T5NSXZXOQZhFD1r-0a3flqx709Y.apply(Unknown Source:6)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1716)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at org.apache.ibatis.binding.MapperProxy.cachedInvoker(MapperProxy.java:102)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at java.lang.reflect.Proxy.invoke(Proxy.java:1006)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at $Proxy20.eroRandom(Unknown Source)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.command.PixivEroCommand$getEroArtWorkInfos$1.invoke(PixivEroCommand.kt:39)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.command.PixivEroCommand$getEroArtWorkInfos$1.invoke(PixivEroCommand.kt:39)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivUtilsKt$useMappers$1.invoke(PixivUtils.kt:109)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivUtilsKt$useMappers$1.invoke(PixivUtils.kt:102)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivHelperPlugin.useSession$helper(PixivHelperPlugin.kt:28)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivUtilsKt.useMappers(PixivUtils.kt:102)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.command.PixivEroCommand.getEroArtWorkInfos(PixivEroCommand.kt:39)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.command.PixivEroCommand.access$getEroArtWorkInfos(PixivEroCommand.kt:12)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.command.PixivEroCommand$ero$2.invokeSuspend(PixivEroCommand.kt:70)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.command.PixivEroCommand$ero$2.invoke(Unknown Source:8)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.command.PixivEroCommand$ero$2.invoke(Unknown Source:4)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivUtilsKt$sendIllust$6.invokeSuspend(PixivUtils.kt:81)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivUtilsKt$sendIllust$6.invoke(Unknown Source:8)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivUtilsKt$sendIllust$6.invoke(Unknown Source:4)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivUtilsKt.sendIllust(PixivUtils.kt:56)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivUtilsKt.sendIllust(PixivUtils.kt:80)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.command.PixivEroCommand.ero(PixivEroCommand.kt:60)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at java.lang.reflect.Method.invoke(Native Method)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlin.reflect.jvm.internal.KCallableImpl.callDefaultMethod$kotlin_reflection(KCallableImpl.kt:159)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlin.reflect.full.KCallables.callSuspendBy(KCallables.kt:73)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invokeSuspend(CommandReflector.kt:294)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(Unknown Source:19)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(Unknown Source:6)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call$suspendImpl(CommandSignature.kt:88)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call(Unknown Source:0)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.internal.command.CommandManagerImplKt.executeCommandImpl(CommandManagerImpl.kt:161)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.command.CommandManager.executeCommand(CommandManager.kt:130)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.command.CommandManager$INSTANCE.executeCommand(Unknown Source:2)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.command.CommandManager.executeCommand$default(CommandManager.kt:125)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.plugins.chat.command.PluginMain.handleCommand(PluginMain.kt:86)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.plugins.chat.command.PluginMain$onEnable$2$1.invokeSuspend(PluginMain.kt:69)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[]]>
<font color="#28BB28">[INFO]</font><![CDATA[PixivHelper:Group(.....)#CacheTask start]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): xyz.cssxsh.mirai.plugin.dao.ArtWorkInfoMapper.eroRandom]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:235)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:53)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at org.apache.ibatis.binding.MapperProxy.lambda$cachedInvoker$0$MapperProxy(MapperProxy.java:115)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at org.apache.ibatis.binding.-$$Lambda$MapperProxy$T5NSXZXOQZhFD1r-0a3flqx709Y.apply(Unknown Source:6)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1716)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at org.apache.ibatis.binding.MapperProxy.cachedInvoker(MapperProxy.java:102)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at java.lang.reflect.Proxy.invoke(Proxy.java:1006)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at $Proxy20.eroRandom(Unknown Source)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.command.PixivEroCommand$getEroArtWorkInfos$1.invoke(PixivEroCommand.kt:39)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.command.PixivEroCommand$getEroArtWorkInfos$1.invoke(PixivEroCommand.kt:39)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivUtilsKt$useMappers$1.invoke(PixivUtils.kt:109)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivUtilsKt$useMappers$1.invoke(PixivUtils.kt:102)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivHelperPlugin.useSession$helper(PixivHelperPlugin.kt:28)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivUtilsKt.useMappers(PixivUtils.kt:102)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.command.PixivEroCommand.getEroArtWorkInfos(PixivEroCommand.kt:39)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.command.PixivEroCommand.access$getEroArtWorkInfos(PixivEroCommand.kt:12)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.command.PixivEroCommand$ero$2.invokeSuspend(PixivEroCommand.kt:70)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.command.PixivEroCommand$ero$2.invoke(Unknown Source:8)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.command.PixivEroCommand$ero$2.invoke(Unknown Source:4)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivUtilsKt$sendIllust$6.invokeSuspend(PixivUtils.kt:81)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivUtilsKt$sendIllust$6.invoke(Unknown Source:8)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivUtilsKt$sendIllust$6.invoke(Unknown Source:4)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivUtilsKt.sendIllust(PixivUtils.kt:56)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.PixivUtilsKt.sendIllust(PixivUtils.kt:80)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at xyz.cssxsh.mirai.plugin.command.PixivEroCommand.ero(PixivEroCommand.kt:60)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at java.lang.reflect.Method.invoke(Native Method)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlin.reflect.jvm.internal.KCallableImpl.callDefaultMethod$kotlin_reflection(KCallableImpl.kt:159)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlin.reflect.full.KCallables.callSuspendBy(KCallables.kt:73)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invokeSuspend(CommandReflector.kt:294)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(Unknown Source:19)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(Unknown Source:6)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call$suspendImpl(CommandSignature.kt:88)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call(Unknown Source:0)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.internal.command.CommandManagerImplKt.executeCommandImpl(CommandManagerImpl.kt:161)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.command.CommandManager.executeCommand(CommandManager.kt:130)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.command.CommandManager$INSTANCE.executeCommand(Unknown Source:2)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.command.CommandManager.executeCommand$default(CommandManager.kt:125)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.plugins.chat.command.PluginMain.handleCommand(PluginMain.kt:86)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at net.mamoe.mirai.console.plugins.chat.command.PluginMain$onEnable$2$1.invokeSuspend(PluginMain.kt:69)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)]]>
<font color="#DD1C1A">[ERROR]</font><![CDATA[]]>`
同时聊天消息报错
`读取色图失败, Invalid bound statement (not found): xyz.cssxsh.mirai.plugin.dao.ArtWorkInfoMapper.eroRandom

另外登录(使用过新浪微博登录和token刷新),搜索画师名字是没有问题的

请求添加task cache指令

用于每日定时更新本地图库或数据库,省去每日重复输入指令。
支持tag最好,可以自定义tag最好。

对`R18禁止!`的一些建议

有时候机器人准备发送R18图片就会把图片替换为标题文字,这样也可以防止机器人被封

但是,为什么不能发送另一张图片呢?

比如发送涩图,如果准备发送的是R18就换一张

[Improvement] Enhancements to sending mode (Theoretically let bot be safer)

单张图片发送模式:

1、默认为forward而不是normal理论上来说应该会减少封号几率,r18图片虽然过滤了还是会有很多危险的大尺度导致封号。
2、群聊forward模式,将转发消息里的对象随机为机器人所在的某个群(非触发色图的本群)群员,而不是一直都是发送指令的人。还是理论上来说,应该会让群和自己、bot都更加安全。

最简化图片信息:

1、可以设置只转发图片,没有任何其他相关信息。加上转发的所指对象是非本群的群员,应该可以伪装成自己是无辜的(表示全都是从其它群那里收集的!),或者自己不是机器人。

以上思路供参考,可以被证伪那就最好不过啦~

[Performance] The delay of sending images

描述:

经过初步测试,导致这个问题的原因应该和【服务器占用】和【数据库处理效率】有关:

如正在缓存图片时发送指令没有反应的;
使用boom或者同时多人连续发送ero时延迟十分高;

然而我的2h4g服务器测试过过sqlite和mysql,效果都不尽人意,即使占用没有拉满:
有点不应该,mysql的处理速度应该更快才对

单色图延迟

直接描述:发送ero没有反应,过了几分钟或更长时间,bot会把漏下的全发给你。

合成转发消息延迟

不知为何,一旦我使用boom(随机)指令(标准是默认的16张)
bot一定要等十几分钟到一个小时不等(/boom 2 3分钟才发给我)才会转发给你。越少boom越快

总结:

事实上并没有准确的【吞指令】一说,只要延迟够高,就相当于吞了。
多指令--多图片并发 的时候,bot处理会非常非常的慢;同时有可能直接摆烂一个小时。
我其实在本服务器上用过其他bot的色图插件,连续处理5张合并转发的色图只需要3s左右,效率还是很高的。

怎么登录

没了账号密码登录的命令,cookie登录要把json文件放在哪里

关于在群聊中使用指令无法正常输出的一些问题

  • 1. 问题描述:

我通过登陆了QQ机器人以及Pixiv账号之后只能在私聊模式下进行一些交互操作,但是在群聊模式的时候只能在控制台接收到使用指令之后的结果,但是并不能在群聊里面展示出来;我经过查阅您的插件使用的详细说明之后(Mirai论坛发布贴)发现您对于在群聊模式下使用机器人的描述有:“群聊模式使用默认账号”,请问这个默认账号具体如何进行使用,具体如何进行操作?如何在群聊模式和饲料模式进行切换操作?(顺带一提,只有/help指令能够在群聊中输出对应的结果,其余的指令均只能输出到服务器控制台上)

/cache recommended后W/pixiv-helper: Pixiv Download 错误

2021-08-14 23:45:56 V/Bot.*: BlackBird(*) -> /cache recommended
2021-08-14 23:45:56 I/pixiv-helper: PixivHelper:Friend(*)#CacheTask start
2021-08-14 23:45:56 V/Bot.*: Event: FriendMessagePreSendEvent(target=Friend(602198790), message=[mirai:quote:[9552],[-455434345]]任务RECOMMENDED已添加)
2021-08-14 23:45:56 V/Bot.*: Friend(*) <- [mirai:quote:[9552],[-455434345]]任务RECOMMENDED已添加
2021-08-14 23:45:56 V/Bot.*: Event: FriendMessagePostSendEvent(target=Friend(602198790), message=[mirai:quote:[9552],[-455434345]]任务RECOMMENDED已添加, exception=null, receipt=net.mamoe.mirai.message.MessageReceipt@60a484f7)
2021-08-14 23:46:14 W/pixiv-helper: Pixiv Download 错误, 已忽略: io.ktor.network.sockets.SocketTimeoutException: Socket timeout has expired [url=https://i.pximg.net/img-original/img/2021/06/10/18/31/13/90457937_p0.png, socket_timeout=10000] ms
2021-08-14 23:46:14 W/pixiv-helper: Pixiv Download 错误, 已忽略: io.ktor.network.sockets.SocketTimeoutException: Socket timeout has expired [url=https://i.pximg.net/img-original/img/2021/06/10/18/31/13/90457937_p0.png, socket_timeout=10000] ms
2021-08-14 23:46:14 W/pixiv-helper: Pixiv Download 错误, 已忽略: io.ktor.network.sockets.SocketTimeoutException: Socket timeout has expired [url=https://i.pximg.net/img-original/img/2021/06/10/18/31/13/90457937_p0.png, socket_timeout=10000] ms
2021-08-14 23:46:14 W/pixiv-helper: Pixiv Download 错误, 已忽略: io.ktor.network.sockets.SocketTimeoutException: Socket timeout has expired [url=https://i.pximg.net/img-original/img/2021/06/10/18/31/13/90457937_p0.png, socket_timeout=10000] ms
2021-08-14 23:46:14 W/pixiv-helper: Pixiv Download 错误, 已忽略: io.ktor.network.sockets.SocketTimeoutException: Socket timeout has expired [url=https://i.pximg.net/img-original/img/2021/06/10/18/31/13/90457937_p0.png, socket_timeout=10000] ms
2021-08-14 23:46:14 W/pixiv-helper: Pixiv Download 错误, 已忽略: io.ktor.network.sockets.SocketTimeoutException: Socket timeout has expired [url=https://i.pximg.net/img-original/img/2021/06/10/18/31/13/90457937_p0.png, socket_timeout=10000] ms

java.lang.ClassCastException: class io.ktor.client.call.TypeInfo

2022-01-15 14:18:50 E/pixiv-helper: Exception in coroutine Plugin xyz.cssxsh.mirai.plugin.pixiv-helper of pixiv-helper
java.lang.ClassCastException: class io.ktor.client.call.TypeInfo cannot be cast to class io.ktor.util.reflect.TypeInfo (io.ktor.client.call.TypeInfo is in unnamed module of loader 'app'; io.ktor.util.reflect.TypeInfo is in unnamed module of loader net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoader @51d9b06c)
        at io.ktor.client.features.json.JsonSerializer$DefaultImpls.read(JsonSerializer.kt:31)
        at io.ktor.client.features.json.serializer.KotlinxSerializer.read(KotlinxSerializer.kt:20)
        at io.ktor.client.features.json.JsonFeature$Feature$install$2.invokeSuspend(JsonFeature.kt:161)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

Linux无问题

百度云账号认证链接缺少client_id

不行哎,认证的时候出现问题,
/backup auth后出现的链接打开就是下面的错误,NETDISKOAUTHCONFIG.YML已经填了,应用也创建了。

您遇到了错误!
错误代码:invalid_request
错误信息:The request is missing a required parameter
详细描述:缺少必要参数,请开发者参照 Web应用换取Access Token或JS应用换取Access Token说明文档中指明的必传参数。

关于新版本M-3 新版release无法加载

2021-07-06 15:23:52 E/pixiv-helper: java.lang.ExceptionInInitializerError
java.lang.ExceptionInInitializerError
at xyz.cssxsh.mirai.plugin.PixivHelperPlugin.onEnable(PixivHelperPlugin.kt:34)
at net.mamoe.mirai.console.internal.plugin.JvmPluginInternal.internalOnEnable$mirai_console(JvmPluginInternal.kt:113)
at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.enable(BuiltInJvmPluginLoaderImpl.kt:119)
at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.enable(JvmPluginLoader.kt)
at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.enable(JvmPluginLoader.kt:36)
at net.mamoe.mirai.console.plugin.PluginManager.enablePlugin(PluginManager.kt:129)
at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.enableAllLoadedPlugins$mirai_console(PluginManagerImpl.kt:172)
at net.mamoe.mirai.console.internal.MiraiConsoleImplementationBridge.doStart$mirai_console(MiraiConsoleImplementationBridge.kt:208)
at net.mamoe.mirai.console.MiraiConsoleImplementation$Companion.start(MiraiConsoleImplementation.kt:276)
at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon(MiraiConsoleTerminalLoader.kt:152)
at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon$default(MiraiConsoleTerminalLoader.kt:151)
at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.main(MiraiConsoleTerminalLoader.kt:47)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at org.itxtech.mcl.Utility.bootMirai(Utility.java:76)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:138)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:226)
at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1692)
at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:1013)
at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:109)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:412)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3578)
at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:107)
at org.mozilla.javascript.ArrowFunction.call(ArrowFunction.java:43)
at org.mozilla.javascript.InterfaceAdapter.invokeImpl(InterfaceAdapter.java:155)
at org.mozilla.javascript.InterfaceAdapter.lambda$invoke$0(InterfaceAdapter.java:105)
at org.mozilla.javascript.Context.call(Context.java:554)
at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:522)
at org.mozilla.javascript.InterfaceAdapter.invoke(InterfaceAdapter.java:105)
at org.mozilla.javascript.jdk18.VMBridge_jdk18$1.invoke(VMBridge_jdk18.java:126)
at jdk.proxy1/jdk.proxy1.$Proxy4.run(Unknown Source)
at org.itxtech.mcl.script.ScriptManager.phaseBoot(ScriptManager.java:101)
at org.itxtech.mcl.Loader.start(Loader.java:129)
at org.itxtech.mcl.Loader.main(Loader.java:53)
Caused by: kotlinx.serialization.SerializationException: Serializer for class 'WorkContentType' is not found.
Mark the class as @serializable or provide the serializer explicitly.
at kotlinx.serialization.internal.Platform_commonKt.serializerNotRegistered(Platform.common.kt:91)
at kotlinx.serialization.SerializersKt__SerializersKt.serializer(Serializers.kt:147)
at kotlinx.serialization.SerializersKt.serializer(Unknown Source)
at net.mamoe.mirai.console.internal.data.SerializerHelperKt.serializerMirai$serializerByKTypeImpl(serializerHelper.kt:51)
at net.mamoe.mirai.console.internal.data.SerializerHelperKt.serializerMirai(serializerHelper.kt:87)
at net.mamoe.mirai.console.internal.data.SerializerHelperKt.serializerMirai$serializerByKTypeImpl(serializerHelper.kt:54)
at net.mamoe.mirai.console.internal.data.SerializerHelperKt.serializerMirai(serializerHelper.kt:87)
at net.mamoe.mirai.console.internal.data.ValueFromKTypeImplKt.valueFromKTypeImpl(valueFromKTypeImpl.kt:107)
at net.mamoe.mirai.console.data.PluginDataKt.valueFromKType(PluginData.kt:246)
at xyz.cssxsh.mirai.plugin.data.PixivHelperSettings.(PixivHelperSettings.kt:108)
... 40 more

通过 转发消息 回复 搜索结果

Bug: 在使用ascii2d搜图时,检索结果中相似度会显示为NaN%;
建议: 1、搜图结果往往需要手动验证,如果能加入搜索结果的缩略图就太好了;
2、我发现其他群友有一种搜图机器人,它可以把搜图结果合并成一个转发消息集再发到群里,目前的机器人因为搜图时发送大量文字和链接经常被风控;
3、如果使用了2中的搜图方式,那么是否可以把ascii2d搜图和saucenao搜图整合进一个指令一起搜索)

JobCancellationException

您好,反馈两个问题,
第一个是在使用gkd指令的时候有时会出现:

kotlinx.coroutines.JobCancellationException: Parent job is Completed; job=JobImpl{Completed}@18c1cbc

貌似是在缓存任务进行时会出现的问题
第二个是有时在群聊内使用uid随机发送画师作品时会出现:

java.util.NoSuchElementException: Collection is empty.

这个是随机出现的,没有发现规律

登陆失败

使用微博扫码登陆时失败

2021-09-23 20:53:16 W/pixiv-helper: 消息回复失败
kotlinx.serialization.json.internal.JsonDecodingException: Unexpected JSON token at offset 6: Expected EOF, but had : instead
JSON input: https://accounts.pixiv.net/gigya-aut.....
        at kotlinx.serialization.json.internal.JsonExceptionsKt.JsonDecodingException(JsonExceptions.kt:24)
        at kotlinx.serialization.json.internal.JsonExceptionsKt.JsonDecodingException(JsonExceptions.kt:32)
        at kotlinx.serialization.json.internal.JsonLexer.fail(JsonLexer.kt:493)
        at kotlinx.serialization.json.internal.JsonLexer.fail$default(JsonLexer.kt:492)
        at kotlinx.serialization.json.internal.JsonLexer.expectEof(JsonLexer.kt:130)
        at kotlinx.serialization.json.Json.decodeFromString(Json.kt:101)
        at xyz.cssxsh.pixiv.OtherAuthKt$sina$2.invokeSuspend(OtherAuth.kt:168)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
        at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191)
        at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147)
        at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15)
        at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191)
        at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147)
        at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15)
        at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191)
        at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147)
        at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15)
        at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

使用/pixiv cookie登录时显示消息回复失败

CPU:

Architecture:                    aarch64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
CPU(s):                          4
On-line CPU(s) list:             0-3
Thread(s) per core:              1
Core(s) per socket:              4
Socket(s):                       1
Vendor ID:                       ARM
Model:                           3
Model name:                      Cortex-A72

OS:Ubuntu 20.04.3 LTS

各组件版本:

openjdk version "16.0.1" 2021-04-20
OpenJDK Runtime Environment (build 16.0.1+9-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 16.0.1+9-Ubuntu-120.04, mixed mode, sharing)

"net.mamoe:mirai-console" v2.7.1-dev-1
"net.mamoe:mirai-console-terminal" v2.7.1-dev-1
"net.mamoe:mirai-core-all" v2.7.1-dev-1
"org.itxtech:mcl-addon" v1.2.2
"net.mamoe:chat-command" v0.5.1
pixiv-helper v1.5.1

问题复现:
安装好插件,浏览器注销pixiv,清除浏览器cookie,重新登录,导出cookie放置到工作目录,在私聊环境执行/pixiv cookie,提示消息回复失败。再尝试/cache的时候,会显示AuthException,所以应该是没有登录成功。控制台内建指令和B站插件的指令都能正常使用,所以应该不是mirai的问题。

控制台日志:

2021-09-19 02:45:29 V/Bot.***: ***(***) -> /pixiv cookie
2021-09-19 02:45:29 V/Bot.***: Event: FriendMessagePreSendEvent(target=Friend(***), message=加载 cookie 从 .../mcl/cookie.json)
2021-09-19 02:45:30 V/Bot.***: Friend(***) <- 加载 cookie 从 .../mcl/cookie.json
2021-09-19 02:45:30 V/Bot.***: Event: FriendMessagePostSendEvent(target=Friend(***), message=加载 cookie 从 .../mcl/cookie.json, exception=null, receipt=net.mamoe.mirai.message.MessageReceipt@19ac722f)
2021-09-19 02:45:33 W/pixiv-helper: 消息回复失败
java.lang.IllegalStateException: https://accounts.pixiv.net/login?return_to=%2Faccount-selected To https://accounts.pixiv.net/login?return_to=%2Faccount-selected
        at xyz.cssxsh.pixiv.OtherAuthKt.redirect(OtherAuth.kt:44)
        at xyz.cssxsh.pixiv.OtherAuthKt.access$redirect(OtherAuth.kt:1)
        at xyz.cssxsh.pixiv.OtherAuthKt$redirect$1.invokeSuspend(OtherAuth.kt)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
        at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

2021-09-19 02:45:34 V/Bot.***: Event: FriendMessagePreSendEvent(target=Friend(***), message=[mirai:quote:[15164],[1561273249]]java.lang.IllegalStateException: https://accounts.pixiv.net/login?return_to=%2Faccount-selected To https://accounts.pixiv.net/login?return_to=%2Faccount-selected)
2021-09-19 02:45:34 V/Bot.***: Friend(***) <- [mirai:quote:[15164],[1561273249]]java.lang.IllegalStateException: https://accounts.pixiv.net/login?return_to=%2Faccount-selected To https://accounts.pixiv.net/login?return_to=%2Faccount-selected
2021-09-19 02:45:34 V/Bot.***: Event: FriendMessagePostSendEvent(target=Friend(***), message=[mirai:quote:[15164],[1561273249]]java.lang.IllegalStateException: https://accounts.pixiv.net/login?return_to=%2Faccount-selected To https://accounts.pixiv.net/login?return_to=%2Faccount-selected, exception=null, receipt=net.mamoe.mirai.message.MessageReceipt@5c0728bf)

网络日志:

�[0m2021-09-19 02:45:29 V/Net ***: Send: MessageSvc.PbSendMsg(MessageSvc.PbSendMsg)�[0m
�[0m2021-09-19 02:45:30 V/Net ***: Recv: MessageSvc.PbSendMsg�[0m
�[0m2021-09-19 02:45:34 V/Net ***: Send: MessageSvc.PbSendMsg(MessageSvc.PbSendMsg)�[0m
�[0m2021-09-19 02:45:34 V/Net ***: Recv: MessageSvc.PbSendMsg�[0m
�[0m2021-09-19 02:46:21 V/Net ***: Send: MessageSvc.PbSendMsg(MessageSvc.PbSendMsg)�[0m
�[0m2021-09-19 02:46:21 V/Net ***: Recv: MessageSvc.PbSendMsg�[0m

升级后出错

安装了1.9.5版出错,后回退1.9.0也出错了。(把依赖的也一起升级了)

2022-05-01 13:11:34 E/pixiv-helper: java.lang.NoClassDefFoundError: xyz/cssxsh/mirai/plugin/PixivConfigKt
                                                                                           Fjava.lang.NoClassDefFoundError: xyz/cssxsh/mirai/plugin/PixivConfigKt
                                                                  z     at pixiv-helper-1.9.0-RC.mirai.jar//xyz.cssxsh.mirai.plugin.data.PixivHelperSettings.<clinit>(PixivHelperSettings.kt:50)
  N     at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method)
                                                                                    P   at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1155)
                                                                       s        at java.base/jdk.internal.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:42)
   b    at java.base/jdk.internal.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:186)
         L      at java.base/java.lang.reflect.Field.acquireFieldAccessor(Field.java:1126)
                                                                                          H   at java.base/java.lang.reflect.Field.getFieldAccessor(Field.java:1107)
                                                                     :  at java.base/java.lang.reflect.Field.get(Field.java:419)
                                 [      at kotlin.reflect.jvm.internal.KClassImpl$Data$objectInstance$2.invoke(KClassImpl.kt:117)
                                  \     at kotlin.reflect.jvm.internal.ReflectProperties$LazyVal.invoke(ReflectProperties.java:63)
                                   Z    at kotlin.reflect.jvm.internal.ReflectProperties$Val.getValue(ReflectProperties.java:32)
                                 U      at kotlin.reflect.jvm.internal.KClassImpl$Data.getObjectInstance(KClassImpl.kt:108)
                            P   at kotlin.reflect.jvm.internal.KClassImpl.getObjectInstance(KClassImpl.kt:242)
                at pixiv-helper-1.9.0-RC.mirai.jar//xyz.cssxsh.mirai.plugin.data.PixivHelperConfig$Companion$configs$2.invoke(PixivHelperConfig.kt:9)
                                                        at pixiv-helper-1.9.0-RC.mirai.jar//xyz.cssxsh.mirai.plugin.data.PixivHelperConfig$Companion$configs$2.invoke(PixivHelperConfig.kt:8)
                                                                                              at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
                                                        at pixiv-helper-1.9.0-RC.mirai.jar//xyz.cssxsh.mirai.plugin.data.PixivHelperConfig$Companion.getConfigs(PixivHelperConfig.kt:8)
                                                                                              at pixiv-helper-1.9.0-RC.mirai.jar//xyz.cssxsh.mirai.plugin.data.PixivHelperConfig$Companion.iterator(PixivHelperConfig.kt:20)
                              q at pixiv-helper-1.9.0-RC.mirai.jar//xyz.cssxsh.mirai.plugin.PixivHelperPlugin.onEnable(PixivHelperPlugin.kt:33)
                                                w       at net.mamoe.mirai.console.internal.plugin.JvmPluginInternal.internalOnEnable$mirai_console(JvmPluginInternal.kt:117)
                                                                              q at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.enable(BuiltInJvmPluginLoaderImpl.kt:258)
 p      at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.enable(BuiltInJvmPluginLoaderImpl.kt:35)
                       Z        at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.enable(JvmPluginLoader.kt)
                         ]      at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.enable(JvmPluginLoader.kt:50)
                            T   at net.mamoe.mirai.console.plugin.PluginManager.enablePlugin(PluginManager.kt:173)
                   }    at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.enableAllLoadedPlugins$mirai_console(PluginManagerImpl.kt:181)
                                                        at net.mamoe.mirai.console.internal.MiraiConsoleImplementationBridge.doStart$mirai_console(MiraiConsoleImplementationBridge.kt:224)
                                                                                            j at net.mamoe.mirai.console.MiraiConsoleImplementation$Companion.start(MiraiConsoleImplementation.kt:444)
        q       at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon(MiraiConsoleTerminalLoader.kt:159)
                                y       at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon$default(MiraiConsoleTerminalLoader.kt:158)
                                                                g       at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.main(MiraiConsoleTerminalLoader.kt:46)
                                                                              S at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                                                  e     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
                                                                            m   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                                                                                            ? at java.base/java.lang.reflect.Method.invoke(Method.java:567)
                                                            7   at org.itxtech.mcl.Utility.bootMirai(Utility.java:76)
                      S at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          e     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
                    m   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                                    ?   at java.base/java.lang.reflect.Method.invoke(Method.java:567)
      @ at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:138)
                                                                      L at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:226)
                                                   L    at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1692)
                                   H    at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:1013)
               R        at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:109)
         M      at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:412)
                                                                                           L  at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3578)
                                                                         R      at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:107)
                                                                 E      at org.mozilla.javascript.ArrowFunction.call(ArrowFunction.java:43)
                                            R   at org.mozilla.javascript.InterfaceAdapter.invokeImpl(InterfaceAdapter.java:155)
                                 W      at org.mozilla.javascript.InterfaceAdapter.lambda$invoke$0(InterfaceAdapter.java:105)
                              : at org.mozilla.javascript.Context.call(Context.java:554)
                                                                                        H     at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:522)
                                                                     N  at org.mozilla.javascript.InterfaceAdapter.invoke(InterfaceAdapter.java:105)
                                                     R  at org.mozilla.javascript.jdk18.VMBridge_jdk18$1.invoke(VMBridge_jdk18.java:126)
                                         6      at jdk.proxy1/jdk.proxy1.$Proxy4.run(Unknown Source)
     K  at org.itxtech.mcl.script.ScriptManager.phaseBoot(ScriptManager.java:101)
                                                                                 2      at org.itxtech.mcl.Loader.start(Loader.java:129)
                                         0      at org.itxtech.mcl.Loader.main(Loader.java:53)
                                                                                              SCaused by: java.lang.ClassNotFoundException: xyz.cssxsh.mirai.plugin.PixivConfigKt
                                                                                  I     at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:433)
                                                                        at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoaderN.resolvePluginPublicClass$mirai_console(JvmPluginClassLoader.kt:209)
                at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoaderN.resolvePluginSharedLibAndPluginClass$mirai_console(JvmPluginClassLoader.kt:200)
                                                                 i      at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoaderN.loadClass(JvmPluginClassLoader.kt:231)
        ... 59 more

再一次进行初次安装后没法生成config文件

因为一些原因,之前旧版的config和data都被我删除了
之后再想安装最新的,但是报错,好像无法生成config?

2022-03-09 16:30:01 E/pixiv-helper: java.lang.NoClassDefFoundError: xyz/cssxsh/mirai/plugin/PixivConfigKt
java.lang.NoClassDefFoundError: xyz/cssxsh/mirai/plugin/PixivConfigKt
        at pixiv-helper-1.9.4.mirai.jar//xyz.cssxsh.mirai.plugin.data.PixivHelperSettings.<clinit>(PixivHelperSettings.kt:50)
        at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method)
        at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1155)
        at java.base/jdk.internal.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:42)
        at java.base/jdk.internal.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:186)
        at java.base/java.lang.reflect.Field.acquireFieldAccessor(Field.java:1126)
        at java.base/java.lang.reflect.Field.getFieldAccessor(Field.java:1107)
        at java.base/java.lang.reflect.Field.get(Field.java:419)
        at kotlin.reflect.jvm.internal.KClassImpl$Data$objectInstance$2.invoke(KClassImpl.kt:117)
        at kotlin.reflect.jvm.internal.ReflectProperties$LazyVal.invoke(ReflectProperties.java:63)
        at kotlin.reflect.jvm.internal.ReflectProperties$Val.getValue(ReflectProperties.java:32)
        at kotlin.reflect.jvm.internal.KClassImpl$Data.getObjectInstance(KClassImpl.kt:108)
        at kotlin.reflect.jvm.internal.KClassImpl.getObjectInstance(KClassImpl.kt:242)
        at pixiv-helper-1.9.4.mirai.jar//xyz.cssxsh.mirai.plugin.data.PixivHelperConfig$Companion$configs$2.invoke(PixivHelperConfig.kt:9)
        at pixiv-helper-1.9.4.mirai.jar//xyz.cssxsh.mirai.plugin.data.PixivHelperConfig$Companion$configs$2.invoke(PixivHelperConfig.kt:8)
        at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
        at pixiv-helper-1.9.4.mirai.jar//xyz.cssxsh.mirai.plugin.data.PixivHelperConfig$Companion.getConfigs(PixivHelperConfig.kt:8)
        at pixiv-helper-1.9.4.mirai.jar//xyz.cssxsh.mirai.plugin.data.PixivHelperConfig$Companion.iterator(PixivHelperConfig.kt:20)
        at pixiv-helper-1.9.4.mirai.jar//xyz.cssxsh.mirai.plugin.PixivHelperPlugin.onEnable(PixivHelperPlugin.kt:31)
        at net.mamoe.mirai.console.internal.plugin.JvmPluginInternal.internalOnEnable$mirai_console(JvmPluginInternal.kt:117)
        at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.enable(BuiltInJvmPluginLoaderImpl.kt:258)
        at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.enable(BuiltInJvmPluginLoaderImpl.kt:35)
        at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.enable(JvmPluginLoader.kt)
        at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.enable(JvmPluginLoader.kt:50)
        at net.mamoe.mirai.console.plugin.PluginManager.enablePlugin(PluginManager.kt:173)
        at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.enableAllLoadedPlugins$mirai_console(PluginManagerImpl.kt:181)
        at net.mamoe.mirai.console.internal.MiraiConsoleImplementationBridge.doStart$mirai_console(MiraiConsoleImplementationBridge.kt:224)
        at net.mamoe.mirai.console.MiraiConsoleImplementation$Companion.start(MiraiConsoleImplementation.kt:444)
        at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon(MiraiConsoleTerminalLoader.kt:159)
        at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon$default(MiraiConsoleTerminalLoader.kt:158)
        at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.main(MiraiConsoleTerminalLoader.kt:46)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:567)
        at org.itxtech.mcl.Utility.bootMirai(Utility.java:76)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:567)
        at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:138)
        at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:226)
        at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1692)
        at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:1013)
        at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:109)
        at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:412)
        at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3578)
        at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:107)
        at org.mozilla.javascript.ArrowFunction.call(ArrowFunction.java:43)
        at org.mozilla.javascript.InterfaceAdapter.invokeImpl(InterfaceAdapter.java:155)
        at org.mozilla.javascript.InterfaceAdapter.lambda$invoke$0(InterfaceAdapter.java:105)
        at org.mozilla.javascript.Context.call(Context.java:554)
        at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:522)
        at org.mozilla.javascript.InterfaceAdapter.invoke(InterfaceAdapter.java:105)
        at org.mozilla.javascript.jdk18.VMBridge_jdk18$1.invoke(VMBridge_jdk18.java:126)
        at jdk.proxy1/jdk.proxy1.$Proxy4.run(Unknown Source)
        at org.itxtech.mcl.script.ScriptManager.phaseBoot(ScriptManager.java:101)
        at org.itxtech.mcl.Loader.start(Loader.java:129)
        at org.itxtech.mcl.Loader.main(Loader.java:53)
Caused by: java.lang.ClassNotFoundException: xyz.cssxsh.mirai.plugin.PixivConfigKt
        at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:433)
        at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoaderN.resolvePluginPublicClass$mirai_console(JvmPluginClassLoader.kt:209)
        at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoaderN.resolvePluginSharedLibAndPluginClass$mirai_console(JvmPluginClassLoader.kt:200)
        at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoaderN.loadClass(JvmPluginClassLoader.kt:231)
        ... 59 more

启动报错

�[92m2022-04-25 09:23:16 I/main: Starting mirai-console...�[0m�[m
�[92m2022-04-25 09:23:16 I/main: Backend: version 2.11.0-M1, built on 2022-03-08 20:34:54.�[0m�[m
�[92m2022-04-25 09:23:16 I/main: Frontend Terminal: version 2.11.0-M1, provided by Mamoe Technologies�[0m�[m
�[92m2022-04-25 09:23:16 I/main: Welcome to visit https://mirai.mamoe.net/�[0m�[m
�[91m2022-04-25 09:23:17 W/stderr: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".�[0m�[m
�[91m2022-04-25 09:23:17 W/stderr: SLF4J: Defaulting to no-operation (NOP) logger implementation�[0m�[m
�[91m2022-04-25 09:23:17 W/stderr: SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.�[0m�[m
�[91m2022-04-25 09:23:17 W/JvmPlugin[pixiv-helper-1.9.5.mirai.jar]: Linked class xyz.cssxsh.mirai.plugin.MiraiHibernate in mirai-hibernate-plugin-2.0.7.jar but plugin not depend on it.�[0m�[m
�[91m2022-04-25 09:23:17 W/JvmPlugin[pixiv-helper-1.9.5.mirai.jar]: Class loading logic may change in feature.�[0m�[m
�[92m2022-04-25 09:23:17 I/plugin: Successfully loaded plugin PatPat v2.0.1�[0m�[m
�[92m2022-04-25 09:23:17 I/plugin: Successfully loaded plugin Chat Command v0.5.0�[0m�[m
�[92m2022-04-25 09:23:17 I/plugin: Successfully loaded plugin net.mamoe.mirai-api-http v2.4.0�[0m�[m
�[92m2022-04-25 09:23:17 I/plugin: Successfully loaded plugin MCL Addon v1.2.2�[0m�[m
�[91m2022-04-25 09:23:17 W/mirai-hibernate-plugin: 未安装 mirai-slf4j-bridge.�[0m�[m
�[92m2022-04-25 09:23:17 I/plugin: Successfully loaded plugin mirai-hibernate-plugin v2.0.7�[0m�[m
�[92m2022-04-25 09:23:17 I/plugin: Successfully loaded plugin pixiv-helper v1.9.5�[0m�[m
�[92m2022-04-25 09:23:17 I/main: Prepared built-in commands: autoLogin, help, login, logout, permission, status, stop�[0m�[m
�[92m2022-04-25 09:23:17 I/PatPat: 检测到当前为Linux系统,将使用headless模式�[0m�[m
�[92m2022-04-25 09:23:17 I/PatPat: 缓存已自动清理�[0m�[m
�[92m2022-04-25 09:23:17 I/PatPat: 摸头插件已加载�[0m�[m
�[91m2022-04-25 09:23:17 W/net.mamoe.mirai-api-http: USING INITIAL KEY, please edit the key�[0m�[m
�[92m2022-04-25 09:23:17 I/Mirai HTTP API: ********************************************************�[0m�[m
�[92m2022-04-25 09:23:17 I/http adapter: >>> [http adapter] is listening at http://localhost:8080�[0m�[m
�[92m2022-04-25 09:23:17 I/Mirai HTTP API: Http api server is running with verifyKey: INITKEYPPSVUfvv�[0m�[m
�[92m2022-04-25 09:23:17 I/Mirai HTTP API: adaptors: [http]�[0m�[m
�[92m2022-04-25 09:23:17 I/Mirai HTTP API: ********************************************************�[0m�[m
�[92m2022-04-25 09:23:17 I/MCL Addon: iTXTech MCL Version: 1.2.2-60c67fb�[0m�[m
�[91m2022-04-25 09:23:17 W/stderr: ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...�[0m�[m
�[91m2022-04-25 09:23:18 W/mirai-hibernate-plugin: Linked class com.typesafe.config.Config in mirai-api-http-2.4.0.jar but plugin not depend on it.�[0m�[m
�[91m2022-04-25 09:23:18 W/mirai-hibernate-plugin: Class loading logic may change in feature.�[0m�[m
�[91m2022-04-25 09:23:18 W/stderr: MLog initialization issue: slf4j found no binding or threatened to use its (dangerously silent) NOPLogger. We consider the slf4j library not found.�[0m�[m
�[92m2022-04-25 09:23:19 I/mirai-hibernate-plugin: Database jdbc:sqlite:file:///root/mirai/mcl/data/xyz.cssxsh.mirai.plugin.mirai-hibernate-plugin/hibernate.sqlite by SQLite JDBC.�[0m�[m
�[31m2022-04-25 09:23:19 E/pixiv-helper: java.lang.NoClassDefFoundError: xyz/cssxsh/mirai/plugin/PixivConfigKt
java.lang.NoClassDefFoundError: xyz/cssxsh/mirai/plugin/PixivConfigKt
at pixiv-helper-1.9.5.mirai.jar//xyz.cssxsh.mirai.plugin.data.PixivHelperSettings.(PixivHelperSettings.kt:50)
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method)
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1042)
at java.base/jdk.internal.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)
at java.base/jdk.internal.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:186)
at java.base/java.lang.reflect.Field.acquireFieldAccessor(Field.java:1105)
at java.base/java.lang.reflect.Field.getFieldAccessor(Field.java:1086)
at java.base/java.lang.reflect.Field.get(Field.java:418)
at kotlin.reflect.jvm.internal.KClassImpl$Data$objectInstance$2.invoke(KClassImpl.kt:117)
at kotlin.reflect.jvm.internal.ReflectProperties$LazyVal.invoke(ReflectProperties.java:63)
at kotlin.reflect.jvm.internal.ReflectProperties$Val.getValue(ReflectProperties.java:32)
at kotlin.reflect.jvm.internal.KClassImpl$Data.getObjectInstance(KClassImpl.kt:108)
at kotlin.reflect.jvm.internal.KClassImpl.getObjectInstance(KClassImpl.kt:242)
at pixiv-helper-1.9.5.mirai.jar//xyz.cssxsh.mirai.plugin.data.PixivHelperConfig$Companion$configs$2.invoke(PixivHelperConfig.kt:9)
at pixiv-helper-1.9.5.mirai.jar//xyz.cssxsh.mirai.plugin.data.PixivHelperConfig$Companion$configs$2.invoke(PixivHelperConfig.kt:8)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at pixiv-helper-1.9.5.mirai.jar//xyz.cssxsh.mirai.plugin.data.PixivHelperConfig$Companion.getConfigs(PixivHelperConfig.kt:8)
at pixiv-helper-1.9.5.mirai.jar//xyz.cssxsh.mirai.plugin.data.PixivHelperConfig$Companion.iterator(PixivHelperConfig.kt:20)
at pixiv-helper-1.9.5.mirai.jar//xyz.cssxsh.mirai.plugin.PixivHelperPlugin.onEnable(PixivHelperPlugin.kt:31)
at net.mamoe.mirai.console.internal.plugin.JvmPluginInternal.internalOnEnable$mirai_console(JvmPluginInternal.kt:117)
at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.enable(BuiltInJvmPluginLoaderImpl.kt:258)
at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.enable(BuiltInJvmPluginLoaderImpl.kt:35)
at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.enable(JvmPluginLoader.kt)
at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.enable(JvmPluginLoader.kt:50)
at net.mamoe.mirai.console.plugin.PluginManager.enablePlugin(PluginManager.kt:173)
at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.enableAllLoadedPlugins$mirai_console(PluginManagerImpl.kt:181)
at net.mamoe.mirai.console.internal.MiraiConsoleImplementationBridge.doStart$mirai_console(MiraiConsoleImplementationBridge.kt:224)
at net.mamoe.mirai.console.MiraiConsoleImplementation$Companion.start(MiraiConsoleImplementation.kt:444)
at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon(MiraiConsoleTerminalLoader.kt:159)
at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon$default(MiraiConsoleTerminalLoader.kt:158)
at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.main(MiraiConsoleTerminalLoader.kt:46)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.itxtech.mcl.Utility.bootMirai(Utility.java:83)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:138)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:226)
at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1692)
at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:1013)
at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:109)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:412)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3578)
at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:107)
at org.mozilla.javascript.ArrowFunction.call(ArrowFunction.java:43)
at org.mozilla.javascript.InterfaceAdapter.invokeImpl(InterfaceAdapter.java:155)
at org.mozilla.javascript.InterfaceAdapter.lambda$invoke$0(InterfaceAdapter.java:105)
at org.mozilla.javascript.Context.call(Context.java:554)
at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:522)
at org.mozilla.javascript.InterfaceAdapter.invoke(InterfaceAdapter.java:105)
at org.mozilla.javascript.jdk18.VMBridge_jdk18$1.invoke(VMBridge_jdk18.java:126)
at com.sun.proxy.$Proxy4.run(Unknown Source)
at org.itxtech.mcl.script.ScriptManager.phaseBoot(ScriptManager.java:106)
at org.itxtech.mcl.Loader.lambda$start$3(Loader.java:176)
at org.itxtech.mcl.Loader.tryCatching(Loader.java:145)
at org.itxtech.mcl.Loader.start(Loader.java:176)
at org.itxtech.mcl.Loader.main(Loader.java:68)
Caused by: java.lang.ClassNotFoundException: xyz.cssxsh.mirai.plugin.PixivConfigKt
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoaderN.resolvePluginPublicClass$mirai_console(JvmPluginClassLoader.kt:209)
at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoaderN.resolvePluginSharedLibAndPluginClass$mirai_console(JvmPluginClassLoader.kt:200)
at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoaderN.loadClass(JvmPluginClassLoader.kt:231)
... 61 more
�[0m�[m
�[92m2022-04-25 09:23:19 I/main: 6 plugin(s) enabled.�[0m�[m

不管执行什么指令都提示 "需要由 CommandSenderOnMessage 执行"

在控制台里输入:

> /ero
2021-07-30 15:22:42 W/console: 参数不匹配, 你是否想执行:
(/)ero    (需要由 CommandSenderOnMessage 执行)

> /cache recommended
2021-07-30 15:23:49 W/console: 参数不匹配, 你是否想执行:
/cache recommended    (需要由 CommandSenderOnMessage 执行)

[Question]: java.time.zone.ZoneRulesException: Unknown time-zone ID: Aisa/Shanghai

你好c君!受个人能力所限,抱歉占用你几分钟的时间,希望可以指正我配置mysql时哪一步出错了,元宵快乐!

环境:

Ubuntu: 20.0.4
Pixiv-helper: v1.9.1
Mirai Hibernate: v2.0.4
Character:

image
数据库版本:
image

问题描述:

我想要:
将sqlite数据库替换成mariadb(mysql)
我所做的操作:
1、 将README给出的mysql配置示例复制到了pixiv helper的配置下,并修改了username和password:
image
2、 我并没有更改Mirai Hibernate插件的config,它还是老样子(我摆烂尝试过,失败)
image
我自己的理解:
这两个配置文件冲突了。

加载完插件后(登陆前)报错:

是的,登录之后不会报错,但是无法缓存(机器人回复xxx处理完成:0)。

ERROR SqlExceptionHelper Connections could not be acquired from the underlying database!
2022-02-15 00:50:36 E/pixiv-helper: Exception in coroutine Plugin xyz.cssxsh.mirai.plugin.pixiv-helper of pixiv-helper
org.hibernate.exception.GenericJDBCException: Unable to acquire JDBC Connection
	at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42)
	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113)
	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99)
	at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.acquireConnectionIfNeeded(LogicalConnectionManagedImpl.java:111)
	at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.getPhysicalConnection(LogicalConnectionManagedImpl.java:138)
	at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.getConnectionForTransactionManagement(LogicalConnectionManagedImpl.java:276)
	at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.begin(LogicalConnectionManagedImpl.java:284)
	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.begin(JdbcResourceLocalTransactionCoordinatorImpl.java:246)
	at org.hibernate.engine.transaction.internal.TransactionImpl.begin(TransactionImpl.java:83)
	at xyz.cssxsh.mirai.plugin.model.PixivHibernateLoader.create(PixivHibernateLoader.kt:55)
	at xyz.cssxsh.mirai.plugin.model.PixivHibernateLoader.init(PixivHibernateLoader.kt:48)
	at xyz.cssxsh.mirai.plugin.PixivConfigKt$initConfiguration$11.invokeSuspend(PixivConfig.kt:155)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:39)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
Caused by: java.sql.SQLException: Connections could not be acquired from the underlying database!
	at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:118)
	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:692)
	at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:140)
	at org.hibernate.c3p0.internal.C3P0ConnectionProvider.getConnection(C3P0ConnectionProvider.java:72)
	at org.hibernate.internal.NonContextualJdbcConnectionAccess.obtainConnection(NonContextualJdbcConnectionAccess.java:38)
	at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.acquireConnectionIfNeeded(LogicalConnectionManagedImpl.java:108)
	... 16 more
Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
	at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1507)
	at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:644)
	at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:554)
	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutAndMarkConnectionInUse(C3P0PooledConnectionPool.java:758)
	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:685)
	... 20 more
Caused by: java.sql.SQLNonTransientConnectionException: Could not create connection to database server.
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
	at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:1001)
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:818)
	at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:448)
	at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241)
	at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
	at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:175)
	at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220)
	at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:206)
	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:203)
	at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1176)
	at com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1163)
	at com.mchange.v2.resourcepool.BasicResourcePool.access$700(BasicResourcePool.java:44)
	at com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1908)
	at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696)
Caused by: java.time.zone.ZoneRulesException: Unknown time-zone ID: Aisa/Shanghai
	at java.base/java.time.zone.ZoneRulesProvider.getProvider(ZoneRulesProvider.java:280)
	at java.base/java.time.zone.ZoneRulesProvider.getRules(ZoneRulesProvider.java:235)
	at java.base/java.time.ZoneRegion.ofId(ZoneRegion.java:121)
	at java.base/java.time.ZoneId.of(ZoneId.java:410)
	at java.base/java.time.ZoneId.of(ZoneId.java:358)
	at com.mysql.cj.protocol.a.NativeProtocol.configureTimeZone(NativeProtocol.java:2174)
	at com.mysql.cj.protocol.a.NativeProtocol.initServerSession(NativeProtocol.java:2201)
	at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1308)
	at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:959)
	... 13 more

[Bug] Still get error logs after "/cache stop" and no running cache tasks.

Basic Info.

  • I use Ubuntu 20.04
  • I use mysql (Specifically MariaDB, the default version installed by apt install xxx )
  • Here is my PixivHelperSettings.yml (Anyway maybe it's useful for u) :
# 缓存目录
cache_path: ''
# 备份目录
backup_path: ''
# 临时目录
temp_path: ''
# 色图分块大小
ero_chunk: 32
# 色图自动触发更高收藏数的最大时间,单位毫秒
ero_up_expire: 8000
# 涩图标准 内容类型 ILLUST, UGOIRA, MANGA, 为空则全部符合
ero_work_types: 
  - illust
# 涩图标准 收藏
ero_bookmarks: 4000
# 涩图标准 页数
ero_page_count: 3
# 涩图标准 排除的正则表达式
ero_tag_exclude: '([hH]olo|僕のヒーローアカデミア)'
# 涩图标准 排除的UID
ero_user_exclude: []
# i.pximg.net 反向代理,若非特殊情况不要修改这个配置,保持留空,可以使用 i.pixiv.re
pximg: i.pixiv.re
# API代理 格式 http://127.0.0.1:8080 or socks://127.0.0.1:1080
proxy: ''
# DOWNLOAD代理 格式 http://127.0.0.1:8080 or socks://127.0.0.1:1080
proxy_download: ''
# API超时时间, 单位ms
timeout_api: 15000
# DOWNLOAD超时时间, 单位ms
timeout_download: 30000
# DOWNLOAD分块大小, 单位B, 默认 523264, 为零时, 不会分块下载
block_size: 400000
# tag 指令冷却时间,检索失败时触发,单位毫秒
tag_cooling: 600000
# tag 是否过滤r18 依旧不会放出图片
tag_sfw: false
# ero 是否过滤r18 依旧不会放出图片
ero_sfw: true
# 下载缓存容量,同时下载的图片上限
cache_capacity: 3
# 缓存是否跳过下载
cache_jump: false
# 压缩完成后是否上传百度云,不上传百度云则会尝试发送文件
upload: false

Description

Even no cache tasks are running, (I am pretty sure of this because I cannot receive any "Pixiv Download Complete" info on the console and I also use "/cache stop" many times) . I still get these frustrating "Pixiv Download Error" logs, and this might put pressure on the server and database.

2022-02-20 00:51:41 W/pixiv-helper: Pixiv Download 错误, 已忽略: io.ktor.network.sockets.SocketTimeoutException: Socket timeout has expired [url=https://i.pximg.net/img-original/img/2021/11/23/00/25/14/94310141_p0.jpg#bytes=9600000-9999999, socket_timeout=30000] ms
2022-02-20 00:51:43 W/pixiv-helper: Pixiv Download 错误, 已忽略: okhttp3.internal.http2.StreamResetException: stream was reset: PROTOCOL_ERROR
2022-02-20 00:51:43 W/pixiv-helper: Pixiv Download 错误, 已忽略: okhttp3.internal.http2.StreamResetException: stream was reset: PROTOCOL_ERROR
2022-02-20 00:51:47 W/pixiv-helper: Pixiv Download 错误, 已忽略: okhttp3.internal.http2.StreamResetException: stream was reset: PROTOCOL_ERROR
2022-02-20 00:51:47 W/pixiv-helper: Pixiv Download 错误, 已忽略: okhttp3.internal.http2.StreamResetException: stream was reset: PROTOCOL_ERROR
2022-02-20 00:51:48 W/pixiv-helper: Pixiv Download 错误, 已忽略: okhttp3.internal.http2.StreamResetException: stream was reset: PROTOCOL_ERROR
2022-02-20 00:51:49 W/pixiv-helper: Pixiv Download 错误, 已忽略: okhttp3.internal.http2.StreamResetException: stream was reset: PROTOCOL_ERROR

Any solutions or insights?

Thank you and kind regards
Albert

过滤不成功

PID: 86329545
配置文件里面过滤都开了
环境:私聊发送ero
过滤了 但没完全过滤(
已确认为最新release版本

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.