Статья Не дайте себя обмануть | Telegram Репортеры / Сносеры
  • Создано
  • 28
Genxus
    Genxus
  • 9
  • 7
Пользователь
f393355c-f35f-42ed-b678-0d03312843ad.webp


Приветствую!
Думаю многие из вас видели кучу ботов по продаже различных услуг вроде продажи говнософта или манясносу
:colobok_cool:
. Прайсы у такого говна очень часто высокие. И сейчас же я вам покажу отличный пример подобного бота, который был вынут из аккаунта бомжа. Я разберу код бота и дам вам базовые советы, как делать нужно или не нужно.


Приступим к разбору.

Бот позиционировался как репортер на каналы с целью их удаления с телеграма.
Начнем с того, что весь код бота написан в одном нахуй меин файле. Не делайте так.

Разбивайте вашего бота на модули, хендлеры делайте в отдельных файлах.
Это повысит читаемость вашего кода и также делает его удобным для модифицирования и починки в случае ошибок. Также база данных
Для начала смотрим на охуеннейшие библиотеки телебоб

c21f3cd6-c996-465a-9da6-38de34a4da40.webp


Если вы хотите сделать своего бота, то умоляю вас, не используйте эту нищенскую синхронную библиотеку telebot. Это самая говнищная библиотека для управления ботами. А все потому, что она синхронная. В общих чертах это значит, что пока бот не обработает команду одного человека, другому человеку он не ответит. Это значит, что если у бота будет какое-то прерывание, или он будет перегружен, то он будет работать нестабильно. Вместо телебота используйте Aiogram. Просто разберитесь немного как эта библиотека работает, и у вас будет максимально стабильный и удобный бот

Теперь посмотрим на следующую функцию, которая, как я полагаю, проверяет есть ли подписка у пользователя.

03fa6a39-1cf0-4eaf-b65a-ca26a1fada18.png





Здесь настолько много пиздеца, что это даже объяснить трудно. как минимум глобалки в функции. Это что вообще блядь такое?

Никогда, слышите, НИКОГДА НЕ ИСПОЛЬЗУЙТЕ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ В ФУНКЦИЯХ.
Никогда не используйте русский текст в ключах словарей, вы можете использовать кириллицу только в случаях, если это какой-то текст, который программа будет выводить на экран или же в комментариях к вашему коду.

Едем дальше.
25a67a44-0726-42c5-83a1-1c71d6b6b158.png


Здесь, как я полагаю, хранятся промокоды в боте. Не делайте так в меине. Как минимум создайте отдельный .py файл, где записаны все эти промокоды и в главном коде импортируйте просто из этого файла. Но лучше всего сделайте отдельную таблицу в базе данных. Это будет лучше и правильнее всего.
412.png

Не делайте так.
Храните токен бота как минимум в config файле. Если вы сделали переменную channel_id, то это должно быть числовое значение, а не строка. Если у вас два канала, то храните все значения каналов хотя-бы в списке.

61da2e9d-f1b5-4407-bc75-aba95812b4bb.png

Здесь нахуя-то делается переменная "nah", которая нигде не используется. Принты тоже бесполезные. Вместо принтов для отладки используйте логгирование. Самая простая библиотека - logging. Это встроенная базовая библиотека. Более красивая и продвинутая библиотека - это loguru.

Для добавления инлайн кнопок сделайте отдельную функцию. Не делайте этого в хендлере.

c2a3fa10-7840-4120-bdcb-0ac8797697bd.png


Опять блядские глобалки :putin:

c7211c10-490c-4b9b-af86-da4f6f097905.png

Нахуя делать такой цикл, если можно просто:

for i in users:

abc2ebe4-9080-4bd1-a55a-5fe54b838525.png

Очередная неиспользуемая переменная и бесполезные принты непонятно-какой хуйни
9d53807d-64be-4862-8de9-de9450757ade.png

Ну вот опять сука. Ни форматирования, нихуя. Очередные глобальные переменные со всратыми названиями.

b49ed8a3-54de-4a57-b4d7-0132ce324301.png
f строка которая нахуй не нужна, потому, что в нее никакие данные не вставляются. Очередная глобалка, очередные переменные, которые нигде не использованы
:BrainCosmic:


cbe006b8-d64a-4528-b5a8-25fd94cd5498.png

Функции, которые делают ровно одно и то же. Зачем так делать?

Прошу обратить внимание на названия переменных.
Не используйте ебнутые названия для переменных. Особенно если переменная называется "ahyel" :suita:


b5f2419e-25d4-4be3-b794-604bdf31fc5a.png

И такого говна там очень много.
0395d9f7-e729-4b1d-bbb5-52fb4c4a7739.png
Невъебенная защита своего же канала от несуществующих жалоб
:gomerhide:


19044808-e37c-4f32-9a22-647896327ab8.png

"ЫЫЫ ГЛОБАЛКА ЩА НАЕБЕНЮ ГЛОБАЛОК БУДУ КРУТЫМ ПРАГРАМИСТОМ ЫЫЫ ГЛАБАЛКА ЫЫЫЫЫЫЫЫ
:sigma:
"

689e8b23-c572-4938-83f1-cc02505fc6e8.png
Крайне полезные комментарии к функции.
Теперь посмотрим на сам функционал нашего невъебического сноса.

IMG.PNG

Чтобы сделать этот кал более читаемым, я отформатирую код.

17b471a4-3346-475f-813b-999838e3c60d.png


В этом и заключается весь функционал "сноса". Для тех, кто не понял, бот тупо изменяет сообщение, в котором происходит имитация отправки жалоб. То есть блядь кроме визуальной поебени бот не делает тупо нихуя.
Он по таймауту в 4, 2 и 0.6 секунд изменяет сообщение.
Это мне напомнило скрипты на термуксе от индусов, в которых делалась строка загрузки. Там по таймауту через принт выводилось: "Loading 10%..." в них очищался экран, и через паузу обновлялся процент через print.
По сути бот является наебом, он ничего не делает и не сделает. Разработчик этого говнища просто кидает своих пользователей на бабки
:stoneebalo:



ab577321-db0a-498f-94ca-bb09ec8dcde8.png
С таким же успехом вы можете побиться башкой об стену . Это принесет даже больше результата, чем эта поебень.
Заметил то что на лолзе плохо работают картинки(9(


Вывод

Не пользуйтесь ботами, которые писали рукожопы-манядоксеры. Почти любой проект, который создают школодоксеры - это либо наеб, либо какой-то кал по оверпрайсу. Пишите адекватные проекты на нормальных библиотеках и не занимайтесь всякой хуйней, вроде доксинга или сваттинга.
Написать в Telegram
Ответы2
Назад
Сверху
Лента Войти Разделы