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

使用discord.py向非服务器用户发邀请私信:通过用户名与鉴别器获取用户

获取Discord用户对象并发送私信的方法

针对你提到的场景(已知目标用户的用户名和鉴别器,对方不在你的服务器中),分两种情况说明可行方案:

一、Discord机器人开发场景(开发者视角)

如果你是开发Discord机器人,可以通过官方API接口获取目标用户对象:

  • 调用机器人客户端的用户查询方法,传入用户名和鉴别器参数。以Discord.js v14为例:
    // 在异步函数内执行
    try {
      const targetUser = await client.users.fetch({
        username: "目标用户名",
        discriminator: "4位鉴别器数字"
      });
      // 发送私信邀请
      await targetUser.send(`你好!邀请你加入我的服务器:[替换为你的服务器邀请链接]`);
    } catch (error) {
      console.error("操作失败:", error);
    }
    
  • 核心限制:机器人必须满足Discord的私信规则才能成功发送:
    • 目标用户未屏蔽该机器人
    • 机器人与目标用户存在至少一个共同服务器,或用户曾主动给机器人发过消息,或机器人是通过用户授权添加的

二、普通Discord用户场景

如果你是普通用户(非开发者),仅通过用户名+鉴别器无法找到不在同服务器的用户并发送私信。受Discord隐私机制限制,你需要满足以下任一条件才能联系对方:

  • 知道对方的用户ID,通过客户端「添加好友」功能输入ID,待对方通过好友请求后发送私信
  • 与对方存在共同服务器,在服务器成员列表中找到对方后发起私信
  • 对方公开了个人会话链接,通过链接发起沟通

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 02:53:16