Discord Py,通过ID在任何渠道中发送消息

时间:2020-08-14 21:42:53

标签: python discord.py

我收到以下命令:

@client.command()
async def send(ctx, channel, *, content):
    channel = client.get_channel(id)
    await channel.send(content)

设置channel=None不会更改任何内容,并且会出现错误:

'NoneType' object has no attribute 'send'

async def send(ctx, channel=None, *, content):(不做任何更改-错误保持不变)

示例:我想向ID选择的频道发送一条消息。

enter image description here

图片是Command的外观截图。

1 个答案:

答案 0 :(得分:0)

发生这种情况是因为channelNone。 例如:如果您像这样打印频道类型

@client.command()
async def send(ctx, channel, *, content):
    channel = client.get_channel(channel)
    print(type(channel))
    # await channel.send(content)

您的输出将为<class 'NoneType'>。要解决此问题,您可以像这样将int传递到您的频道输出:

@client.command()
async def send(ctx, channel, *, content):
    channel = client.get_channel(int(channel))
    await channel.send(content)

enter image description here