前提・実現したいこと
discordのbotをdiscord.pyで作っています。
役職制限が付いたチャンネルを作成したいのですが、
チャンネルごとに分けたいので、
roleの名前をchannelnameにしています。
イメージとしては、
.createchannel <channelname>
<channelname>という名のroleを作成
作成したチャンネルはrole:<channelname>の人のみ、
閲覧できるようにしたいです。
発生している問題・エラーメッセージ
実行前 Unused variable 'new_role' 実行時 discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'Guild' object has no attribute 'new_role'
該当のソースコード
py
1 @commands.command 2 async def createchannel(self,ctx,channelname,member,*,description=None): 3 if ctx.channel.id == *****************: 4 #専用役職の作成 5 new_role = await ctx.guild.create_role(name=str(channelname)) 6 new_overwrites = { 7 ctx.guild.default_role: discord.PermissionOverwrite(read_messages=False), 8 ctx.guild.new_role: discord.PermissionOverwrite(read_messages=True) 9 } 10 #以下チャンネルを作成 11 category_id = ***************** 12 category = ctx.guild.get_channel(category_id) 13 new_voice_channel = await category.create_voice_channel(name=str(channelname),user_limit=int(member)) 14 new_text_channel = await category.create_text_channel(name=str(channelname),overwrites=new_overwrites)
試したこと
new_overwrites内のctx.guild.new_roleを
ctx.guild.discord.role.new_role
など、変更しました
補足情報(FW/ツールのバージョンなど)
pythonのバージョン 3.6.6
discordのバージョン 1.3.2
です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。