问题描述
我正在尝试制作一个日志记录机器人,但是我遇到了 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)