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

Py-Cord中on_member_join()事件发送私信的实现方法求助

Py-Cord中on_member_join事件发送私信的实现方法

你可以直接通过member.send()方法给新加入的成员发送私信,同时建议加入异常捕获逻辑,避免因用户隐私设置导致的报错。修改后的完整代码如下:

@bot.event
async def on_member_join(member: discord.Member):
    guild = member.guild
    if guild.system_channel is not None:
        await guild.system_channel.send(f"Servus {member.mention} herzlich wilkomma auf {guild.name}!")
    
    # 发送私信的代码
    try:
        await member.send(f"Servus {member.name}!欢迎加入{guild.name},祝你在这里玩得开心!")
    except discord.Forbidden:
        # 捕获无法发送私信的异常,比如用户关闭了陌生人私信
        print(f"无法给{member.name}发送私信,用户可能关闭了相关权限")

关键点说明:

  • member.send()是Py-Cord中给成员发送私信的标准方法,无需额外复杂操作
  • 加入try-except块是因为部分用户可能设置了不接收服务器成员的私信,直接发送会抛出discord.Forbidden异常,捕获后可以避免机器人崩溃

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 07:10:47