You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord.js机器人需求:成员不足30的服务器离开前私信主人

实现Discord机器人自动离开小服务器并通知主人

你需要在离开服务器前先获取机器人主人的用户对象,发送私信告知相关信息,再执行离开操作。同时要处理异步操作和可能的异常,避免机器人崩溃。

修改后的代码如下:

// 替换成你的Discord用户ID
const OWNER_ID = '123456789012345678';

client.on('guildCreate', async (guild) => {
  if (guild.memberCount < 30) {
    try {
      // 获取主人用户
      const owner = await client.users.fetch(OWNER_ID);
      // 发送私信通知
      await owner.send(`我已离开服务器 **${guild.name}**,原因:服务器成员数(${guild.memberCount})少于30人。`);
      // 执行离开操作
      await guild.leave();
    } catch (error) {
      console.error('通知或离开操作出错:', error);
      // 即使通知失败,仍尝试离开服务器
      await guild.leave().catch(err => console.error('离开服务器失败:', err));
    }
  }
});

关键说明:

  • 务必将OWNER_ID替换为你自己的Discord用户ID,否则无法定位到主人发送私信
  • 使用await确保异步操作按顺序执行,保证通知发送完成后再离开服务器
  • 添加try-catch块捕获异常,比如主人屏蔽机器人导致无法发送私信、获取用户失败等情况,避免机器人因未处理的错误崩溃
  • 即使发送通知失败,仍会执行离开服务器的逻辑,确保核心功能正常运行

内容的提问来源于stack exchange,提问作者Mapler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 14:15:31