Discord.py переписать при попытке удалить канал команда ".delete()" выдает ошибку

Я некоторое время работал над диссон-ботом, но столкнулся с проблемой. Создание канала (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), он все равно закрывается.

Я надеюсь, что смогу получить ответ! Заранее спасибо:)

1 ответ

Решение

В ветви перезаписи все идентификаторы являются целыми числами, а не строками. Измените свой код на

non_ticket_channels = [521992786187255818, 525730667607228426, ...]

if close in non_ticket_channels:
    ...
else:
    ...
Другие вопросы по тегам