python - 有什么可以从消息或发送消息的频道中找到公会 ID 吗?不和谐.py
问题描述
我的,是为我同学的服务器制作的一个有趣的机器人。我有两三台机器人所在的服务器,但是当我尝试不发送消息时,它也无法在其他服务器中发送消息(尽管这是合乎逻辑的)。
我的想法是创建一个包含机器人无法交谈的公会 ID 的数组,然后仅当公会 ID 不属于该数组时才发送消息。从逻辑上讲,我认为有什么不对,我不必将这个机器人公开,只是为了一些朋友,所以我不会为每个服务器创建多个线程。
我的问题是,有没有办法从用户发送的消息或发送消息的频道中获取公会 ID?或者,还有其他更简单的获取公会ID的方法吗?
解决方案
discord.Message
有一堆属性,你要求的是:
discord.Message.guild
- 返回一个discord.Guild
实例(有一个id
属性)discord.Message.channel
- 返回一个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 概念,您应该已经知道,如果您正在使用不和谐的机器人 - 我的建议,请学习更多 python。
参考:
推荐阅读
- java - 更正应用程序的类路径,使其包含一个兼容的 oauth2.client.registration.ClientRegistrations 版本
- android - 我想在当前播放的歌曲上绘制小图标。使用 notifyDataSetChanged() 时 Listview 不更新新更改
- c++ - 检查用户输入是否输入了重复的数字
- ms-access - 使用 UCanAccess 的 MS Access '97 DB 字符集
- java - 如何让 Aws Lambda 连续运行
- python - 我想用 Django 响应图像
- .net - 在多个 .NET 项目中查找类的引用
- html - 标题没有继承 CSS 中类设置的新边距或宽度
- python - 从 matplotlib 中的直方图中提取数据点
- c# - 如何使 [DisallowNull] 显示对象初始化程序的错误?