discord.js - 阻止踢或将限制设置为踢 Discord.js
问题描述
你好,我不想让模组在我的服务器中执行踢球动作,我看到 discord.js 没有像 guildMemberAdd 一样添加 guildKickAdd 那么我怎样才能阻止踢球或设置限制踢球?
当有人禁止动作机器人扮演角色并给予他惩罚时,这是禁止阻止。
client.on("guildBanAdd", async function(guild, user) {
const entry = await guild
.fetchAuditLogs({ type: "MEMBER_BAN_ADD" })
.then(audit => audit.entries.first());
const yetkili = await guild.members.get(entry.executor.id);
setTimeout(async () => {
let logs = await guild.fetchAuditLogs({ type: "MEMBER_BAN_ADD" });
if (logs.entries.first().executor.bot) return;
guild.members
.get(logs.entries.first().executor.id)
.removeRoles(guild.members.get(logs.entries.first().executor.id).roles); ///TÜM ROLLERİNİ ALIR
setTimeout(() => {
guild.members
.get(logs.entries.first().executor.id)
.addRole("633026228537917460"); /// VERİLECEK CEZALI ROL İD
}, 3000);
const sChannel = guild.channels.find(c => c.id === "641032067840344064");
const cıks = new Discord.RichEmbed()
.setColor("RANDOM")
.setDescription(
`<@${yetkili.id}> ${user} adlı Kişiye Sağ tık ban Atıldığı için Banlayan Kişinin Yetkileri Alındı`
)
.setFooter("Created by Tokuchi");
sChannel.send(cıks);
guild.owner.send(
`Tokuchi Affetmez † Guard | ** <@${yetkili.id}> İsimili Yetkili <@${user.id}>** Adlı Kişiyi Banladı Ve Yetkilerini Aldım.`
);
}, 2000);
});```
解决方案
您需要使用guildMemberRemove
事件:
// When a member left. Maybe he left himself, but maybe he was kicked.
client.on("guildMemberRemove", (member) => {
// Get the last kick case of the server
const entry = await guild
.fetchAuditLogs({ type: "MEMBER_KICK" })
.then(audit => audit.entries.first());
// if there's not any kick case in this server
if(!entry) return;
// if the target was not the member who left
if(entry.target.id !== member.id) return;
// Else, you know the member was kicked, and you have the entry so you can do what you want
});
这是了解某人是否被踢的最好方法。
推荐阅读
- javascript - 为什么这个尾递归循环会导致 javascript / node 中的堆栈溢出?
- python - 如何获取一个类的所有实例
- url - 服务器返回 HTTP 响应代码:400 for URL:我的 URL 有问题吗?
- c++ - 不能为我自己的班级重载运算符 <<
- java - Micronaut 中用于 RESTful API 的反应式方法/类型
- random - 我如何随机化窗口上小部件的位置以使其每次都不同
- node.js - 如何在“Transform#flush”期间正确处理背压
- json - Micronaut JSON 帖子删除引号
- c# - 在 Unity C# 中动态渲染游戏对象
- scala - Scala:如何找到超过 2 个元素的最小值?