python - 如何使用 discord.py 获取当前服务器内所有类别和频道的列表?
问题描述
我想要一个输出,它将输出机器人所在的服务器内的所有(类别名称和 ids + 频道名称和 ids)。
代码可能如下所示:
# catetories
@client.command()
async def list_catetories(ctx):
for category in discord.categories:
print('id: ' + category.id + ', name: ' + category.name)
# channels
@client.command()
async def channels(ctx):
for channel in discord.channels:
print('id: ' + channel.id + ', name: ' + channel.name)
解决方案
# categories
@client.command()
async def cat(ctx):
for category in ctx.message.guild.categories:
print(category.name)
# text channels
@client.command()
async def txtChannel(ctx):
for text_channel in ctx.message.guild.text_channels:
print(text_channel.name)
#voice channels
@client.command()
async def vc(ctx):
for voice_channel in ctx.message.guild.voice_channels:
print(voice_channel.name)
#all channels + categories
@client.command()
async def channels(ctx):
for channel in ctx.message.guild.channels:
print(channel.name)
解决方案
有多种渠道类型,因此以下代码将显示all
渠道。如果你想按类型过滤,你应该检查它的类型
@client.command()
async def channels(ctx):
for channel in ctx.guild.channels:
print(f"Name: {channel.id} Id: {channel.id}")
推荐阅读
- laravel - Vuetify(Vue + Laravel)路由器推送后未设置导航栏活动链接
- user-permissions - 由于致命错误 wp_get_current_user 无法访问网站或后台
- google-cloud-platform - Postman - 通过身份验证保护的访问 API:Google Identity Aware Proxy 背后的 Bearer Token
- nestjs - Nestjs 测试:升级到 v8 后无法使用 app.get?
- kendo-ui - 多 ”
剑道 UI 图表中的“属性转换”错误会破坏 pdf 导出 - c# - 使用一个大项目处理来自另一个解决方案的 XAML 按钮单击
- highcharts - 股票条形图多线系列的高图表问题
- javascript - 在 Gulp 4 中将 gulpfile.js 拆分为多个文件的问题
- django - 如何检索第一个非空查询集Django
- javascript - 如何在反应原生 iap 中清除订阅等待(android)?