1. Заворачивай код в тег <code> (с помощью кнопки </>). Питон без отступов нечитаем.
2. Простыню кода спрячь под спойлер.
3. Дай полный стектрейс ошибки, включая строку, на которой она возникает.
-----------------------------------------------------------------------------------------------------------------------------------------
1. Use <code> tag (or </> editor button) to format your source code properly. Python code is boderline unreadable without indents.
2. Put long source code blocks under spoiler tag.
3. Provide full stacktrace of the error, uncluding the line that triggered it.
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'