discord 机器人通过 /commands 激活另一个机器人或检测使用机器人命令的用户
A discord bot activating another bot via /commands or detect user who used a bot command
好的,所以我正在尝试执行以下操作:
我使用的是 Disboard 机器人,并且预先奖励了碰撞的用户。这不是问题,因为命令是“!d bump”,所以我可以让我的机器人也对它做出反应。
它们现在更改为 / 命令,所以我的机器人不再对它做出反应。
所以我看到了两种可能性。
我要么发出命令,然后(如果可能的话)我的机器人撞到而不是用户,而用户只是激活我的机器人。
或者我检测到 Bot 消息和(如果可能的话)谁使用了命令并从那里继续。
感谢您的帮助和想法,祝您今天愉快!
机器人无法使用其他机器人的斜杠命令;但是,您可以检测到有人何时使用某个机器人的命令。我将在我的回答中使用 discord.js v13
。
client.on("messageCreate", (message) => {
// check if the message is a slash command
if (message.type !== "APPLICATION_COMMAND") return;
message.interaction.commandName
// if so then you can access the user who triggered the command with
message.interaction.user;
});
如果你想检查某个命令,那么你可以检查 message.interaction.commandName
,如果你只想听某个机器人的命令,那么你可以检查 message.author.id
.
我已经为此做了很多工作,但这是我的做法:
if (message.type == "APPLICATION_COMMAND" && message.channel.id == "971729505708290099" && message.interaction.commandName == "bump") {
message.channel.permissionOverwrites.edit(message.guild.roles.everyone, {
VIEW_CHANNEL: false
})
setTimeout(function () {
message.channel.permissionOverwrites.edit(message.guild.roles.everyone, {
VIEW_CHANNEL: true
})
}, 7200000);
}
在此代码中,当有人使用斜杠命令 /bump 时,它会隐藏频道,然后在 2 小时后取消隐藏。希望有所帮助:)
(这段代码在client.on("messageCreate", (message) =>{}
里面)
除了隐藏 channels/showing 它们之外,如果需要,您还可以只 ping 某个角色。
好的,所以我正在尝试执行以下操作:
我使用的是 Disboard 机器人,并且预先奖励了碰撞的用户。这不是问题,因为命令是“!d bump”,所以我可以让我的机器人也对它做出反应。
它们现在更改为 / 命令,所以我的机器人不再对它做出反应。
所以我看到了两种可能性。 我要么发出命令,然后(如果可能的话)我的机器人撞到而不是用户,而用户只是激活我的机器人。 或者我检测到 Bot 消息和(如果可能的话)谁使用了命令并从那里继续。
感谢您的帮助和想法,祝您今天愉快!
机器人无法使用其他机器人的斜杠命令;但是,您可以检测到有人何时使用某个机器人的命令。我将在我的回答中使用 discord.js v13
。
client.on("messageCreate", (message) => {
// check if the message is a slash command
if (message.type !== "APPLICATION_COMMAND") return;
message.interaction.commandName
// if so then you can access the user who triggered the command with
message.interaction.user;
});
如果你想检查某个命令,那么你可以检查 message.interaction.commandName
,如果你只想听某个机器人的命令,那么你可以检查 message.author.id
.
我已经为此做了很多工作,但这是我的做法:
if (message.type == "APPLICATION_COMMAND" && message.channel.id == "971729505708290099" && message.interaction.commandName == "bump") {
message.channel.permissionOverwrites.edit(message.guild.roles.everyone, {
VIEW_CHANNEL: false
})
setTimeout(function () {
message.channel.permissionOverwrites.edit(message.guild.roles.everyone, {
VIEW_CHANNEL: true
})
}, 7200000);
}
在此代码中,当有人使用斜杠命令 /bump 时,它会隐藏频道,然后在 2 小时后取消隐藏。希望有所帮助:)
(这段代码在client.on("messageCreate", (message) =>{}
里面)
除了隐藏 channels/showing 它们之外,如果需要,您还可以只 ping 某个角色。