Discord.py ';非类型';对象没有属性';发送';-不和谐机器人

Discord.py ';非类型';对象没有属性';发送';-不和谐机器人,discord.py,Discord.py,当我通过DM向discord bot发送命令“!say”时,我试图让它向服务器中的某个通道发送消息 我尝试了很多不同的代码,但通常,它最终会出现属性错误“X对象没有属性Y” 当我对bot进行DM时,错误消息总是出现,希望它发送所需的消息。您的代码片段有一个非常简单的问题,需要先更正,然后才能执行您试图让它执行的操作 首先,看一下for客户端。获取频道(您正在呼叫该频道): 因此,当您这样做时:channel=bot.get_channel('584307345065246725'),您传递的参数

当我通过DM向discord bot发送命令“!say”时,我试图让它向服务器中的某个通道发送消息

我尝试了很多不同的代码,但通常,它最终会出现属性错误“X对象没有属性Y”


当我对bot进行DM时,错误消息总是出现,希望它发送所需的消息。

您的代码片段有一个非常简单的问题,需要先更正,然后才能执行您试图让它执行的操作

首先,看一下for
客户端。获取频道(您正在呼叫该频道):

因此,当您这样做时:
channel=bot.get_channel('584307345065246725')
,您传递的参数不正确。根据API,唯一的参数必须是int,但传递的是字符串。只要去掉单引号就可以了


Protip:在“返回”下,API声明,如果找不到频道,它可以返回
None
,这就是发生在您身上的情况,因为您正在传递字符串。因此,
channel
成为您在错误中看到的
NoneType
对象。所以当你做
频道时,发送
。。。你明白了。

你的代码片段中有一件非常简单的事情,在它完成你试图让它完成的事情之前,需要对它进行更正

首先,看一下for
客户端。获取频道(您正在呼叫该频道):

因此,当您这样做时:
channel=bot.get_channel('584307345065246725')
,您传递的参数不正确。根据API,唯一的参数必须是int,但传递的是字符串。只要去掉单引号就可以了


Protip:在“返回”下,API声明,如果找不到频道,它可以返回
None
,这就是发生在您身上的情况,因为您正在传递字符串。因此,
channel
成为您在错误中看到的
NoneType
对象。所以当你做
频道时,发送
。。。您可以看到图片。

频道id是一个int,而不是一个字符串

@bot.command()
异步定义(ctx):
频道=机器人获取频道(584307345065246725)
等待频道发送(ctx)
我不太明白的是为什么你不能这么做:

来自discord.ext导入命令
bot=commands.bot(命令前缀='!')
@命令(pass\u context=True)
异步定义(ctx):
等待ctx发送(ctx)

但是我可能误解了您试图执行的操作。

频道id是int,而不是字符串

@bot.command()
异步定义(ctx):
频道=机器人获取频道(584307345065246725)
等待频道发送(ctx)
我不太明白的是为什么你不能这么做:

来自discord.ext导入命令
bot=commands.bot(命令前缀='!')
@命令(pass\u context=True)
异步定义(ctx):
等待ctx发送(ctx)

但是我可能误解了您的意图。

您传递给
get\u频道的id应该是int,而不是字符串。另外,
ctx
将是一个调用上下文对象,它不作为消息的内容。您到底想发送什么?传递给
get\u channel
的id应该是int,而不是字符串。另外,
ctx
将是一个调用上下文对象,它不作为消息的内容。你到底想送什么?
from discord.ext import commands

bot = commands.Bot(command_prefix='!')

@bot.command()
async def say(ctx):
    channel = bot.get_channel('584307345065246725')
    await channel.send(ctx)
get_channel(id)
Returns a channel with the given ID.

Parameters
id (int) – The ID to search for.

Returns
The returned channel or None if not found.

Return type
Optional[Union[abc.GuildChannel, abc.PrivateChannel]]