BETA

【discordpy】ボイスチャンネルにいない時にテキストチャンネルを隠す

投稿日:2019-05-05
最終更新:2019-05-05

仕様

以下は音楽botを利用する場合の例。

MUSICBOTというカテゴリを作り、
その中に同名のテキストチャンネルとボイスチャンネルを作成します。
テキストチャンネルはデフォルトで閲覧権限をOFFにしておきます。

Botがボイスチャンネルへの入室をトリガーにして、
テキストチャンネルの閲覧権限をONにします。
退室時にはその逆の操作を。

ソースコード

import discord  
import os  

client = discord.Client()  
TOKEN = os.environ['DISCORD_BOT_TOKEN']  
ID_CATEGORY_MUSICBOT = os.environ['DISCORD_CATEGORY_MUSICBOT']  

@client.event  
async def on_voice_state_update(member, before, after):  
    def get_union_text_channel(channel):  
        return discord.utils.get(member.guild.text_channels, name=channel.name)  
    if not before.channel and after.channel and after.channel.category_id == ID_CATEGORY_MUSICBOT:  
        await get_union_text_channel(after.channel).set_permissions(member, read_messages=True)  
    if before.channel and not after.channel and before.channel.category_id == ID_CATEGORY_MUSICBOT:  
        await get_union_text_channel(before.channel).set_permissions(member, read_messages=False)  

client.run(TOKEN)  
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

備忘録のようなもの

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!