antiqous,
while n2 != '': - цикл прервётся тогда и только тогда, когда пользователь ввёл пустую строку.
Дальше у тебя пачка if внутри цикла, из которых выполнится только один
Простейший, но не самый аккуратный способ - использовать операторы continue и break.
Внутри тела каждого if в конце дописать continue - это заставит цикл перейти на следующую итерацию, т.е. "перезапустит" тело цикла.
А в конце тела цикла, после всех if, прописать break - это прервёт цикл.
Управление дойдёт до break только если ни один if не выполнился - т.е. если команда не распознана.
Mejkiz, если ты настолько новичок, что не знаешь даже базовой терминологии программирования, то нечего браться сразу за ботов.
Открываешь Марк Лутц, "Изучаем Питон", читаешь начиная с Главы 4 "Типы данных" (страница 121). Там не так много.
Когда поймешь, что у тебя сейчас спрашивают, отпишешься, будем разговаривать дальше.
По огрызку кода ничего не понятно. Как id получаешь?
И да, какой тип данных должен быть у id - число или строка?
Потому что в Питоне число 123 не равно строке "123".
Ну так сделай. Найди документацию на бибилотеку, которую используешь.
Найди в ней, как получить id отправителя команды.
Сравни этот id с твоим, если равен - выполняй команду.
Icir, ты вообще в курсе, как работать с файлами - не то что в питоне, а почти в любом языке программирования?
Когда ты открываешь файл, ты создаёшь своего рода отметку текущей позиции в этом файле. Чтение и запись будут производиться по этой позиции, и автоматически переместят отметку на число прочитанных/записанных байт. Метод seek() перемещает эту отметку.
Если файл открывается несколько раз одновременно, то будет несколько независимых отметок, и перемещение одной из них не повлияет на другие.
С учётом этого, перечитай мой ответ и подумай, могут ли манипуляции с открытым тобой файлом повлиять на то, как голосовой клиент discord.py читает этот же файл, если он открыл его независимо?
dayniel, если только начинаешь разбираться с JS, зачем ты сразу бросаешься писать ботов? Это не самая простая вещь. Освой азы языка сначала. Вот кроме шуток, сэкономишь в итоге больше времени и нервов.
n1 == 'Привет SCUB' or 'старт' or 'scub' :
Это НЕ работает так как ты этого ожидаешь.
Так как все строки не пустые, 'Привет SCUB' or 'старт' or 'scub' вычислится в 'Привет SCUB', так что условие будет эквивалентом n1 == 'Привет SCUB'
Libertatis Lunar, если ты начал учить питон сразу с ботов, поздравляю, ты наступил на те же грабли, что и сотни других.
Отложи бота и выучи основы языка, почитай того же Лутца, "Изучаем Питон". Я вполне допускаю, что синтаксис ты уже более-менее знаешь, но типы данных, и особенно структуры данных - списки, словари, кортежи - надо знать. Как и основные операции с ними, типа перебора элементов в коллекции, поиска элемента с нужными свойствами, и так далее.
Хотя бы будешь понимать что тебе советуют.
А так, задавай конкретные вопросы, попробую ответить. Сразу скажу, код за тебя писать не стану - толку не будет.
На кой огурец тебе возвращать его в json?
У тебя есть список, ну так фильтруй его как любой другой.
Вот только дай угадаю, ты так и оставляешь при повторной фильтрации data['data']['list']?