実現したいこと
Discord.pyにて、指定されたタイミングで指定されたボイスチャンネルのステータスを変えるBOTを作成したい
詳しく言いますと、ボイスチャンネルのチャットに送信される他BOTからのEmbedから一部分を取り出し、それをステータスに指定したいと思っています。
発生している問題・分からないこと
ボイスチャンネルのステータスを変えるための関数が見つからない
該当のソースコード
Python(問題のCog部分)
1import discord 2from discord.ext import commands 3from discord import app_commands 4from func.ready import bot_ready_print 5import re 6 7class NameCog(commands.Cog): 8 def __init__(self, bot:commands.Bot): 9 self.bot = bot 10 11 @commands.Cog.listener() 12 async def on_ready(self): 13 bot_ready_print("Cog") 14 15 16 @commands.Cog.listener() 17 async def on_message(self, message:discord.Message): 18 content = message.content 19 content_embeds = message.embeds 20 first_embed = content_embeds[0] 21 channel = message.channel 22 channel_id = channel.id 23 member = message.author 24 member_id = member.id 25 26 if(channel_id == ボイスチャンネルのID): 27 if(member_id == 他BOTのID): 28 a = re.search(r'\[(.*)\]',first_embed.description) 29 b = a.group()[1:-1] 30 print(b) 31 voice = self.bot.get_channel(ボイスチャンネルのID) 32 # ここから下に作成したい。 33 # 変数bに指定したい文字列が入っている 34 35async def setup(bot): 36 await bot.add_cog(NameCog(bot))
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
Bingにて、「discord.py ボイスチャンネル ステータス 変更」や、「discord.py voice channel status change」などと調べてみたのですが、BOTのステータス(〇〇をプレイ中など)についての記事が出てきて、ボイスチャンネルのステータスについての記事が見つかりませんでした。
ソースコードに関しては、ありそうなチャンネルに含まれる関数や変数をprintなどして中身を確認してテストしてみましたが、どれもそれに当たりそうなものは見つかりませんでした。
補足
実行環境
Macbook Air (M2,2022)
macOS Sequioa 15.0.1
Python 3.12.8
discord.py 2.5.0

回答1件
あなたの回答
tips
プレビュー