我正在使用discord.py,并希望向我的愿望ID的自定义用户发送自定义DM。我确实尝试了Stack Overflow和discord.py上的所有方法和选项,但是最终都无法正常工作。我得到的结果始终是None。有什么建议?
我试过的
#1
user = await bot.get_user_info(user_id)
await user.send('hello')
#2
await client.send_message(discord.Object(id='12324234183172'), 'hello')
#3
async def send_dm(ctx, member: discord.Member, *, content):
channel = await member.create_dm()
await channel.send(content)
确保您使用的是discord.py重写分支,因为该分支是discord.py的最新版本。从discord.py-rewrite开始,您尝试发送直接消息的所有三种方式均不起作用。如果使用重写分支,则可以更新以下三种方法之一:
在#1中,问题在于方法Client.get_user_info()
已更改为Client.fetch_user()
,应该可以检索到正确的用户。
在#2中,问题在于方法Client.send_message()
已更改为channel.send()
尽管#3中的DM仍然有效,但目前未使用该方法。我建议您仅member.send()
向用户发送直接消息。
另一个重要的事情是,该僵尸程序无法将DM发送给与该僵尸程序不共享行会的用户,因此请确保该用户位于运行该僵尸程序的行会中。
参考文献:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句