【问题标题】:Discord.py - send private messageDiscord.py - 发送私人信息
【发布时间】:2022-01-01 11:36:50
【问题描述】:

我正在使用Replit 制作一个不和谐的机器人。

  if msgtxt in listBadWords:
    await message.channel.send(mention + ", your message has been reported to Arunga")
    await message.channel.send("Please do not repeat the same mistake again. Do not say bad words!")
    user = client.get_user(int(userid))
    await user.send("Arunga, someone said a bad word!")

listBadWords 包含一个坏词列表。我想向所有者 Arunga 发送 dm,说“有人说了一句坏话!”但是当我运行代码并对其进行测试时,出现了一个错误

AttributeError:'NoneType' object has no attribute 'send' for 
await user.send("Arunga, someone said a bad word!")

我确实把用户在userid,我只是不想在这里发布ID。

我该如何解决这个问题?另外,这是async def on_message():

【问题讨论】:

  • 你确定user_id 是正确的吗?如果没有找到具有该 ID 的用户,get_user 函数将返回 None
  • 用户还需要与机器人共享服务器
  • 您可能还没有访问某些服务器成员所需的意图

标签: python python-3.x discord.py


【解决方案1】:

这是因为 User 没有方法 sendMember 有,所以我所做的是获取服务器的所有者(即存储在成员中),然后发送消息。

【讨论】:

    猜你喜欢
    • 2021-12-25
    • 2018-09-19
    • 2020-06-16
    • 1970-01-01
    • 2020-11-27
    • 2019-06-22
    • 2022-06-11
    • 1970-01-01
    • 2019-09-19
    相关资源
    最近更新 更多