• [ Регистрация ]Открытая и бесплатная
  • Tg admin@ALPHV_Admin (обязательно подтверждение в ЛС форума)

Статья Не дайте себя обмануть | Telegram Репортеры / Сносеры

stihl

Moderator
Регистрация
09.02.2012
Сообщения
658
Розыгрыши
0
Реакции
380
Deposit
0.228 BTC
stihl не предоставил(а) никакой дополнительной информации.

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

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


Бот позиционировался как репортер на каналы с целью их удаления с телеграма.
Начнем с того, что весь код бота написан в одном нахуй меин файле. Не делайте так.
Разбивайте вашего бота на модули, хендлеры делайте в отдельных файлах.
Это повысит читаемость вашего кода и также делает его удобным для модифицирования и починки в случае ошибок. Также [tooltip=71]база[/tooltip] данных
Для начала смотрим на охуеннейшие библиотеки телебоб :da:

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


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

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


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


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



25a67a44-0726-42c5-83a1-1c71d6b6b158.png

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

628f76d6-77c8-404c-b691-46dce76584c9.png


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


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


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

Для добавления инлайн кнопок сделайте отдельную функцию. Не делайте этого в хендлере.
c2a3fa10-7840-4120-bdcb-0ac8797697bd.png


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


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


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

Python:
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" 🤦


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


Крайне полезные комментарии к функции.
Теперь посмотрим на сам функционал нашего невъебического сноса.


412a92c5-f32d-45fd-9c4e-0ce54250ee5c.webp


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

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


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

ab577321-db0a-498f-94ca-bb09ec8dcde8.png


С таким же успехом вы можете побиться башкой об стену . Это принесет даже больше результата, чем эта поебень.
Заметил то что на лолзе плохо работают картинки(9(

Вывод


Не пользуйтесь ботами, которые писали рукожопы-манядоксеры. Почти любой проект, который создают школодоксеры - это либо наеб, либо какой-то кал по оверпрайсу. Пишите адекватные проекты на нормальных библиотеках и не занимайтесь всякой хуйней, вроде доксинга или сваттинга.
 
Activity
So far there's no one here
Сверху Снизу