python - 更改某个角色的频道权限 discord.py
问题描述
我正在制作一个登录到另一个频道的 tempmute 命令,我拥有它,这样当没有名为“modlog”的频道时它会创建一个,但到目前为止我拥有它,所以每个人都无法输入它,包括我。我如何使它成为一个名为“会员”的角色,不能只输入它?
代码:
`except:
await ctx.send("No channel called 'modlog', creating one. (Note: Setup the permissions to allow
everyone to see the channel but cannot type in it")
await asyncio.sleep(3)
await ctx.send(":white_check_mark: Channel Created! :thumbsup:")
perms = ctx.channel.overwrites_for(ctx.guild.default_role)
perms.send_messages=False
await ctx.guild.create_text_channel(name='modlog', permissions=perms)
logs = discord.utils.get(guild.text_channels, name="modlog")
await logs.set_permissions(ctx.guild.default_role, send_messages=False)
guild = ctx.guild
modlog = discord.utils.get(guild.text_channels, name="modlog")
await modlog.send(embed=kickEmbed)
await modlog.send(embed=unmutelog)
await ctx.send(embed=embed)`
解决方案
通过这样做
modlog = discord.utils.get(guild.text_channels, name="modlog")
logs = discord.utils.get(guild.text_channels, name="modlog")
await logs.set_permissions(modlog , send_messages=False)
因此,首先您获得了角色,然后更新了频道权限。ctx.guild.default_role
属于everyone
。让我知道这是否不适合你。
推荐阅读
- reactjs - 使用 react router dom v6 保护路由 渲染没有返回任何内容
- c++ - 如何从我的函数中获取 TSP 导览?
- python - Python 子进程 - 进入伪终端以将命令作为 args 或作为输入流运行到远程 ssh 终端
- python - 获取 Python 中不和谐机器人的不和谐显示名称的括号部分
- android - "建议:添加 'tools:replace="android:value"' 到
AndroidManifest.xml:12:9-14:91 中的元素覆盖。” - maven - 如何禁用连接到 Maven 中心的 Maven
- javascript - Stripe API 问题的 Ruby 结帐按钮?
- nginx - 静态文件部署时的 Nginx 双目录引用
- php - 如何使用另一个循环将内容添加到 foreach 中的 $variable
- wechat - 微信如何通过开放平台发送消息?