2024-04-29 15:53:09 发布
网友
我的,是一个有趣的机器人为我同学的服务器。我有两个或三个服务器安装了bot,但当我尝试不发送消息时,它也无法在其他服务器上发送消息(尽管这是合乎逻辑的)
我的想法是创建一个包含机器人无法进入的帮会id的数组,然后,仅当帮会id不是该数组的一部分时才发送消息。从逻辑上讲,我认为有什么不对,我不必公开这个bot,它只是为一些朋友,所以我不会为每个服务器创建多个线程
我的问题是,有没有办法从用户发送的消息或从发送消息的渠道获取公会id?或者,还有其他更容易获得公会id的方法吗
discord.Message有一系列属性,您需要的属性有:
discord.Message
discord.Guild
id
discord.Messageable
那么,假设您正在使用on_message事件来获取公会ID:
on_message
async def on_message(message): guild_id = message.guild.id
要获取通道ID,请执行以下操作:
async def on_message(message): channel_id = message.channel.id
如果您使用的是命令,Context属性是相同的
Context
guild_id = ctx.guild.id channel_id = ctx.channel.id
此外,这些都是OOP的基本概念,您应该已经知道,如果您正在使用discord机器人,我的建议是,学习更多python
discord.Message
有一系列属性,您需要的属性有:discord.Guild
实例(具有id
属性)discord.Messageable
实例,该实例也具有id
属性那么,假设您正在使用
on_message
事件来获取公会ID:要获取通道ID,请执行以下操作:
如果您使用的是命令,
Context
属性是相同的此外,这些都是OOP的基本概念,您应该已经知道,如果您正在使用discord机器人,我的建议是,学习更多python
参考资料:
相关问题 更多 >
编程相关推荐