【发布时间】:2021-08-30 10:05:42
【问题描述】:
我想知道如何与一个永远相同的特定人联系。我尝试了很多 StackOverFlow 帖子和官方 discord.py 文档,但都没有奏效。我有 discord.py 1.7.3。到目前为止,我有以下内容:
import discord
from discord.ext import commands
@client.command()
async def dm(ctx):
user = client.get_user(1234567891011) # <- This user will always be the same.
await user.send("Hi")
当我在服务器中键入命令时,出现以下异常:
Ignoring exception in command dm:
Traceback (most recent call last):
File "C:\Users\myuser\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\ext\commands\core.py", line 85, in wrapped
ret = await coro(*args, **kwargs)
File "c:\Users\myuser\Documents\Python Scripts\Bot\main.py", line 110, in dm await user.send("Hola")
AttributeError: 'NoneType' object has no attribute 'send'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\myuser\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\ext\commands\bot.py", line 939, in invoke
await ctx.command.invoke(ctx)
File "C:\Users\myuser\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\ext\commands\core.py", line 863, in invoke
await injected(*ctx.args, **ctx.kwargs)
File "C:\Users\myuser\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\ext\commands\core.py", line 94, in wrapped
raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'NoneType' object has no attribute 'send'
【问题讨论】:
-
用户似乎不存在,因此
get_user()返回无。您确定具有此 ID 的用户存在吗? -
我通过另一个返回作者id并得到了id的命令对其进行了测试(显然示例中显示的不是真实的)
-
get_user需要一个整数,而不是字符串 -
将其更改为整数后,它会抛出相同的异常
标签: python discord.py