首页 > 解决方案 > 有什么可以从消息或发送消息的频道中找到公会 ID 吗?不和谐.py

问题描述

我的,是为我同学的服务器制作的一个有趣的机器人。我有两三台机器人所在的服务器,但是当我尝试不发送消息时,它也无法在其他服务器中发送消息(尽管这是合乎逻辑的)。

我的想法是创建一个包含机器人无法交谈的公会 ID 的数组,然后仅当公会 ID 不属于该数组时才发送消息。从逻辑上讲,我认为有什么不对,我不必将这个机器人公开,只是为了一些朋友,所以我不会为每个服务器创建多个线程。

我的问题是,有没有办法从用户发送的消息或发送消息的频道中获取公会 ID?或者,还有其他更简单的获取公会ID的方法吗?

标签: pythondiscorddiscord.py

解决方案


discord.Message有一堆属性,你要求的是:

因此,假设您正在使用一个on_message事件来获取公会 ID:

async def on_message(message):
    guild_id = message.guild.id

要获取频道 ID:

async def on_message(message):
    channel_id = message.channel.id

如果您使用的是命令,则Context属性是相同的

guild_id = ctx.guild.id
channel_id = ctx.channel.id

这些也是基本的 OOP 概念,您应该已经知道,如果您正在使用不和谐的机器人 - 我的建议,请学习更多 python。

参考:


推荐阅读