頻道有屬於自己的物件,與使用者一樣,記載許多相關資訊

頻道有分很多種,而最常拿來操作的是文字頻道
所以此文以discord.TextChannel 來當作範例,這是文字頻道所屬的類別

建議閱讀使用者物件

輸入頻道

此處方法跟輸入使用者一樣,不多做贅述

用數字ID取得頻道

此處跟取得使用者不同,需要使用await

1
channel = await bot.fetch_channel(頻道ID)

常用屬性

name

頻道的名稱
頻道的名稱跟使用者不一樣,只有一個,所以不需要擔心取到哪一個

guild / id

這是頻道所屬伺服器與頻道本身id
此處可以注意到,Discord的物件間都是環環相扣的,每一個物件都可以與另一個物件有關聯


mention

與使用者的概念一樣,當訊息送出時可以提及該頻道


send()

這個方法我們之前有學過了,就是ctx.channel.send()
在該頻道送出一個訊息

1
2
3
4
@bot.tree.command()
async def say(interaction:discord.Interaction, channel:discord.TextChannel, msg:str):
await channel.send(msg)
await interaction.response.send_message(f'已在{channel.mention}說出{msg}')