如何使用 discord 机器人向 discord 服务器的新成员发送 DM (python 3)

How to send a DM to new members of a discord server using a discord bot (python 3)

我已经尝试了几种方法,所有这些都没有导致任何错误消息(或者如果他们这样做了,他们很容易修复)但他们仍然没有发送 DM。

我最有信心的方式是:

@client.event
async def on_member_join(member):
    await member.create_dm()
    await member.dm_channel.send(
        f'Hi {member.name}, welcome to my Discord server!'
    )

这可能有多个问题,但目前我还停留在第二行;如果用户加入我的服务器,它实际上不会激活(我通过直接在它之后推送一个打印命令并在我加入服务器时观察输出来测试它)。任何想法,将不胜感激。 :)

哦,是的,我尝试了另一种可能有效的方法,但我无法做到:how to make discord bot send a new user DM?

试试这个:

@client.event
async def on_member_join(member):
    await member.send('Hi {member.name}, welcome to my Discord server!')

这只会将其发送给加入的成员。

我已经设法让它工作了,但我仍然不确定是什么不起作用,我最好的猜测是我的代码中的其他地方有些东西没有正常工作。