Discord.py 尝试删除频道时重写“.delete()”命令出错

Discord.py rewrite when trying to delete a channel the ".delete()" command gives an error

我已经在 discord 机器人上工作了一段时间,但我遇到了一个问题。 创建一个频道(Ticket)就好了,但是当我想删除某个频道时,即使我做了一个 if 语句,它仍然会关闭所有频道:

if message.content.lower().startswith('!close'):
    close = message.channel.id
    if close == '521992786187255818' or close == '525730667607228426' or close ==... (etc):
        await message.channel.send("This command is only allowed in a ticket channel!")
    elif close != '521992786187255818' or close != '525730667607228426' or close !=...(etc):
        await message.channel.delete(reason='Ticket Closed')

我已经尝试了所有我能想到的方法:将我不想让它关闭的频道制作成一个列表。

所以问题是:我希望 !close 命令只关闭我没有列出的频道。但是当我在列出的频道(我在 if 语句中输入的频道)中尝试时,它仍然关闭它。

希望能得到解答! 提前致谢:)

在重写分支中,all ids are integers, not strings。将您的代码更改为

non_ticket_channels = [521992786187255818, 525730667607228426, ...]

if close in non_ticket_channels:
    ...
else:
    ...