【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)  
記事が少しでもいいなと思ったらクラップを送ってみよう!
52
+1
備忘録のようなもの

よく一緒に読まれている記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる

技術ブログをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

技術ブログを開設する

Qrunchでアウトプットをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

Markdownで書ける

ログ機能でアウトプットを加速

デザインのカスタマイズが可能

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする