没有其他用户的 Python Discord 私人消息

Posted

技术标签:

【中文标题】没有其他用户的 Python Discord 私人消息【英文标题】:Python Discord private message without another user 【发布时间】:2020-11-23 16:42:40 【问题描述】:
await self.client.get_user(user id).send(msg)

当我为我的一个帐户输入用户 ID 时,它起作用了 但是当我使用我的朋友时,它说AttributeError

AttributeError: 'NoneType' object has no attribute 'send'

机器人需要私下向其他人(用户 ID)发送消息

@client.command()
async def DM(ctx,  message): 
userid = 'stored here
await self.client.get_user(user id).send(msg)

【问题讨论】:

请提供minimal reproducible example。这至少应该包括有问题的命令和将数据插入数据库的代码。这也有助于了解表的架构,尤其是用户 ID 字段的数据类型。 我刚接触堆栈溢出 userid 是您真实代码中的字符串吗?它必须是一个整数。 它是一个整数,问题是它对特定帐户有效,而对另一个帐户无效 你能修改一下,让它单独获取用户ID并打印repr(userid)吗? get_user 找不到具有该 id 的任何人,这通常意味着它有问题 【参考方案1】:

您的 ID 可能有误。尝试类似

@bot.command()
async def get_id(ctx, *, user: discord.User):
    await ctx.send(str(user.id))

获取正确的ID。你可以这样称呼它!get_id @MyFriend

【讨论】:

【参考方案2】:

如果您想向用户发送消息,这可能会有所帮助

@bot.command()
async def dm(ctx, member: discord.Member, *, message)
    await member.send(message)

【讨论】:

我并不想提及接收者,反正得到了代码 python await self.client.get_user(userid).send("ERROR budget") 这与 discord.py 的问题无关,我的数据库在存储时四舍五入了用户 ID,因此用户 ID 错误

以上是关于没有其他用户的 Python Discord 私人消息的主要内容,如果未能解决你的问题,请参考以下文章

向一组用户发送私人消息(Discord.js)

如何使用 JDA 在 Discord 服务器(不是用户/机器人 DM)中创建私人频道:Java Discord API

Discord 中所有私人消息的 JSON

Discord API / Restcord : 创建私人频道

Discord bot如何创建私人文本频道

使用 discord.py 忽略 python3 中的机器人生成的错误