全局聊天 - 静音命令

时间:2021-03-20 14:55:32

标签: discord discord.js

我创建了一个全局聊天机器人,但我遇到了静音命令的问题

#!/bin/sh

function screenIsLocked { [ "$(/usr/libexec/PlistBuddy -c "print :IOConsoleUsers:0:CGSSessionScreenIsLocked" /dev/stdin 2>/dev/null <<< "$(ioreg -n Root -d1 -a)")" = "true" ] && return 0 || return 1; }
function screenIsUnlocked { [ "$(/usr/libexec/PlistBuddy -c "print :IOConsoleUsers:0:CGSSessionScreenIsLocked" /dev/stdin 2>/dev/null <<< "$(ioreg -n Root -d1 -a)")" != "true" ] && return 0 || return 1; }

if screenIsLocked; then
    echo "Screen locked"
fi

if screenIsUnlocked; then
    echo "Screen unlocked"
fi

if ! screenIsLocked; then
    echo "Screen unlocked (inverse logic)"
fi

if ! screenIsUnlocked; then
    echo "Screen locked (inverse logic)"
fi

这是代码,重点是如果你想让某人静音,用户仍然可以写,我不知道如何解决

1 个答案:

答案 0 :(得分:1)

你从来没有真正让这个人静音。您只需将其放入数据库,但您还必须告诉 Discord 该用户已被静音。您有两种选择:

选项 1 - 每个频道的明确权限

您可以在服务器的每个频道中设置明确的权限以将该人静音。这种方法的问题在于,如果您在一个人被静音的情况下创建一个新频道,他们仍然可以在该频道中写作。

选项 2

您可以创建一个允许管理员设置静音角色的配置条目。当您执行静音命令时,此角色将被添加到用户。这样做的好处是,当创建新频道时,它们仍然处于静音状态。它还会使取消静音命令更容易。