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

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

КОМЕНТАРІ • 114

  • @johnsnow7288
    @johnsnow7288 12 днів тому +11

    Напиши хороший код и ты будешь нужен пару дней. Напиши плохой код и ты будешь нужен всю жизнь

  • @OLAFBONDD
    @OLAFBONDD 13 днів тому +13

    Мне нравится, что вы объясняете человеческим языком. Это такая редкость. Наверное, сказалось, что до 44 лет вы жили среди людей:) Скучаю по вашим животинкам из прошлых заставок. Видео выходят преступно редко. Раз рекламирует аренду сервера, покажите практические приемы использования: полезные боты или ещё что. Спасибо!

    • @oldcoders
      @oldcoders  12 днів тому +2

      🤣 спасибо! Животинки еще будут, я просто не хочу их часто эксплуатировать :)))
      Видео редко потому что чудовищно много времени уходит на один ролик.
      Текст, сьемка, монтаж.
      Полезные боты - дело в том что я выкладываю видео про реальные мои случаи написания программ. А ботов я не пишу. Веб - приложения слишком сложно, в одном видео не опишешь , да и не для начинающих это.
      Напишите вообще что хотели бы видеть на канале, буду думать.

    • @misterjunior3751
      @misterjunior3751 7 днів тому

      @@oldcoders огромная благодарность за ваш качественный и подробный контент, по Kivy и КivyMD очень мало годных контентов, не могли бы вы запилить что-то годное по этим библиотекам?

  • @marshal33311
    @marshal33311 13 днів тому +5

    Как всегда все четко и понятно, спасибо!

  • @LackyBird
    @LackyBird 12 днів тому +1

    Спасибо! Как всегда просто и понятно!

  • @Kira0168
    @Kira0168 13 днів тому +3

    Поздравляю вас с 100к подписчиками!!!Желаю вам удачи!!!!!!

    • @oldcoders
      @oldcoders  13 днів тому +2

      Спасибо ☺️ И вам всего хорошего!

  • @TheAnthonyDav
    @TheAnthonyDav 13 днів тому +2

    Спасибо. Как всегда очень полезное видео

  • @issta4391
    @issta4391 13 днів тому +2

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

  • @andredru4278
    @andredru4278 13 днів тому +2

    Спасибо. Посмотрел с удовольствием.

  • @user-st4ih8cu6l
    @user-st4ih8cu6l 13 днів тому +3

    Благодарю вас!

  • @AlexRootx
    @AlexRootx 13 днів тому +3

    чтобы не городить огород, можно воспользоваться Селениумом или Плэйрайтом, у них есть явные и неявные ожидания

  • @bednyakov
    @bednyakov 10 днів тому +1

    Я тоже занимаюсь программированием с твоих 44 или 45 лет, Руслан)) Скрипты, конечно, давно перерос, но смотреть автоматизацию реальной задачи всегда приятно. Спасибо за видео.

  • @Podacha66
    @Podacha66 10 днів тому +2

    Спасибо, очень интересное и полезное видео.

  • @user-xg3en3nh1g
    @user-xg3en3nh1g 11 днів тому +2

    Писал такое же на С++. Только если клиент ответит что то, то можно выбрать один из нескольких шаблонов по сочетанию клавиш от 1 до 9 + control + shift. И шаблон поставляется в поле ввода.

  • @name1355_0ne
    @name1355_0ne 12 днів тому +2

    Костылить периодически приходится, куда уж без этого )). Можно было бы назвать это не костылём, а MVP для солидности )) В любом случае, спасибо за видео, в нем есть несколько очень интересных моментов на подумать.

  • @user-rp7sg6eo4b
    @user-rp7sg6eo4b 13 днів тому +2

    Ну дед, ну даёт ! Лайк конечно же !

  • @gurban123
    @gurban123 12 днів тому +1

    Красавчик!!!!!!!!!!!!!!!!!!!!!!

  • @viksir4278
    @viksir4278 9 днів тому +1

    Руслан, большое спасибо; четко, ясно и по-делу. интересное решение. успехов.

  • @user-kz5bg5pw4l
    @user-kz5bg5pw4l 13 днів тому +4

    Спасибо за новый урок!!! Но, дед, ты запятую там забыл)))

    • @oldcoders
      @oldcoders  13 днів тому +5

      Есть такое! Я по молодежному, без знаков препинания 😉

  • @user-mt7mh2iy7y
    @user-mt7mh2iy7y 13 днів тому +1

    Браво, симпатичный костыль. Но главное познавательно и очень быстро! Спасибо!

  • @zemlyanintv7774
    @zemlyanintv7774 13 днів тому +2

    слип не очень хорош. Можно нажать, когда в строке браузер "найдется" сообщение (т.е. проверяем состояние строки, как только там пояивлось реклоаманое сообщение значит можно нажать enter) , не знаю сам payautogui но обычно такое там должно быть.

  • @Abramov_Andrey
    @Abramov_Andrey 2 дні тому

    Руслан - красавчик! Как всегда просто и понятно, полезно смотреть твои видео, сразу думаю, что бы мне автоматизировать!

  • @user-dr1mw9bh5s
    @user-dr1mw9bh5s 13 днів тому +6

    4:38 А почему у вас скидки до МИНУС тридцати процентов, это какие-то "отрицательные скидки"?

    • @oldcoders
      @oldcoders  12 днів тому +1

      да не знай, так пишут всегда в магазинах. Чтобы не подумали видимо что скидка как наценка в 30% :)

  • @Socador_bas
    @Socador_bas 6 днів тому +1

    Такой милый, знакомый, дорогой сердцу колхоз. Прям как у меня. Только я на Селениуме колхозил. :-)

  • @45kg35
    @45kg35 7 днів тому

    Вот если бы все обучали погромированию на реальных примерах, как вы, все на свете стали бы погромистами. Большое спасибо

  • @user-wu3vu8kx9g
    @user-wu3vu8kx9g 13 днів тому +3

    В место задержек если любишь костыли делай скрипт с компьютерным зрением. Чтобы искал кнопочки на экране и нажимал.

    • @oldcoders
      @oldcoders  12 днів тому +1

      Да. Но выигрыш по времени врядли будет большой, секунд 5-10 за минуту может выиграешь.

  • @user-iz3ew9ey3d
    @user-iz3ew9ey3d 11 днів тому +4

    Дед, как всегда, молодец! Спасибо огромное за вашу работу!

  • @Paradise_Box
    @Paradise_Box 13 днів тому +3

    Хороший урок! Только вот ожидание готовности Ватсаппа уж очень костыльное. Думаю сам вебдрайвер должен уметь сообщать о готовности, но это не точно.
    А вообще, в подобного рода программах (а мне довелось накорябать парочку таких), готовность управляемой программы можно проверять визуально. Т.е. вроде бы тем же автогуем делаем скриншот экрана и ищем на нем картинку которая нам скажет о том, что программа готова. Ну, например серый смайлик у строки ввода Ватсаппа... И как только смайлик появился - считаем что программа готова.
    Это правильнее, увлекательнее и открывает широкие горизонты :) Но... Есть свои тонкости, не всегда сходу находит нужную картинку, первый раз возможно будет нужно повозиться.

    • @oldcoders
      @oldcoders  13 днів тому +2

      Да, можно и так «извращаться» 😀! Но тогда все таки правильнее всего selenium использовать, он для этого прям идеален.

    • @Paradise_Box
      @Paradise_Box 13 днів тому +2

      @@oldcoders В данном конкретном случае скорее всего селениум. А через скриншоты самый универсальный способ, который вообще для любой программы подойдёт. Этим он и хорош.

    • @igorratnik2357
      @igorratnik2357 10 днів тому +1

      Вот для таких вещей и есть упомянутый Selenium

    • @Paradise_Box
      @Paradise_Box 10 днів тому

      @@igorratnik2357 Завтра понадобится управлять ноутпадом, фотошопом или проводником, и Селениум будет стыдливо курить в сторонке. А аутогуи через скриншоты даже не заметит разницы.

  • @johnsnow7288
    @johnsnow7288 13 днів тому +4

    Только собирался начать ругаться, что долго нет новых видео

  • @AlexSav
    @AlexSav 13 днів тому +4

    После "Здравствуйте" нужно поставить запятую

  • @baloobear70
    @baloobear70 13 днів тому +2

    Я облаял это видео. Начал зарабатывать программизмом вообще после 33, но к 43 выгорел.Сейчас просто рефлексирую.

    • @oldcoders
      @oldcoders  12 днів тому +4

      Как говорит молодежь - Флексю! (а может так и не говорит уже)

  • @ViktorBokov
    @ViktorBokov 4 дні тому

    Ого, здорово и очень интересно. Абалденный пример и реализация нестандартная, пусть и костыльная, но для новичка очень интересно. Подписываюсь :)

  • @Pravilnyi_Massage
    @Pravilnyi_Massage 7 днів тому

    Спасибо.

  • @sky_5743
    @sky_5743 10 днів тому

    Vielen Dank.❤

  • @Gungrave879
    @Gungrave879 10 днів тому

    Доброго времени суток. Еще в том году смотрел ваше видео " Как я стал программистом в 44" и как-то все на этом. Но в голове оно у меня периодически мелькало. Вы большой молодец. Так у меня вопрос. Можно ли начинать изучение python по книгам Марка Лутца или они переоценены? Заранее спасибо

    • @oldcoders
      @oldcoders  9 днів тому

      Здравствуйте, это очень крутые книги, библия Python, но на мой взгляд для начинающего очень сложно и многословно. Просто умрете со скуки продираясь сквозь нее. Начинающему надо что-то более легковесное , чтобы начать. Типа Эрик Мэтиз «Изучая Python» или Шапошникова «Python. Введение в программирование». А потом уже, спустя какое то время, с пониманием, можно вернуться к Лутцу.

    • @Gungrave879
      @Gungrave879 9 днів тому

      @@oldcoders спасибо Вам огромное.

  • @MrAlvel
    @MrAlvel 8 днів тому +1

    Фух, я думмал я один такие кривые костыли постоянно пилю... ))
    Спасибо ))

    • @oldcoders
      @oldcoders  7 днів тому

      Да конечно! Второе название нашего клуба это Клуб дедов-костылистов! 😀

  • @geniygames4620
    @geniygames4620 9 днів тому

    А будет видео как это сделать с помощью телеграмм?

    • @oldcoders
      @oldcoders  9 днів тому +1

      Пока нет, потому что я не пишу телеграм-ботов. А видео у меня о реальных моих задачах. Посмотрите в ютюбе что-то типа «пишем телеграм бота».

  • @MrKim-pt2vm
    @MrKim-pt2vm 10 днів тому

    А бота аналогичного того что можно сделать в телеграмм, в whatsapp можно сделать?

    • @oldcoders
      @oldcoders  10 днів тому

      Неееее! В том то и дело что нельзя.

    • @MrKim-pt2vm
      @MrKim-pt2vm 10 днів тому

      @@oldcoders плохо.

  • @Sborkin1
    @Sborkin1 12 днів тому +1

    Как раз есть задача сделать рассылку по 10к номеров, для начала. Двое суток займёт, если не собьется по пути - подходит!

    • @oldcoders
      @oldcoders  12 днів тому +1

      Лучше не делать, ватсап вас однозначно забанит.

  • @xoxot_shamana
    @xoxot_shamana 10 днів тому +1

    Почему в слепую enter? Нельзя найти кнопку на странице и нажать её?
    Почему всё на sleep? Нельзя дождаться прогрузки страницы и начать работу после прогрузки, а не по паузе?

    • @oldcoders
      @oldcoders  10 днів тому

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

    • @xoxot_shamana
      @xoxot_shamana 10 днів тому

      @@oldcoders костыль? Ну допустим. Но это не будет костыль для костыля. Знаете смысл в подходе. Одни для выполнения процедуры десять раз подряд нажмут Ctrl+D в IDE, другие напишут цикл в 3 строки. Работет и тот и другой подход.

  • @OLAFBONDD
    @OLAFBONDD 13 днів тому +1

    Бывает нужно подготовить папу сотен отчетов и отправить через специализированную программу. Использую программку записи движения мышкой и нажатия клавиш. Еще более костыльно: три окна (таблица со списком, БД - генератор отчётоа, программа рассылки), высокая вероятность сбоев. Наверняка есть способ не тыкать мышкой в активное окно, а активировать его по названию из списка открытых...

    • @MIRVECTORA
      @MIRVECTORA 12 днів тому +1

      Папу?😂😅 да ещё и сотен?😊

    • @oldcoders
      @oldcoders  12 днів тому +1

      Эх, какая хорошая задача для нормальной Python - автоматизации. Специализированная программа никак не принимает по другому отчеты? Только руками в ней тыкать мышью и загружать?

    • @OLAFBONDD
      @OLAFBONDD 12 днів тому +1

      @@oldcoders Это 1С и там все программируется... если уметь. С другой стороны, там делов - ввести ИНН получателя, пару кнопок настройки отчёта и сохранить. ИНН брать из запроса по наличию движений по определенным аналитическим счетам. Модуль отправки отчётов также автоматизирован, но клиент отказывается за него платить:) Поэтому обхожусь программой "тыкалкой".

  • @yohohowowowo9471
    @yohohowowowo9471 11 днів тому +1

    Ну, рассылка информации о скидках - это тоже спам, по-сути) Вообще, подобные финты, в некоторых сферах, могут наоборот, отпугивать клиентов, поэтому лучше по-старинке, на почту.

    • @oldcoders
      @oldcoders  10 днів тому +2

      Клиенты заполняя анкету ставили галочку что готовы получать сообщения об акциях, поэтому не спам.
      В разных сферах по разному, в нашей емайл вообще не используется.

  • @forpc1393
    @forpc1393 12 днів тому +1

    а сколько времени по факту ушло на эту программу? с моменте сел писать либо читать документацию

    • @oldcoders
      @oldcoders  12 днів тому +1

      Точно не помню. В районе двух часов. Отвлекаясь и не спеша. Плюс я еще до этого потратил один вечер на pywhatkit. Программа изначально была написана с его использованием. Но потом он у меня начал чудить и пришлось смотреть что у него внутри и переписывать на свой лад.

  • @user-xy9fl7vt9n
    @user-xy9fl7vt9n 9 днів тому

    Почему не использовали библиотеку pywhatkit?

    • @oldcoders
      @oldcoders  8 днів тому

      Попробовал сначала, вроде работало, но потом перестала отправлять сообщения.

  • @DreamingDolphing
    @DreamingDolphing 5 днів тому

    А как антиспам система Ватцапа на это всё реагирует? Мне кажется такую на коленке сделанную рассылку "полезных сообщений" оно должно мигом среагировать.

    • @oldcoders
      @oldcoders  5 днів тому +1

      Не.. если небольшое количество сообщений и если пользователи ждут эти сообщения и не нажимают «это спам» - то все ок.

  • @Syberby
    @Syberby 10 днів тому +1

    окей, на. компе открывается браузер, а как это организоваьб на сервере?

    • @oldcoders
      @oldcoders  10 днів тому +2

      Я в конце об этом и сказал что не подходит для использования в веб-приложении. Поэтому лучше использовать Selenium.

  • @user-yv9oh8ix1o
    @user-yv9oh8ix1o 10 днів тому +1

    А почему список, а не словарь?

    • @oldcoders
      @oldcoders  10 днів тому +1

      Типа ключ - телефон, значение - имя? Можно было бы, да. По разному можно было сделать.

  • @DmitriyKargin
    @DmitriyKargin 12 днів тому +1

    А если нужно будет 100 000 пользователей отправить рассылку, то тоже будете делать for и ждать по 15 сек на каждой итерации? Такие операции нужно выполнять асинхронно и параллельно. Asyncio в помощь

    • @oldcoders
      @oldcoders  12 днів тому +2

      На 100 тысяч ватсап не даст разослать, забанит. И асинхронно думаю тоже не получится, тот же ватсап так же не даст. С одного номера сразу несколько запросов одновременно ? Вряд ли прокатит.

    • @user-gh2ml3cf5o
      @user-gh2ml3cf5o 8 годин тому

      @@oldcoders А если купить несколько телефонных номеров, запустить нашу программку по массовому распространению WhatsApp сообщений на нескольких компьютерах, тогда будет вам интересна или нет? Сообщения будем отправлять на телефонные номера, которые у меня и у получателя сохранены.

    • @oldcoders
      @oldcoders  38 хвилин тому

      Так сработает скорее всего.

  • @evgenykampiler3307
    @evgenykampiler3307 10 днів тому

    прикольно, но настоящие деды кодят на повершелл )) или на вбскрипт

  • @Hariec88
    @Hariec88 10 днів тому

    Почему-то работала не стабильно??!!! Может потому что писал Раджеш Кутропале?? 😂😂😂

  • @user-ws2gf3qj2o
    @user-ws2gf3qj2o 13 днів тому +1

    куда проще сделать это в зеннопостере без знаний питона)

    • @oldcoders
      @oldcoders  12 днів тому +1

      Да много чем можно. Но он же платный?

    • @user-ws2gf3qj2o
      @user-ws2gf3qj2o 12 днів тому +1

      @@oldcoders ага, но не дорогой, 35 баксов грубо минимальная версия.

  • @Receive_
    @Receive_ 6 днів тому

    Ватсап за это санкции на номер не накинет?

    • @oldcoders
      @oldcoders  6 днів тому +1

      Насколько я знаю если на много номеров рассылать и если в ответ будут нажимать «это спам» - то накинет.

    • @user-gh2ml3cf5o
      @user-gh2ml3cf5o 7 годин тому

      @@oldcoders А количество кликов “это спам знаете”, чтобы получить бан в Ватсапе?

  • @forpc1393
    @forpc1393 9 днів тому

    автор красиво рассказывает
    @oldcoders вот просто интересно, вы готовитесь к съемкам видео? подбираете ли слова для видео? и т.д.

    • @oldcoders
      @oldcoders  9 днів тому

      Еще как готовлюсь!! Текст пишу и с суфлера читаю, без этого никак.
      Вот здесь я обо всем рассказал - ua-cam.com/video/lZRssotg6Q0/v-deo.htmlsi=6kjbLHz4R_u3bsPP

  • @torstmp
    @torstmp 11 днів тому +1

    Ну, нет же, не совсем обычный дядька. В универе же были азы программирования. Так что вводишь в заблуждение:)

    • @oldcoders
      @oldcoders  11 днів тому +2

      Хорошо, исправлю на «необычный дядька»!

    • @torstmp
      @torstmp 11 днів тому

      @@oldcoders То есть - просто сделал типа макроса, как в Excel? Тут столкнулся с проблемой - я проектирую всякие металлоконструкции в SolidEdge, а коллега в SolidWorks. Так вот - оформление производственных чертежей у меня занимало много времени, а тут смотрю: у него всё быстро получается. В общем, оказалось, что в Solidwokrs есть функция записи макросов, чего нет в SolidEdge. Погуглил я эту тему быстренько... Короче вышло так, что на Solidedge макросы пишут через C# или Python. Так что вот, вдохновляете на изучение нового😀

  • @user-ke8wc5zj4w
    @user-ke8wc5zj4w 13 днів тому +1

    Зачем так заморачиваться, если в мессенджере можно создать необходимый список для рассылки?

    • @Paradise_Box
      @Paradise_Box 13 днів тому +1

      Даже если и можно... Можно ли там каждого клиента персонально по имени назвать? А это очень важно в маркетинге... Понимать надо... :)

    • @oldcoders
      @oldcoders  13 днів тому +1

      Рассылку получит только тот, у кого наш номер будет записан в телефонной книге. Поэтому не подходит, к сожалению.

    • @user-ke8wc5zj4w
      @user-ke8wc5zj4w 13 днів тому +1

      @@Paradise_Box а для скрипта будешь еще список писать с именами?) А если номера в базе без имен?

    • @Paradise_Box
      @Paradise_Box 13 днів тому

      @@user-ke8wc5zj4w Конечно. На клиентов (в том числе и потенциальных) у отдела маркетинга всегда есть база, в которой и имена и фамилии и телефоны и еще куча интересного. Вытаскиваем из базы и вперед. Такая прога нужна для нескольких десятков и более клиентов... а не для "типабизнеса на авито" с пятком клиентов.

  • @cherevkovv
    @cherevkovv 13 днів тому +1

    Спохватился изучать программирование во времена нейросетей. Браво!

    • @Sborkin1
      @Sborkin1 12 днів тому +2

      Так может говорить человек, который точно не программирует сам….

    • @cherevkovv
      @cherevkovv 12 днів тому +1

      @@Sborkin1 это точно ))

  • @textreanimator
    @textreanimator 11 днів тому +1

    А деды это кто? Лет в 80?

    • @oldcoders
      @oldcoders  11 днів тому +1

      Ну это мы так шутим. Для начинающих программировать мы деды конечно

  • @maximturbo45
    @maximturbo45 12 днів тому +1

    Я на секунду обрадовался((
    Не смотрите эту ахинею,тут ничего интересного нет.
    Ты лучше покажи как сделать всё тоже самое,но без веб браузера.С браузером и обезьяна такое напишет.

    • @oldcoders
      @oldcoders  12 днів тому +1

      Фига ты какой четкий и резкий! Без браузера ватсап не позволит.

    • @maximturbo45
      @maximturbo45 12 днів тому +1

      @@oldcoders ага) да на самом деле ты красавчик, чем больше поток такой информации, тем меньше у меня конкурентов) спасибо

  • @johnconstantine6331
    @johnconstantine6331 10 днів тому

    Какой ваш питон все таки отвратительный. Повсюду строки. Даже слово "enter" надо набирать вручную полностью. Ни поля тебе, ни enum-а соответствующего)

  • @user-gh2ml3cf5o
    @user-gh2ml3cf5o 8 годин тому

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

  • @user-gh2ml3cf5o
    @user-gh2ml3cf5o 8 годин тому

    Скольким номерам можно отправлять сообщения до установления бана ватсапом, если их контакты у меня в телефонном справочнике и также мои контакты у них сохранение?