我正在尝试创建一个命令,允许用户删除其服务器中的每个文本 channel 。运行这段代码时出现错误。
AttributeError: 'Guild' object has no attribute 'delete_text_channel'
@client.command()
async def test(ctx):
guild = ctx.message.guild
for channel in guild.channels:
guild.delete_text_channel(channel)
最佳答案
使用await channel.delete()
。
如您的错误消息所述,对象 'Guild'
没有属性 'delete_text_channel'
正确的方法是:
@client.command()
async def test(ctx):
guild = ctx.guild
for channel in guild.channels:
await channel.delete()
或者,您可以添加删除邮件的原因,这将显示在审核日志中:
channel.delete("Because I can")
更多信息 here
.
小心
guild.channels
调用所有 channel ,而不仅仅是文本 channel 。
要仅调用文本 channel ,请使用 guild.text_channels
。
关于python - Discord.py 如何删除每个文本 channel ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63862354/