Показать сообщение отдельно

  #23  
Старый 18.04.2022, 16:43
pomidorq
Участник форума
Регистрация: 17.04.2020
Сообщений: 184
С нами: 3197792

Репутация: 83
По умолчанию

Задумка прикольная, но исполнение не очень, начиная от названия переменных до отлова ошибок. Переменные называй всегда осмысленно, у тебя в коде переменная rts - это ID овнера, я например без понятия что такое rts, хотя там в инпуте написано, но всё равно. Лучше бы назвал owner_id. Там куча таких примеров. По поводу отлова ошибок, нет блоков try/except. Я переписал кусок твоего кода в более адекватный вид, я считаю, что без класса тут не обойтись.

Отловлены два основных вида ошибок, так что шанс краша такой программы близится к 0.

1.pngpomidorq · 18 Апр 2022 в 15:43' data-fancybox="lb-post-1019816" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/144031/" style="cursor: pointer;" title="1.png">

1.pngpomidorq · 18 Апр 2022 в 15:43' data-fancybox="lb-post-1019816" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/144033/" style="cursor: pointer;" title="1.png">


Так же, писать программу в одном файле - грубая ошибка. Нужно разбивать хотя бы на несколько файлов свою программу. Я уже не говорю о пакетах.

И ещё забавный момент, завершаешь программу каждый раз после выполнения выбранного действия. Это как-то неудобно и требует цикла while.

Вместо махины с кучей инпутов необходимо юзать массивы и циклы for, что уменьшит код в несколько раз. (Неправильный пример опять же из твоего файла)1.pngpomidorq · 18 Апр 2022 в 15:43' data-fancybox="lb-post-1019816" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/144035/" style="cursor: pointer;" title="1.png">


Не могу не упомянуть отправку сообщений/комментариев в цикле while True. Рано или поздно анти-бот система просто удалит твои сообщения. Нужен лимит, например: Введите кол-во сообщений (не больше 10), и ставить задержку с помощью time.sleep().

В начале кода ты объявил ненужную переменную time, которая ещё и является стандартным пакетом Python'a, которую ты импортировал, но ты использовал её всего один раз.



Вместо этого можно было не объявлять эту переменную и конкатенировать сразу с выражением.

 
Ответить с цитированием