だから私は友達のサーバーの1つにボットを書いていて、それを機能させることができるようです。複数のチャンネルを非表示にする方法が必要です。配列に隠す必要のあるすべてのチャネルを提供する関数をすでに作成しました。呼び出されたときに配列内の項目を反復処理する関数が必要です。この関数は、関数が提供read_messages
する指定されたユーザーからのアクセス許可を削除します。
# expected input
hide(channels_to_hide, user)
期待される出力:にリストされてchannels_to_hide
いるすべてのチャネルはから非表示になっていuser
ます。
私は使用しようとしawait channel.set_permissions()
ましたが、それを機能させることができないようで、チャネルを非表示にするとドキュメントが少しスペーシーに見えます。また、discord.pyリライトバージョンを使用しています。
ありがとう、スープ
指定されたすべてのチャネルを非表示にする役割を検討する必要があります。ロールを取得して、このように追加できます。これは、on_raw_reaction_add内で実行されます。
@bot.event
async def on_raw_reaction_add(payload):
if message.author.id != bot.user.id:
return # not to take reactions from message not made by the bot itself
role = 'hide' # you can also use a list of roles
guild = bot.get_guild(payload.guild_id)
user = await bot.fetch_user(payload.user_id)
name = guild.get_member_named(user.name)
await name.add_roles(role)
役割を追加する別の方法は次のとおりです
role = discord.utils.get(ctx.guild.roles, name="role to add name")
user = ctx.message.author
await user.add_roles(role)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加