GithubHelp home page GithubHelp logo

yeyang52 / yenai-plugin Goto Github PK

View Code? Open in Web Editor NEW
41.0 41.0 13.0 150.15 MB

适用于Yunzai-Botv3的扩展

Home Page: https://yenai-plugin-eta.vercel.app/

License: GNU General Public License v3.0

JavaScript 86.14% CSS 3.88% HTML 5.29% Shell 0.21% SCSS 4.48%
yunzai-bot

yenai-plugin's Introduction

Hello World! 👋

🚀 欢迎来到我的家 🏯

💻:keyboard: 语言和工具

语言*

JavaScript HTML5 CSS3

工具

软件开发: Visual Studio

版本控制: Git GitHub Gitee

*单击某些徽章可能会将您重定向到相应的存储库

📫 联系我

linkedin

github contribution grid snake animation

yenai-plugin's People

Contributors

8852690 avatar allcontributors[bot] avatar batvbs avatar denfenglai avatar fsqhn avatar ifeif avatar ikechan8370 avatar kmiit avatar liuzj288 avatar shijinn520 avatar smallk111407 avatar timerainstarsky avatar yeyang52 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

Watchers

 avatar  avatar

yenai-plugin's Issues

用户白名单

问题描述
用户白名单,也就是用户加了白名单之后不会被禁言和不会被机器人踢出撤回等,尽量违禁词那个也加上,还有可以自由添加和删除白名单和白名单列表等

实现方式
其实用户白名单就跟主人一样的但是白名单权限较弱,实现功能方法有阻止功能发起指令跟功能白名单差不多但是功能白名单之后其他指令将无响应,也可以在获取用户文件是否有白名单然后自动更改功能黑名单在指令发起结束自动删除功能黑名单可以实现指令无法对别人响应,没有白名单则不会响应这个指令

当前的问题
如果没有这个功能可能会违禁词会误禁人,可能会被机器人误踢等,加了主人可能会面临别人乱用指令等,所以需要用户白名单,

其他说明
如果您有任何其他信息或说明,请在这里添加。

P站模块设置问题

设置好refresh_token后重启仍然无法检测到登录状态,model里是初始化的时候进行登录,但日志冇显示登录失败。初步怀疑是冇检测到配置文件的值并进行登录

文档文字颜色

生成的文档中,被反引号包裹的内容,在夜间模式中与背景过于近似,有些不太容易看清,是不是可以稍微修改一下。

可否让椰奶插件添加对WindowsTerminal终端的支持

当我使用#椰奶状态pro时,总会提示如下内容:

请检查是否使用git bash启动Yunzai-bot
错误信息:'bash' �����ڲ����ⲿ���Ҳ���ǿ����еij���
���������ļ���

可以添加对WindowsTerminal终端的支持吗?git窗口在我的服务器上有时会卡死

Ascii2D搜索失败

问题描述
调用Ascii2D搜索会失败并报错,根据后台日志信息,疑似触发Cloudflare盾导致搜索失败

如何复现
使用#ac搜图后发送任意图片进行搜索

期望结果
能绕过盾最好,若难度太高的话,希望能增加结果提示语,如遇到风控,搜索超时之类的

实际结果
报错Ascii2D搜索失败,错误原因:
无错误原因提示

截图
2
1

其他说明
尝试更换节点,重启服务器,等待几天后重试等操作均无法绕过Cloudflare盾

和图片有关的功能,发出来的消息图片全都无法查看

问题描述
和图片有关的功能,发出来的消息图片全都无法查看

Yunzai版本
Miao-Yunzai 3.1.0

如何复现

我不确定这是否风控之类的问题导致的,但是机器人本身查看面板之类的功能的图片都能正常发出来并查看

截图

50GV~AA`XWM0A_LF9Z_C2CB

机器人本身的发图片的功能正常
image

后台总会有一段警告
image

fun.js中的一些修改

原来的写法使用起来有bug
修改后为:

let url = picObj.url || picObj

// 数组随机取或指定
if (Array.isArray(url)) url = _.sample(url)

url = encodeURI(url)

还有我自己找的一些接口有的返回的是字符串形式的json
加了一个判断

if (typeof (res) == 'str') res = JSON.parse(res)

群友投票禁言指定群友

对于群友的不当发言,可以有由群友发起投票禁言,众多群友进行跟票进行,达到指定人数进行指定时间的禁言

群管功能:#改群头像 时,bot自身身份认识错误

问题描述
更新到最新版之后
改群头像的时候出现:明明他是群主却说没有管理员权限,导致改不了,
后台并没有报错

如何复现
重启,再试,再重启,再试

期望结果
请修复一下bug

实际结果
请简要描述您实际得到的结果。

截图
$} 8%MHQ2$OW{P%@GPKF20I
image

其他说明
如果您有任何其他信息或说明,请在这里添加。

tag搜图出现大量404,疑似API proxy源有问题

tag搜图的主API好像出问题了,测试20张图,各种Premature close和404。我在网页上直接使用调用的lolicon API链接打开图片,加载速度非常慢甚至无法加载,这是lolicon API的proxy出问题了吗?我尝试用js里预留的备用API直接换替换,速度到是快了,但我不知道是哪里有问题,指定tag只会固定返回一张图,不指定tag就正常,不管是在机器人上用还是在网页上直接使用链接都是这样。

消息监听全寄了

4EK5~52MJ(CX(UN_9R6O W8
这些功能都寄了 开启以后无法发消息到我的账号
image
这是小号设置
IYJ$49HJFB~ ZWMMEH53N5R
这是表明已经是最新版本

来点XX报错forwardMsg.data.replace is not a function

问题描述
来点XX报错forwardMsg.data.replace is not a function

Yunzai版本
Miao-Yunzai

如何复现
请详细描述如何复现问题,步骤越详细越好。

发送命令后报错

期望结果
请简要描述您期望得到的结果。
恢复正常
实际结果
请简要描述您实际得到的结果。

截图
如果可以,请提供相关截图以帮助解释您的问题。
image

其他说明
如果您有任何其他信息或说明,请在这里添加。

ASCII2d搜图报错

问题描述
请简要描述您遇到的问题。
ASCII2d搜图报错,回复如图
Screenshot_20230415_134327_com tencent mobileqq
日志如图
5c8a126e89effd8d

如何复现
请详细描述如何复现问题,步骤越详细越好。
1.根据文档安装插件和依赖
2.#搜图
3.发送图片
4.报错

同意好友申请功能异常

问题描述
收到好友申请后,回复“#同意好友申请+qq号”,会返回"暂无好友申请",后台信息无报错。

Yunzai版本
Miao-Yunzai3.1.0

如何复现
请详细描述如何复现问题,步骤越详细越好。

  1. 小号添加机器人好友
  2. 主人回复“#同意好友申请+qq号”

截图
image
image

proxy代理问题

报错
image
配置文件:http端口9080
image
代理软件日志:
image
根据代理软件日志来看应该是已经转发了流量了 不知道问题出在哪了
感谢大佬

违禁词触发被撤回后,机器人的回复还有违禁词

问题描述
同上

实现方式
能否改为私聊转发聊天记录给主人,群聊的回复不再有具体的违禁词

当前的问题
违禁词被撤回后,机器人自己又发出来了,这样显得撤回很蠢。如果是敏感词汇,机器人还可能被举报封号。

其他说明
如果您有任何其他信息或说明,请在这里添加。

椰奶状态pro在登录设备过多时无法使用

问题描述
椰奶状态pro在线设备过多的时候无法使用

Yunzai版本
TRSS-Yunzai 3.1.0

如何复现
TRSS-ICQQ插件
登录了30多个QQ
在登录前几个QQ少量的时候正常使用状态pro
在登录完30个QQ就无法使用状态pro
不止于ICQQ插件
在其他适配器也尝试过结果相同
Discord适配器
KOOK适配器
Telegram适配器

期望结果
修复此类问题如果这属于bug而不是我个人原因

截图
从触发到结束全过程唯一信息
image

个人优化建议
状态pro在登录设备过多的时候使用合并转发消息
状态信息显示在第一张图
从第二张图开始一图显示少量在线信息

群管功能

#清理n天没发言的人,功能报错{"ec":3,"errcode":0,"em":" [errcode:3:0]"}

update更新bot无响应

在QQ聊天界面发送#椰奶更新后bot没有显示更新失败与否的消息,检查控制台发现git -C指令错误

图片
图片

经检查发现yenai/plugin/apps/update.js中的更新函数指令有误
图片

建议将update.js中所有的git -C改为git -c
图片

bug

问题描述
定时禁言任务取消不了,重启还是会有

@U5F_CQAR9YK N3I25YCXZY
D4LUXYZ7OCR9PAEZ$NWL%LF

问题

问题1
image
1.需要在云仔重新开机的时候发送
2. 第一个发送禁言或者解禁指令会回复找不到这个人

问题2
image
1.解除全部用户禁言无效

群聊无法使用椰奶tag

问题描述
群聊使用椰奶tag,发送完正在找setu之后没有后续消息,私聊使用此功能,主人和群员都正常。
群聊使用无内鬼功能,不附加张数时正常,附加张数(如“#无内鬼3张”)后没有任何响应。

Yunzai版本
Miao-Yunzai v3.1.0 & Yenai-Plugin 1.3.0

如何复现
请详细描述如何复现问题,步骤越详细越好。

  1. 群聊发送“#椰奶tag5张七七”
  2. 机器人回复“正在给你找setu了,你先等等再冲~”
  3. 控制台报告[setuTag]命令处理完成,实际没有发送消息
  4. 私聊发送“#椰奶tag5张七七”
  5. 机器人按要求转发了5张图片
  6. 群聊发送“#无内鬼3张”
  7. 机器人回复“你先别急,正在找了~”
  8. 控制台报告[setuRandom]命令处理完成,实际没有发送消息
  9. 私聊发送“#无内鬼3张”
  10. 机器人按要求转发了3张图片
  11. 群聊发送“#无内鬼”
  12. 机器人按要求转发了1张图片

期望结果
群聊和私聊结果一致

实际结果
群聊无响应

截图
20230824_111232_831

其他说明

请求椰奶状态时,一直提示没有检测到systeminformation依赖

问题描述
请求椰奶状态时,一直提示没有检测到systeminformation依赖。
此前一直是可用的,自从我手动git pull到最新代码后,就一直是这样了。
已经尝试运行过pnpm add systeminformation -w了,依旧无效。

如何复现
没有找到明确步骤

期望结果
椰奶状态能正常使用

Yunzai-Bot根目录的package.json文件里也可以看到有所需要的依赖包
image

关于椰奶状态网速统计图有个问题想请教一下

QQ截图20230303115241
大佬,我js这块纯小白,调试也不咋会。有个问题想请教一下,如图,获取网速信息的时候,获取到的是虚拟网卡的信息,数据都是空的因此椰奶状态的网速统计也是空的。
我查了下systeminformation文档,文档给出的示例是networkStatus()内可以传参来获取指定网卡的信息(如图103行)。看打印结果也确实能获取到。
现在我该怎么改这个101行代码里的valueObject,才能使它调networkStatus方法的时候可以传个网卡名的参数进去啊。

插件运行过程中调用大量 powershell 占用 cpu

问题描述
请简要描述您遇到的问题。

bot运行过程中突然 cpu 占用大幅增加,查看任务管理器发现有很多 powershell 运行,重启 bot 无效;逐个插件排查发现 加载该插件会出现这个问题。
image

如何复现
请详细描述如何复现问题,步骤越详细越好。

不明,运行一段时间后会出现,重启电脑后再启动 bot 刚开始会出现一些 powershell 任务 1s 左右会消失,运行一段时间后会出现该问题

期望结果
请简要描述您期望得到的结果。

实际结果
请简要描述您实际得到的结果。

截图
如果可以,请提供相关截图以帮助解释您的问题。
image

其他说明
如果您有任何其他信息或说明,请在这里添加。

建议增加消息批量发送

目前给好友发消息的格式是“发好友 10000 消息”,希望可以添加回车或其他任意格式,在一条信息里给多个好友发送消息
例如:
发好友 10000 消息
发好友 10001 消息
发好友 10002 消息
发好友 10003 消息
发好友 10004 消息

这么做的目的是为了快速发通知,目前的想法是通知米游社签到失败,分多次发送的话会有点麻烦

部分功能报错forwardMsg.data.replace is not a function

问题描述
p和b的搜索有的会报错,没有WARN但是机器人就只回复forwardMsg.data.replace is not a function

Yunzai版本
Miao-Yunzai

如何复现
直接使用就出现了,比如#哔咔搜索椰羊
机器人没有回复内容 只出现forwardMsg.data.replace is not a function

不论代理是否开启/是否直连都会如此

image

forwardMsg.data.replace is not a function报错修复

问题描述
在使用最新版喵崽时,发送转发消息,如 #tagpro搜图 #来点秀人 功能时,会报错forwardMsg.data.replace is not a function

Yunzai版本
Miao-Yunzai
2.4.3

如何复现
发送 #tagpro搜图某某 或者是 #来点秀人

修复办法
把yenai-plugin/lib/common/common.js中的getforwardMsg函数改成下面这样。

async getforwardMsg (e, message, {
    recallMsg = 0,
    info,
    fkmsg,
    isxml,
    xmlTitle,
    oneMsg,
    anony
  } = {}) {
    
    let forwardMsg = await this.makeForwardMsg(e,message, {
      recallMsg,
      info,
      fkmsg,
      isxml,
      xmlTitle,
      oneMsg,
      anony
    })
    
    let msgRes = await e.reply(forwardMsg)

    return msgRes
  }

然后继续在yenai-plugin/lib/common/common.js中添加一个函数如下:

  /**
 * 制作转发消息
 * @param e 消息事件
 * @param msg 消息数组
 * @param dec 转发描述
 * @param msgsscr 转发信息是否为Bot
 */
  async makeForwardMsg(e, msg = [], {
    recallMsg = 0,
    info,
    fkmsg,
    xmlTitle,
    anony
  } = {}, msgsscr = false) {
    if (!Array.isArray(msg)) msg = [msg]
  
    let userInfo = {
      user_id: info?.user_id ?? (e.bot ?? Bot).uin,
      nickname: info?.nickname ?? (e.bot ?? Bot).nickname
    }
  
    let forwardMsg = []
    for (const message of msg){
      if(!message) continue
      forwardMsg.push({
        ...userInfo,
        message: message
      })
    }
      
  
    /** 制作转发内容 */
    if (e?.group?.makeForwardMsg) {
      forwardMsg = await e.group.makeForwardMsg(forwardMsg)
    } else if (e?.friend?.makeForwardMsg) {
      forwardMsg = await e.friend.makeForwardMsg(forwardMsg)
    } else {
      return msg.join('\n')
    }
  
    if (xmlTitle) {
      /** 处理描述 */
      if (typeof (forwardMsg.data) === 'object') {
        let detail = forwardMsg.data?.meta?.detail
        if (detail) {
          detail.news = [{ text: xmlTitle }]
        }
      } else {
        forwardMsg.data = forwardMsg.data
          .replace(/\n/g, '')
          .replace(/<title color="#777777" size="26">(.+?)<\/title>/g, '___')
          .replace(/___+/, `<title color="#777777" size="26">${xmlTitle}</title>`)
      }
    }
  
    return forwardMsg
  }

之后就可以正常使用了。功能没有复现完,但是大多数情况下是可以像往常一样使用的。

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.