是否有任何东西可以从消息或消息发送的渠道中找到公会id?不和谐

2024-04-29 15:53:09 发布

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

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

我的想法是创建一个包含机器人无法进入的帮会id的数组,然后,仅当帮会id不是该数组的一部分时才发送消息。从逻辑上讲,我认为有什么不对,我不必公开这个bot,它只是为一些朋友,所以我不会为每个服务器创建多个线程

我的问题是,有没有办法从用户发送的消息或从发送消息的渠道获取公会id?或者,还有其他更容易获得公会id的方法吗


Tags: 方法用户服务器id消息bot机器人朋友
1条回答
网友
1楼 · 发布于 2024-04-29 15:53:09

discord.Message有一系列属性,您需要的属性有:

  • ^{}-返回一个discord.Guild实例(具有id属性)
  • ^{}-返回一个discord.Messageable实例,该实例也具有id属性

那么,假设您正在使用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的基本概念,您应该已经知道,如果您正在使用discord机器人,我的建议是,学习更多python

参考资料:

相关问题 更多 >