Arondight / Adachi-BOT

一个在 QQ 中运行的原神助手
MIT License
343 stars 74 forks source link

管理员指令没有效果 #977

Closed chongdong12 closed 1 year ago

chongdong12 commented 1 year ago

问题描述

尝试ban掉机器人对某个群的某个功能,根据 comman_master.yml 文件里的用例,用了 设置娱乐功能权限+qq群 这个指令

机器人显示 我已经开始禁止 您 的【吃什么、喝什么】【求签】【roll】功能! 但是发送 【吃什么、喝什么】【求签】【roll】 时还是能做出反应

复现流程

image image

后台日志

0|bot  | [2022-12-14T11:33:19.917] [INFO] [iPad:2148309328] - recv from: [Group: 测试(984230279), Member: null(1251595585)] 设置娱乐功能权限 984230279
0|bot  | [2022-12-14T11:33:20.102] [INFO] [iPad:2148309328] - succeed to send: [Private(1251595585)] 我已经开始禁止 984230279 的【吃什么、喝什么】【求签】【roll】功能!
0|bot  | [2022-12-14T11:33:20.267] [INFO] [iPad:2148309328] - succeed to send: [Group(984230279)] 我已经开始禁止 您 的【吃什么、喝什么】【求签】【roll】功能!
0|bot  | [2022-12-14T11:33:25.599] [INFO] [iPad:2148309328] - recv from: [Group: 测试(984230279), Member: null(1251595585)] 占卜
0|bot  | [2022-12-14T11:33:25.932] [INFO] [iPad:2148309328] - succeed to send: [Group(984230279)] ★★☆☆☆☆☆
0|bot  | 吉带凶:一胜一衰,浮沉不定,知难而退,自获天佑。
0|bot  | 谨慎保安勿自骄,智谋胆略得显晓,知难而退获天佑,妄进逞强败涂地。

运行环境

操作系统:linux(Debian GNU/Linux)
内核版本:4.19.0-18-amd64
内核架构:x64
处理器:  2.49%(Intel Xeon® Gold 6148 @ 2.4Ghz)
启动时间:a month
内存使用:57.81%(1.05 GB / 1.82 GB)
数据占用:26.2 kB
Node.js: 16.17.0
npm:     8.15.0
浏览器:  Chromium 108.0.5351.0

当前提交

commit 11cec6bce14ede67168dab32cd06973fd8acd1d6 (HEAD -> master)
Author: Qin Fandong <shell_way@foxmail.com>
Date:   Fri Oct 28 15:15:12 2022 +0800

    Update scripts

代码状态

On branch master
Your branch is behind 'origin/master' by 64 commits, and can be fast-forwarded.
  (use "git pull" to update your local branch)

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   ../server.js
        modified:   ../src/plugins/material/material.js

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        ../test.js

no changes added to commit (use "git add" and/or "git commit -a")
mark9804 commented 1 year ago

找一个非 bot 管理员的群友来尝试一下,依然会触发吗

chongdong12 commented 1 year ago

找一个非 bot 管理员的群友来尝试一下,依然会触发吗

非 bot 管理员发指令不会触发

mark9804 commented 1 year ago

那大概不是 bug,设计如此

chongdong12 commented 1 year ago

那大概不是 bug,设计如此

那有解决办法吗?我想把某个群加入黑名单只能用这个指令吗?

mark9804 commented 1 year ago

我想确认一下

目前的行为是 “加入黑名单之后,群内 只有 bot 管理员(群管理也不可以) 能触发指令,普通群员不能触发指令”

你想改成 “包括 bot 管理员在内的人全部不能触发指令” 对吗

chongdong12 commented 1 year ago

我想确认一下

目前的行为是 “加入黑名单之后,群内 只有 bot 管理员(群管理也不可以) 能触发指令,普通群员不能触发指令”

你想改成 “包括 bot 管理员在内的人全部不能触发指令” 对吗

刚才又测试了一下,非 bot 管理员发送指令,机器人会提示 您当前无【求签】权限。指令只有 bot管理员 可以触发了

BTMuli commented 1 year ago

bug × feature ✓

mark9804 commented 1 year ago

是的,bot 管理员有特权,这是 feature

但是按我的理解,你是希望把管理员的特权去掉,所有人都不能触发,是这样的吗

我们可以提供改哪里怎么改的教程,但是不会把这段代码合并进主线,之后如果有冲突的话需要你自己解决

chongdong12 commented 1 year ago

对呢,请问怎么改呢?

Arondight commented 1 year ago

自己改一下代码

https://github.com/Arondight/Adachi-BOT/blob/d8549e624fab7dd9ae398e9f199dff5fb95ffd08/src/bot/dispatch.js#L185

这种 checkAuth 的调用,第三个参数改成 true

chongdong12 commented 1 year ago

好的 非常感谢!

Arondight commented 1 year ago

我们可以提供改哪里怎么改的教程,但是不会把这段代码合并进主线

其实配置文件里加个选项也行

Arondight commented 1 year ago

我感觉还是统一做个配置吧,代码里一共 50 处 checkAuth 记录,有点多。

PS @chongdong12 你只改 dispatch.js 里的就行

Arondight commented 1 year ago

@chongdong12 看了下代码,应该是再追加一个参数,你等我推个提交吧,别自己改了

Arondight commented 1 year ago

@chongdong12 git pull origin dev 测试一下