Пишу реальную программу. Рассылка сообщений по WhatsApp при помощи Python.

  Рет қаралды 14,602

Клуб дедов-программистов

12 күн бұрын

Забрать бесплатные ресурсы и 4000 бонусов от Cloud․ru можно на сайте: sc.link/YZUL5
Автоматизировать отправку сообщений по WhatsApp практически невозможно. Но мы попробуем :)
Используя язык Python, библиотеку PyAutoGui, начальные навыки программирования и серую кепку!
⭐️ Мой подробный "Роадмап деда-программиста. Python бэкенд." со скидкой 20% : stepik.org/a/133721/pay?promo=ddd5a08519af0876
(Срок действия ссылки - до 15.05.24)
💾 Финальный код: github.com/break-and-enter/oldcodersclub/tree/main/whatsapp
👨🏻‍💻 Чат Клуба дедов-программистов в Телеграме: t.me/oldcodersclub
00:00 Intro
02:15 Приступаем
03:01 Отошлем одно сообщение
03:40 Проблемы с кодировкой
06:38 Беремся за PyAutoGUI
08:59 Отправим несколько сообщений
10:52 Отправим сообщения по именам из файла
14:20 Финальная программа
15:03 Outro

Пікірлер: 109
@OLAFBONDD
@OLAFBONDD 12 күн бұрын
Мне нравится, что вы объясняете человеческим языком. Это такая редкость. Наверное, сказалось, что до 44 лет вы жили среди людей:) Скучаю по вашим животинкам из прошлых заставок. Видео выходят преступно редко. Раз рекламирует аренду сервера, покажите практические приемы использования: полезные боты или ещё что. Спасибо!
@oldcoders
@oldcoders 11 күн бұрын
🤣 спасибо! Животинки еще будут, я просто не хочу их часто эксплуатировать :))) Видео редко потому что чудовищно много времени уходит на один ролик. Текст, сьемка, монтаж. Полезные боты - дело в том что я выкладываю видео про реальные мои случаи написания программ. А ботов я не пишу. Веб - приложения слишком сложно, в одном видео не опишешь , да и не для начинающих это. Напишите вообще что хотели бы видеть на канале, буду думать.
@misterjunior3751
@misterjunior3751 6 күн бұрын
@@oldcoders огромная благодарность за ваш качественный и подробный контент, по Kivy и КivyMD очень мало годных контентов, не могли бы вы запилить что-то годное по этим библиотекам?
@johnsnow7288
@johnsnow7288 11 күн бұрын
Напиши хороший код и ты будешь нужен пару дней. Напиши плохой код и ты будешь нужен всю жизнь
@Kira0168
@Kira0168 12 күн бұрын
Поздравляю вас с 100к подписчиками!!!Желаю вам удачи!!!!!!
@oldcoders
@oldcoders 12 күн бұрын
Спасибо ☺️ И вам всего хорошего!
@marshal33311
@marshal33311 12 күн бұрын
Как всегда все четко и понятно, спасибо!
@LackyBird
@LackyBird 11 күн бұрын
Спасибо! Как всегда просто и понятно!
@TheAnthonyDav
@TheAnthonyDav 12 күн бұрын
Спасибо. Как всегда очень полезное видео
@issta4391
@issta4391 12 күн бұрын
спасибо, чел, за качественный контент и его подачу. хотелось видеть тебя коучем по таким проектам и другим. творческих успехов тебе
@user-rp7sg6eo4b
@user-rp7sg6eo4b 12 күн бұрын
Ну дед, ну даёт ! Лайк конечно же !
@andredru4278
@andredru4278 12 күн бұрын
Спасибо. Посмотрел с удовольствием.
@bednyakov
@bednyakov 9 күн бұрын
Я тоже занимаюсь программированием с твоих 44 или 45 лет, Руслан)) Скрипты, конечно, давно перерос, но смотреть автоматизацию реальной задачи всегда приятно. Спасибо за видео.
@AlexRootx
@AlexRootx 12 күн бұрын
чтобы не городить огород, можно воспользоваться Селениумом или Плэйрайтом, у них есть явные и неявные ожидания
@Podacha66
@Podacha66 10 күн бұрын
Спасибо, очень интересное и полезное видео.
@user-st4ih8cu6l
@user-st4ih8cu6l 12 күн бұрын
Благодарю вас!
@name1355_0ne
@name1355_0ne 11 күн бұрын
Костылить периодически приходится, куда уж без этого )). Можно было бы назвать это не костылём, а MVP для солидности )) В любом случае, спасибо за видео, в нем есть несколько очень интересных моментов на подумать.
@user-xg3en3nh1g
@user-xg3en3nh1g 10 күн бұрын
Писал такое же на С++. Только если клиент ответит что то, то можно выбрать один из нескольких шаблонов по сочетанию клавиш от 1 до 9 + control + shift. И шаблон поставляется в поле ввода.
@viksir4278
@viksir4278 8 күн бұрын
Руслан, большое спасибо; четко, ясно и по-делу. интересное решение. успехов.
@user-kz5bg5pw4l
@user-kz5bg5pw4l 12 күн бұрын
Спасибо за новый урок!!! Но, дед, ты запятую там забыл)))
@oldcoders
@oldcoders 12 күн бұрын
Есть такое! Я по молодежному, без знаков препинания 😉
@Abramov_Andrey
@Abramov_Andrey Күн бұрын
Руслан - красавчик! Как всегда просто и понятно, полезно смотреть твои видео, сразу думаю, что бы мне автоматизировать!
@user-mt7mh2iy7y
@user-mt7mh2iy7y 12 күн бұрын
Браво, симпатичный костыль. Но главное познавательно и очень быстро! Спасибо!
@gurban123
@gurban123 12 күн бұрын
Красавчик!!!!!!!!!!!!!!!!!!!!!!
@user-dr1mw9bh5s
@user-dr1mw9bh5s 12 күн бұрын
4:38 А почему у вас скидки до МИНУС тридцати процентов, это какие-то "отрицательные скидки"?
@oldcoders
@oldcoders 11 күн бұрын
да не знай, так пишут всегда в магазинах. Чтобы не подумали видимо что скидка как наценка в 30% :)
@Socador_bas
@Socador_bas 6 күн бұрын
Такой милый, знакомый, дорогой сердцу колхоз. Прям как у меня. Только я на Селениуме колхозил. :-)
@oldcoders
@oldcoders 6 күн бұрын
😆😆😆
@ViktorBokov
@ViktorBokov 3 күн бұрын
Ого, здорово и очень интересно. Абалденный пример и реализация нестандартная, пусть и костыльная, но для новичка очень интересно. Подписываюсь :)
@johnsnow7288
@johnsnow7288 12 күн бұрын
Только собирался начать ругаться, что долго нет новых видео
@oldcoders
@oldcoders 12 күн бұрын
😆
@user-wu3vu8kx9g
@user-wu3vu8kx9g 12 күн бұрын
В место задержек если любишь костыли делай скрипт с компьютерным зрением. Чтобы искал кнопочки на экране и нажимал.
@oldcoders
@oldcoders 11 күн бұрын
Да. Но выигрыш по времени врядли будет большой, секунд 5-10 за минуту может выиграешь.
@45kg35
@45kg35 6 күн бұрын
Вот если бы все обучали погромированию на реальных примерах, как вы, все на свете стали бы погромистами. Большое спасибо
@AlexSav
@AlexSav 12 күн бұрын
После "Здравствуйте" нужно поставить запятую
@oldcoders
@oldcoders 12 күн бұрын
Точно!
@baloobear70
@baloobear70 12 күн бұрын
Я облаял это видео. Начал зарабатывать программизмом вообще после 33, но к 43 выгорел.Сейчас просто рефлексирую.
@oldcoders
@oldcoders 11 күн бұрын
Как говорит молодежь - Флексю! (а может так и не говорит уже)
@Paradise_Box
@Paradise_Box 12 күн бұрын
Хороший урок! Только вот ожидание готовности Ватсаппа уж очень костыльное. Думаю сам вебдрайвер должен уметь сообщать о готовности, но это не точно. А вообще, в подобного рода программах (а мне довелось накорябать парочку таких), готовность управляемой программы можно проверять визуально. Т.е. вроде бы тем же автогуем делаем скриншот экрана и ищем на нем картинку которая нам скажет о том, что программа готова. Ну, например серый смайлик у строки ввода Ватсаппа... И как только смайлик появился - считаем что программа готова. Это правильнее, увлекательнее и открывает широкие горизонты :) Но... Есть свои тонкости, не всегда сходу находит нужную картинку, первый раз возможно будет нужно повозиться.
@oldcoders
@oldcoders 12 күн бұрын
Да, можно и так «извращаться» 😀! Но тогда все таки правильнее всего selenium использовать, он для этого прям идеален.
@Paradise_Box
@Paradise_Box 12 күн бұрын
@@oldcoders В данном конкретном случае скорее всего селениум. А через скриншоты самый универсальный способ, который вообще для любой программы подойдёт. Этим он и хорош.
@igorratnik2357
@igorratnik2357 10 күн бұрын
Вот для таких вещей и есть упомянутый Selenium
@Paradise_Box
@Paradise_Box 9 күн бұрын
@@igorratnik2357 Завтра понадобится управлять ноутпадом, фотошопом или проводником, и Селениум будет стыдливо курить в сторонке. А аутогуи через скриншоты даже не заметит разницы.
@sky_5743
@sky_5743 9 күн бұрын
Vielen Dank.❤
@MrAlvel
@MrAlvel 7 күн бұрын
Фух, я думмал я один такие кривые костыли постоянно пилю... )) Спасибо ))
@oldcoders
@oldcoders 7 күн бұрын
Да конечно! Второе название нашего клуба это Клуб дедов-костылистов! 😀
@user-iz3ew9ey3d
@user-iz3ew9ey3d 10 күн бұрын
Дед, как всегда, молодец! Спасибо огромное за вашу работу!
@Pravilnyi_Massage
@Pravilnyi_Massage 6 күн бұрын
Спасибо.
@Gungrave879
@Gungrave879 9 күн бұрын
Доброго времени суток. Еще в том году смотрел ваше видео " Как я стал программистом в 44" и как-то все на этом. Но в голове оно у меня периодически мелькало. Вы большой молодец. Так у меня вопрос. Можно ли начинать изучение python по книгам Марка Лутца или они переоценены? Заранее спасибо
@oldcoders
@oldcoders 9 күн бұрын
Здравствуйте, это очень крутые книги, библия Python, но на мой взгляд для начинающего очень сложно и многословно. Просто умрете со скуки продираясь сквозь нее. Начинающему надо что-то более легковесное , чтобы начать. Типа Эрик Мэтиз «Изучая Python» или Шапошникова «Python. Введение в программирование». А потом уже, спустя какое то время, с пониманием, можно вернуться к Лутцу.
@Gungrave879
@Gungrave879 9 күн бұрын
@@oldcoders спасибо Вам огромное.
@Sborkin1
@Sborkin1 11 күн бұрын
Как раз есть задача сделать рассылку по 10к номеров, для начала. Двое суток займёт, если не собьется по пути - подходит!
@oldcoders
@oldcoders 11 күн бұрын
Лучше не делать, ватсап вас однозначно забанит.
@OLAFBONDD
@OLAFBONDD 12 күн бұрын
Бывает нужно подготовить папу сотен отчетов и отправить через специализированную программу. Использую программку записи движения мышкой и нажатия клавиш. Еще более костыльно: три окна (таблица со списком, БД - генератор отчётоа, программа рассылки), высокая вероятность сбоев. Наверняка есть способ не тыкать мышкой в активное окно, а активировать его по названию из списка открытых...
@MIRVECTORA
@MIRVECTORA 12 күн бұрын
Папу?😂😅 да ещё и сотен?😊
@oldcoders
@oldcoders 11 күн бұрын
Эх, какая хорошая задача для нормальной Python - автоматизации. Специализированная программа никак не принимает по другому отчеты? Только руками в ней тыкать мышью и загружать?
@OLAFBONDD
@OLAFBONDD 11 күн бұрын
@@oldcoders Это 1С и там все программируется... если уметь. С другой стороны, там делов - ввести ИНН получателя, пару кнопок настройки отчёта и сохранить. ИНН брать из запроса по наличию движений по определенным аналитическим счетам. Модуль отправки отчётов также автоматизирован, но клиент отказывается за него платить:) Поэтому обхожусь программой "тыкалкой".
@yohohowowowo9471
@yohohowowowo9471 10 күн бұрын
Ну, рассылка информации о скидках - это тоже спам, по-сути) Вообще, подобные финты, в некоторых сферах, могут наоборот, отпугивать клиентов, поэтому лучше по-старинке, на почту.
@oldcoders
@oldcoders 10 күн бұрын
Клиенты заполняя анкету ставили галочку что готовы получать сообщения об акциях, поэтому не спам. В разных сферах по разному, в нашей емайл вообще не используется.
@xoxot_shamana
@xoxot_shamana 9 күн бұрын
Почему в слепую enter? Нельзя найти кнопку на странице и нажать её? Почему всё на sleep? Нельзя дождаться прогрузки страницы и начать работу после прогрузки, а не по паузе?
@oldcoders
@oldcoders 9 күн бұрын
Я иду максимально простым путем. Все что вы предлагаете - усложняет разработку и все равно это будет костыль.
@xoxot_shamana
@xoxot_shamana 9 күн бұрын
@@oldcoders костыль? Ну допустим. Но это не будет костыль для костыля. Знаете смысл в подходе. Одни для выполнения процедуры десять раз подряд нажмут Ctrl+D в IDE, другие напишут цикл в 3 строки. Работет и тот и другой подход.
@geniygames4620
@geniygames4620 9 күн бұрын
А будет видео как это сделать с помощью телеграмм?
@oldcoders
@oldcoders 8 күн бұрын
Пока нет, потому что я не пишу телеграм-ботов. А видео у меня о реальных моих задачах. Посмотрите в ютюбе что-то типа «пишем телеграм бота».
@MrKim-pt2vm
@MrKim-pt2vm 9 күн бұрын
А бота аналогичного того что можно сделать в телеграмм, в whatsapp можно сделать?
@oldcoders
@oldcoders 9 күн бұрын
Неееее! В том то и дело что нельзя.
@MrKim-pt2vm
@MrKim-pt2vm 9 күн бұрын
@@oldcoders плохо.
@DmitriyKargin
@DmitriyKargin 11 күн бұрын
А если нужно будет 100 000 пользователей отправить рассылку, то тоже будете делать for и ждать по 15 сек на каждой итерации? Такие операции нужно выполнять асинхронно и параллельно. Asyncio в помощь
@oldcoders
@oldcoders 11 күн бұрын
На 100 тысяч ватсап не даст разослать, забанит. И асинхронно думаю тоже не получится, тот же ватсап так же не даст. С одного номера сразу несколько запросов одновременно ? Вряд ли прокатит.
@forpc1393
@forpc1393 11 күн бұрын
а сколько времени по факту ушло на эту программу? с моменте сел писать либо читать документацию
@oldcoders
@oldcoders 11 күн бұрын
Точно не помню. В районе двух часов. Отвлекаясь и не спеша. Плюс я еще до этого потратил один вечер на pywhatkit. Программа изначально была написана с его использованием. Но потом он у меня начал чудить и пришлось смотреть что у него внутри и переписывать на свой лад.
@evgenykampiler3307
@evgenykampiler3307 9 күн бұрын
прикольно, но настоящие деды кодят на повершелл )) или на вбскрипт
@user-xy9fl7vt9n
@user-xy9fl7vt9n 8 күн бұрын
Почему не использовали библиотеку pywhatkit?
@oldcoders
@oldcoders 7 күн бұрын
Попробовал сначала, вроде работало, но потом перестала отправлять сообщения.
@Hariec88
@Hariec88 9 күн бұрын
Почему-то работала не стабильно??!!! Может потому что писал Раджеш Кутропале?? 😂😂😂
@DreamingDolphing
@DreamingDolphing 4 күн бұрын
А как антиспам система Ватцапа на это всё реагирует? Мне кажется такую на коленке сделанную рассылку "полезных сообщений" оно должно мигом среагировать.
@oldcoders
@oldcoders 4 күн бұрын
Не.. если небольшое количество сообщений и если пользователи ждут эти сообщения и не нажимают «это спам» - то все ок.
@Syberby
@Syberby 10 күн бұрын
окей, на. компе открывается браузер, а как это организоваьб на сервере?
@oldcoders
@oldcoders 10 күн бұрын
Я в конце об этом и сказал что не подходит для использования в веб-приложении. Поэтому лучше использовать Selenium.
@user-ws2gf3qj2o
@user-ws2gf3qj2o 12 күн бұрын
куда проще сделать это в зеннопостере без знаний питона)
@oldcoders
@oldcoders 11 күн бұрын
Да много чем можно. Но он же платный?
@user-ws2gf3qj2o
@user-ws2gf3qj2o 11 күн бұрын
@@oldcoders ага, но не дорогой, 35 баксов грубо минимальная версия.
@zemlyanintv7774
@zemlyanintv7774 12 күн бұрын
слип не очень хорош. Можно нажать, когда в строке браузер "найдется" сообщение (т.е. проверяем состояние строки, как только там пояивлось реклоаманое сообщение значит можно нажать enter) , не знаю сам payautogui но обычно такое там должно быть.
@user-yv9oh8ix1o
@user-yv9oh8ix1o 9 күн бұрын
А почему список, а не словарь?
@oldcoders
@oldcoders 9 күн бұрын
Типа ключ - телефон, значение - имя? Можно было бы, да. По разному можно было сделать.
@Receive_
@Receive_ 6 күн бұрын
Ватсап за это санкции на номер не накинет?
@oldcoders
@oldcoders 6 күн бұрын
Насколько я знаю если на много номеров рассылать и если в ответ будут нажимать «это спам» - то накинет.
@torstmp
@torstmp 11 күн бұрын
Ну, нет же, не совсем обычный дядька. В универе же были азы программирования. Так что вводишь в заблуждение:)
@oldcoders
@oldcoders 11 күн бұрын
Хорошо, исправлю на «необычный дядька»!
@torstmp
@torstmp 10 күн бұрын
@@oldcoders То есть - просто сделал типа макроса, как в Excel? Тут столкнулся с проблемой - я проектирую всякие металлоконструкции в SolidEdge, а коллега в SolidWorks. Так вот - оформление производственных чертежей у меня занимало много времени, а тут смотрю: у него всё быстро получается. В общем, оказалось, что в Solidwokrs есть функция записи макросов, чего нет в SolidEdge. Погуглил я эту тему быстренько... Короче вышло так, что на Solidedge макросы пишут через C# или Python. Так что вот, вдохновляете на изучение нового😀
@textreanimator
@textreanimator 10 күн бұрын
А деды это кто? Лет в 80?
@oldcoders
@oldcoders 10 күн бұрын
Ну это мы так шутим. Для начинающих программировать мы деды конечно
@user-ke8wc5zj4w
@user-ke8wc5zj4w 12 күн бұрын
Зачем так заморачиваться, если в мессенджере можно создать необходимый список для рассылки?
@Paradise_Box
@Paradise_Box 12 күн бұрын
Даже если и можно... Можно ли там каждого клиента персонально по имени назвать? А это очень важно в маркетинге... Понимать надо... :)
@oldcoders
@oldcoders 12 күн бұрын
Рассылку получит только тот, у кого наш номер будет записан в телефонной книге. Поэтому не подходит, к сожалению.
@user-ke8wc5zj4w
@user-ke8wc5zj4w 12 күн бұрын
@@Paradise_Box а для скрипта будешь еще список писать с именами?) А если номера в базе без имен?
@Paradise_Box
@Paradise_Box 12 күн бұрын
@@user-ke8wc5zj4w Конечно. На клиентов (в том числе и потенциальных) у отдела маркетинга всегда есть база, в которой и имена и фамилии и телефоны и еще куча интересного. Вытаскиваем из базы и вперед. Такая прога нужна для нескольких десятков и более клиентов... а не для "типабизнеса на авито" с пятком клиентов.
@maximturbo45
@maximturbo45 12 күн бұрын
Я на секунду обрадовался(( Не смотрите эту ахинею,тут ничего интересного нет. Ты лучше покажи как сделать всё тоже самое,но без веб браузера.С браузером и обезьяна такое напишет.
@oldcoders
@oldcoders 11 күн бұрын
Фига ты какой четкий и резкий! Без браузера ватсап не позволит.
@maximturbo45
@maximturbo45 11 күн бұрын
@@oldcoders ага) да на самом деле ты красавчик, чем больше поток такой информации, тем меньше у меня конкурентов) спасибо
@cherevkovv
@cherevkovv 12 күн бұрын
Спохватился изучать программирование во времена нейросетей. Браво!
@Sborkin1
@Sborkin1 12 күн бұрын
Так может говорить человек, который точно не программирует сам….
@cherevkovv
@cherevkovv 12 күн бұрын
@@Sborkin1 это точно ))
@johnconstantine6331
@johnconstantine6331 9 күн бұрын
Какой ваш питон все таки отвратительный. Повсюду строки. Даже слово "enter" надо набирать вручную полностью. Ни поля тебе, ни enum-а соответствующего)
@forpc1393
@forpc1393 9 күн бұрын
автор красиво рассказывает @oldcoders вот просто интересно, вы готовитесь к съемкам видео? подбираете ли слова для видео? и т.д.
@oldcoders
@oldcoders 9 күн бұрын
Еще как готовлюсь!! Текст пишу и с суфлера читаю, без этого никак. Вот здесь я обо всем рассказал - kzfaq.info/get/bejne/osCCptag2c2agWQ.htmlsi=6kjbLHz4R_u3bsPP
How to open a can? 🤪 lifehack
00:25
Mr.Clabik - Friends
Рет қаралды 10 МЛН
Não pode Comprar Tudo 5
00:29
DUDU e CAROL
Рет қаралды 82 МЛН
Subscribe for more!! #procreate #logoanimation #roblox
0:11
Animations by danny
Рет қаралды 3,9 МЛН
Как часто вы чистите свой телефон
0:33
KINO KAIF
Рет қаралды 2,3 МЛН
🤏 САМЫЙ ТОНКИЙ гаджет #Apple! 🍏
0:29
Яблочный Маньяк
Рет қаралды 263 М.
iPhone - телефон для нищебродов?!
0:53
ÉЖИ АКСЁНОВ
Рет қаралды 3,7 МЛН