📌  相关文章
📜  discord.js 如何踢用户 - Javascript (1)

📅  最后修改于: 2023-12-03 15:00:25.596000             🧑  作者: Mango

Discord.js 如何踢用户

在 Discord.js 中,您可以使用 GuildMember.kick() 方法从服务器中踢出一个成员。

// 引入 discord.js 库
const Discord = require('discord.js');
// 创建一个 Discord 客户端对象
const client = new Discord.Client();

client.on('message', message => {
  // 如果信息以 '!kick' 开头并且用户有管理员权限
  if (message.content.startsWith('!kick') && message.member.hasPermission("ADMINISTRATOR")) {
    // 从信息中提取用户 ID
    const userId = message.content.slice(6).trim();
    // 获取服务器对象
    const server = message.guild;
    // 获取成员对象
    const member = server.members.cache.get(userId);
    
    if (member) {
      // 踢出成员
      member.kick()
        .then(() => {
          // 如果成功踢出成员,发送确认消息
          message.channel.send(`成功踢出用户 ${member.displayName}`);
        })
        .catch(err => {
          // 如果有错误,发送错误消息
          message.channel.send(`无法踢出用户 ${member.displayName}:${err}`);
        });
    } else {
      // 如果无法找到成员,发送错误消息
      message.channel.send(`无法找到用户 ${userId}`);
    }
  }
});

// 用您的 Discord 应用程序的令牌登录客户端
client.login('your-token');

在上面的代码中,当用户发送消息以 !kick 开头时,如果用户具有管理员权限,代码将从消息中提取用户 ID 并查找对应的成员对象。如果找到成员,则使用 member.kick() 方法踢出成员。如果出现错误,则在频道中显示错误消息。否则,将在频道中显示确认消息。

注意,为了访问成员对象,我们需要先获取服务器对象,并使用 server.members.cache.get() 方法获取成员对象。这将从服务器的成员缓存中返回成员对象。如果未能找到成员,则返回 undefined

这是一个简单的示例,您可以将其与其他代码和事件结合使用,以实现更复杂的应用程序。