message.channel.id Discord PY

2022-01-15 00:00:00 python python-3.x discord.py

问题描述

我正在尝试制作一个日志记录机器人,但是我遇到了 message.channel.id 的问题

I am attempting to make a logging bot however I am having issues with message.channel.id

触发事件时发送什么;消息 ID - 消息 ID |用户 - 用户 ID |他们的留言 |我的私人日志频道 - 他们发送消息的服务器

What is sent upon event being triggered; Message ID - Message ID | User - User ID | Their Message | My private log channel - Server where they sent message

代码的预期应用;消息 ID - 消息 ID |用户 - 用户 ID |他们的留言 |他们发送消息的服务器 - 他们发送消息的服务器

Intended application of the code; Message ID - Message ID | User - User ID | Their Message | Server where they sent the message - Server where they sent message

@bot.event
async def on_message(message):
    user = message.author
    user_id = message.author.id
    message_id = message.id
    content = message.content
    channel = message.channel.id
    guild = message.guild
    if user.bot:
        return
    channel = bot.get_channel(my private log channel)
    await channel.send(f"Message ID - {message_id} **|** {user} - {user_id} **|** {content} **|** #{channel} - {guild}")
    await bot.process_commands(message)


解决方案

你使用了两次同一个变量channel

You used twice the same variable channel

只需重命名其中一个

以下是更改 2 行的示例:

Here is an example of a change of the 2 lines:

@bot.event
async def on_message(message):
    user = message.author
    user_id = message.author.id
    message_id = message.id
    content = message.content
    message_channel = message.channel.id
    guild = message.guild
    if user.bot:
        return
    channel = bot.get_channel(my private log channel)
    await channel.send(f"Message ID - {message_id} **|** {user} - {user_id} **|** {content} **|** #{message_channel} - {guild}")
    await bot.process_commands(message)

相关文章