AttributeError:“int”对象没有属性“send”

2024-10-03 21:27:55 发布

您现在位置:Python中文网/ 问答频道 /正文

不确定问题是什么,但感谢您的帮助

@client.event
async def on_message(message):
    channel = CHANNEL_ID
    isbot = message.author.bot
    if isbot:
        pass
    else:
        await channel.send(message.content)

CHANNEL_ID已在mytokens.py上定义

每当我在bot关注的通道中发送消息时,就会出现此问题


Tags: clienteventidmessageasyncifondef
1条回答
网友
1楼 · 发布于 2024-10-03 21:27:55

由于您正在将channel分配给CHANNEL_ID,因此channel的数据类型将与CHANNEL_ID相同。由于CHANNEL_ID可能是一个int,因此可以使用各种可用的函数和方法来获取TextChannel对象以使用send()方法


使用discord.utils.get()函数:

@client.event
async def on_message(message):
    channel = discord.utils.get(message.guild.channels, id=CHANNEL_ID)
    isbot = message.author.bot
    if isbot:
        pass
    else:
        await channel.send(message.content)

使用^{} method

@client.event
async def on_message(message):
    channel = await client.fetch_channel(CHANNEL_ID)
    isbot = message.author.bot
    if isbot:
        pass
    else:
        await channel.send(message.content)

使用^{} method

@client.event
async def on_message(message):
    channel = await client.get_channel(CHANNEL_ID)
    isbot = message.author.bot
    if isbot:
        pass
    else:
        await channel.send(message.content)

相关问题 更多 >