Пишем Telegram бота на Python 3

Поділитися
Вставка
  • Опубліковано 29 січ 2017
  • Мои курсы:
    Boosty:
    boosty.to/omolchanov/posts/99...
    Patreon:
    / karty-vsekh-41011404
    Пишу простого Telegram бота на Python 3 - при вводе команды бот делает запрос на биржу криптовалют Yobit.net и берет данные о стоимости последней сделки купли-продажи пары BTC/USD (т.е. стоимость одного BTC в долларах США)
    Работаем с чистым API Telegram без использования сторонних библиотек типа telepot и прочих.
    Очень подробно. Подходит для новичков.
    Нужна библиотека requests:
    pip install requests
    ** ИСХОДНЫЙ КОД **
    Основных проектов доступен в Patreon:
    / iskhodnyi-kod-26640469
    ***
    ------
    🔷 Для донатов. Всегда очень признателен за это:
    www.donationalerts.ru/r/omolc...
    Касты про вебхуки и загрузку бота на хостинг:
    • 0. Создание Telegram б... Часть 0 Демка
    • 1. Создание Telegram б... Часть 1 Подготовка
    • 2. Создание Telegram б... Часть 2 Остальное

КОМЕНТАРІ • 381

  • @Aipropw
    @Aipropw 5 років тому +39

    очень доходчиво но я накидался пока смотрел

  • @kpdpok
    @kpdpok Рік тому +3

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

  • @doprdele
    @doprdele 7 років тому +10

    Как всегда - отличное видео ! Все предельно понятно и просто. Прошу - продолжайте в том же духе.

  • @MaratGabzalilov
    @MaratGabzalilov 7 років тому +1

    Олег, спасибо за ваш труд. очень понравился урок. Я на питоне не программировал, но с вашей подачей все становится понятно) Не забрасывайте это дело!)

  • @velomatica
    @velomatica 4 роки тому +3

    Как всегда Олег на высоте. Я ваш подписчик и здесь и на патреон и каждый месяц с вами и каждый урок. И не отпишусь, зная что ваши уроки бесценны. Продолжайте пожалуйста не смотря ни на что. Удачи вам и развития. Я ВК на стену кидаю ваши ролики, подписан на патреон и здесь и постараюсь как смогу расширить вам аудиторию. Лайк, репост, подписка и колокольчик. Удачи всем, ребята.

    • @zaemiel
      @zaemiel  4 роки тому +1

      Спасибо большое вам за поддержку и за добрые слова. Всего вам хорошего.

  • @kozhin
    @kozhin 7 років тому +8

    Здорово. Спасибо, что отозвались на мою просьбу. Делайте больше видео по Python 3!!!

    • @zaemiel
      @zaemiel  7 років тому +11

      Да, Сергей, именно благодаря вам он и появился. Забыл только вас упомянуть в ролике :)

  • @pavlobudiak6935
    @pavlobudiak6935 6 років тому +75

    Вывожу значение биткойна в консоль, вижу число в 10 раз больше чем в видео. Думал ошибка, а нет, все верно.

    • @KABman
      @KABman 5 років тому

      ofis Auros теперь меньше

    • @dthamine1931
      @dthamine1931 3 роки тому

      @@KABman теперь немного побольше)0

    • @yusufbeky4527
      @yusufbeky4527 3 роки тому

      @@dthamine1931 немножко))

  • @user-sk5oi3hi1r
    @user-sk5oi3hi1r 6 років тому +2

    Видео просто супер! Большое спасибо, надеюсь будет продолжение по разработке Telegram ботов)

  • @user-oz6mz3yv2k
    @user-oz6mz3yv2k 4 роки тому +1

    Спасибо за урок, Олег! И за подробное объяснение процесса работы!

  • @SatrialiWASD
    @SatrialiWASD 6 років тому +1

    Никогда не было настолько понятно! Автору огромное спасибо!!!

  • @mazur_vg
    @mazur_vg 2 роки тому

    Вааааа!!! Это лучше видео по телеграмм ботам. Спасибо за такой подход в объяснении! Подписался!!!!

  • @romeond
    @romeond 6 років тому +7

    Отличный урок - жаль нет продолжения по ботам.

  • @vbaker1427
    @vbaker1427 7 років тому +1

    Отличное видео. Видно, что человек специалист своего дела. Спасибо.

  • @user-en2kp2dp2e
    @user-en2kp2dp2e 4 роки тому +1

    Олег, огромная благодарность за урок!

  • @siberianwolf777
    @siberianwolf777 3 роки тому +1

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

  • @vladthefake
    @vladthefake 7 років тому +11

    Хай! Спасибо за видео, мне понравился подход и сами пояснения к коду. Порадовал видео ответ про исходный код, полностью с ним согласен.
    Также хочу докинуть в копилку просьб видоса, про бота на webhook. В принципе, в инете довольно много примеров, но там много тонкостей, которые негде уточнить, та и выглядят они немного пугающе.
    В общем, надеюсь продолжение последует :)

  • @SenichevAlexey
    @SenichevAlexey 7 років тому

    Спасибо, ждем новых материалов

  • @MrNagios
    @MrNagios 6 років тому +7

    Олег, когда продолжение??? Без модулей, на чистом питоне? Как делать вебхуки и т.д., куча вопросов.. продолжайте снимать пожалуйста.

  • @Ded5025
    @Ded5025 4 роки тому +1

    Спасибо за качественное подробное объяснение.

  • @visualyt
    @visualyt 7 років тому +4

    автор молодец!
    продолжай в том же духе

  • @vladsakun6904
    @vladsakun6904 5 років тому

    Очень классное видео, помогло, респект создателю👍🏿👍🏿👍🏿

  • @adrp6
    @adrp6 7 років тому +24

    Лютая годнота!
    Урок по хукам просто необходим! :-)

    • @zaemiel
      @zaemiel  7 років тому +2

      Спасибо.
      С Webhook-ами сложнее. Телеграм шлет POST запрос с данными, а мы должны его принять и обработать. Словом, для этого нужно на бэкенде использовать что-то вроде Django/Flask...
      Но я не хочу сейчас начинать эту тему не имея скринкастов по Django и Flask... Поэтому видео до сих пор нет.

  • @user-bl4yl1qh5g
    @user-bl4yl1qh5g 4 роки тому

    Талант к преподаванию, не останавливайся!

  • @user-kb3or6go9j
    @user-kb3or6go9j 5 років тому

    Спасибо! Очень доходчиво и информативно!

  • @ya-ul9lr
    @ya-ul9lr 4 роки тому

    Очень позновательно!Спасибо за ролик!

  • @djinni_quizz
    @djinni_quizz 5 років тому +1

    Огромноетебе спасибо

  • @bahus84
    @bahus84 5 років тому

    Спасибо, отличный урок!

  • @Kurtz_as_a_God
    @Kurtz_as_a_God 6 років тому

    Однозначно подписка. Доходчиво и понятно!

  • @user-xx4hx6zr9w
    @user-xx4hx6zr9w 6 років тому

    Полезные у тебя видео на канале , надеюсь ты будешь снимать ещё

  • @khachatur2000
    @khachatur2000 6 років тому

    Спасибо большое за урок !

  • @avpm05
    @avpm05 6 років тому

    Cпасибо тебе за урок!

  • @MadBlissOff
    @MadBlissOff 7 років тому +1

    Очень помогло, спасибо

  • @kogorek1
    @kogorek1 7 років тому

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

  • @false_shepherd7446
    @false_shepherd7446 4 роки тому +1

    Все очень доходчиво, максимально разжевано. Только хотелось бы внести небольшую ремарку. В случае, если мы ничего не вводим, то в телегу будут постоянно уходить get запросы, т.к. выполнение доходит до последнего блока else и... не доходя до sleep, начинается новая итерация. Насколько понимаю - последний блок else здесь лишний.

  • @23112141
    @23112141 6 років тому

    Спасибо за видео!

  • @hey-rg9lk
    @hey-rg9lk 7 років тому

    Спасибо за видео)

  • @aszxpl2186
    @aszxpl2186 4 роки тому +1

    Все по полочкам, большое спасибо.
    UPD: Если у кого-то при запросе к yobit выкидывает ошибку 403, пропишите headers в запросе. Как-то так:
    headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:73.0) Gecko/20100101 Firefox/73.0'}
    url = 'yobit.net/api/2/btc_usd/ticker'
    r = requests.get(url,headers=headers)

    • @Stefs-2142
      @Stefs-2142 4 роки тому

      Спасибо, тоже столкнулся с 403.

  • @r1zer_official
    @r1zer_official 5 років тому +1

    Спасибо за туториал очень помог кстати биткоин 5740 usd 24.04.2019

  • @user-me2qj8de9v
    @user-me2qj8de9v 6 років тому

    классное видео. запишите видео с webhook или inline

  • @gregoryjenferd9740
    @gregoryjenferd9740 6 років тому

    Отличный урок, вы очень помогли)
    Скажите, пожалуйста, что за расширение используется для компиляции кода в новой вкладке(ctrl+1).

    • @zaemiel
      @zaemiel  6 років тому

      Для этого я использую плагин SublimeREPL.
      О том, как его настроить я записывал каст. Посмотрите, пожалуйста, в плейлистах.

  • @VakulaEugen
    @VakulaEugen 5 років тому

    Огромное спасибо за видео).
    Но есть одна проблема, решения которой не могу найти. Возможно ли создание команды (к примеру /hello), которая будет отправлять текст (/hello) и в то же время подставлять новый текст в поле набора, но БЕЗ его отправки?

  • @matweyrybakovskiy2952
    @matweyrybakovskiy2952 2 роки тому

    Биткоин по 925 долларов.........
    Привет из октября 2021, BTC/USDT 50 000
    А видео просто огонь. Очень хорошее объяснение. Спасибо!

  • @user-bk1ns2fd1l
    @user-bk1ns2fd1l 6 років тому +3

    Добрый день. Подскажите пожалуйста как сделать кнопку (или сообщение) такую же как у бота rutracker? Т.е. при нажатии на которую копируется её содержимое (магнет ссылка).

  • @user-li5ls7gu5z
    @user-li5ls7gu5z 6 років тому

    _Добрый день, Олег. Скажите, можно ли сделать бота, который загружал бы в канал фотографии?_

  • @uten1992
    @uten1992 6 років тому

    Отличный материал! Про webhook как я понимаю видео не будет?

    • @zaemiel
      @zaemiel  6 років тому

      Почему же не будет. Будет. Но не сразу.

  • @LikeShoppingA
    @LikeShoppingA 5 років тому

    Большое спасибо автору!!! Начало 2019 биток 4322

  • @Keriokutori
    @Keriokutori 3 роки тому +8

    Жаль, что Вы больше не выпускаете видео, у Вас талант разжевывать все новичкам!

    • @sergeyanalyst7134
      @sergeyanalyst7134 Рік тому +1

      У него есть англоязычный канал - red eye coder club

    • @Keriokutori
      @Keriokutori Рік тому

      @@sergeyanalyst7134 спасибо большое, поищу!

  • @victoriaorlik9087
    @victoriaorlik9087 5 років тому

    Привет, а можно создать бота для поиска турпутевок? Типо вбиваешь запрос на страну и рейтинг гостиницы и выдает результаты гостиниц?

  • @lilvarlos5257
    @lilvarlos5257 4 роки тому +1

    а что делать, если в строчке text = answer['text'] (42:38), пишет ошбку,типо понятие text нигде не используется

  • @user-ls6tf3er7w
    @user-ls6tf3er7w 6 років тому +3

    можно вместо глобальной переменной - создать изменяемый тип данных (например список) и менять его из функции и в принципе global дважды объявлять не нужно, можно только в самой функции, а в целом очень интересно и познавательно. Спасибо за ваше видео)

    • @zaemiel
      @zaemiel  6 років тому

      еще как вариант создать глобальный словарь, который хранил бы это общее состояние

  • @incontext8335
    @incontext8335 3 роки тому

    спасибо!

  • @user-qw7qh5tz2t
    @user-qw7qh5tz2t 4 роки тому

    Ееее! Мятный линукс! Я только сейчас заметил, что не все Ютуб кодеры на окнах сидят

  • @tahirjalilov
    @tahirjalilov 5 років тому

    Добрый вечер, Спасибо Вам за этот вебинар. Благодаря этому видео я написал себе первого бота ))) Только у меня возникла проблема. Мой бот входит в аккаунт юзера на одном сайте и тыкает там по ссылкам, если одновременно ботом пользуются несколько человек, то все сбивается. Многопоточность я не использовал ввиду того что мало проинформирован. Не знаю как решить эту проблему, некоторые советуют гуглить в сторону FMS , но мне показалось это трудно реализовать. Посоветуйте пожалуйста, очень жду ответа.

  • @denchik_797
    @denchik_797 3 роки тому

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

  • @surisua16
    @surisua16 4 роки тому

    Все очень круто! Только можно как-то не использовать глобальную переменную?

  • @dEAdYANGX
    @dEAdYANGX 6 років тому +1

    Привет.
    Как сделать что бы бот не ложился от стикеров?

  • @evrisovllc2382
    @evrisovllc2382 4 роки тому

    Здравствуйте Олег.
    я попытался получить прогноз погоды, и в консоль Pycharm выводятся значения .... но в телеграмм передаётся как "None" сможете помочь?

  • @user-iq6uq4lx3l
    @user-iq6uq4lx3l 4 роки тому

    Петру Егорову! Запустил как у тебя по мануалу --- Дошёл вот до сюда : Прежде чем пытаться подключиться, вам нужно выполнить несколько дополнительных команд
    В терминале введите следующие команды:
    sudo ausearch -c 'openvpn' --raw | audit2allow -M my-openvpn и сразу беда, у меня Manjaro Linux в терминале
    вываливается ошибка : command audit2allow not found ---- пробывал устанавливать policycoreutils не помогло
    какой есть аналог audit2allow ---- вроде всё перелопатил не нашёл --- если можно помоги советом

  • @user-dg4rg3rk7k
    @user-dg4rg3rk7k 5 років тому

    Днём всё работало, а вечером
    внезапно всё поломалось, при запуске бота на исполнение появилось OSError: [Errno 107] Transport endpoint is not connected
    В чём причина такой ошибки?

  • @igorfogov5617
    @igorfogov5617 4 роки тому

    Олег, Вы какой ВПН использовали? Для обхода блокировок

    • @zaemiel
      @zaemiel  4 роки тому

      никакой... у меня все работало и сейчас прекрасно работает

  • @group_ed
    @group_ed 3 роки тому

    круто

  • @nordost8
    @nordost8 4 роки тому

    Привет, сделай пожалуйста новое видео по созданию асинхронного бота для телеги или вк

  • @fedorzavs2351
    @fedorzavs2351 6 років тому

    Привет,спасибо за видео.Есть вопрос, почему то когда получаю пакет обновлений json там в графе text: не отображаются сообщения на русском,а вместо них непонятные символы.Подскажи пожалуйста как это можно исправить?

    • @zaemiel
      @zaemiel  6 років тому +1

      Какой у вас Python?
      Попробуйте явно указать кодировку:
      json.dump(d, file, indent=2, ensure_ascii=False).encode('utf-8')

  • @man-jj7rc
    @man-jj7rc 6 років тому +1

    Как вытянуть графики с бирж?

  • @user-ir8nd6mj2b
    @user-ir8nd6mj2b 5 років тому

    А... Можно бота для Дискорда написать таким же образом?

  • @user-qx7rf5lg9p
    @user-qx7rf5lg9p 6 років тому

    почему в Pycharm не запускает скрипт(типа как тут СTRL+1

  • @MrNagios
    @MrNagios 6 років тому +1

    57:06 Олег, вот вы здесь сказали в каком случае лучше писать классы, не могли бы вы развить эту тему и описать, когда и для чего писать классы, ну и советы по написанию были бы к месту. Давно не делаете видосы, наверное заняты?

    • @zaemiel
      @zaemiel  6 років тому +2

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

  • @arseniykhomchenko
    @arseniykhomchenko 5 років тому

    почитал предыдущие комментарии и решил подключить к боту прокси. Но возникла проблема: нигде не могу найти прокси с протоколом HTTPS. Подскажите, пожалуйста, кто знает, где найти. Видел, что HTTP тоже подходит, но у меня все же не работает и выдает ошибку:
    [WinError 10061] Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение

  • @sigurds5599
    @sigurds5599 2 роки тому

    Скажите пж это подходит для начинающих?

  • @ColorCar161
    @ColorCar161 5 років тому

    Здравствуйте! Делаете ли вы ботов на заказ?)

  • @uzb_fun_club2522
    @uzb_fun_club2522 6 років тому +1

    Как сделать реф. систему

  • @user-fk3gy5qg5c
    @user-fk3gy5qg5c 6 років тому +2

    Написал бота ,с помощью библиотеки telegram ,выложил на heroku ,но спустя 1 минуту бот перестаёт отвечать на сообщения.Подскажите,пожалуйста,как исправить?

  • @EzioPoi
    @EzioPoi 6 років тому +1

    Привет! А как на Sublime text установить библиотеку requests? У меня говорит ModuleNotFoundError: No module named 'requests'

    • @zaemiel
      @zaemiel  6 років тому +1

      Sublime Text совершенно здесь не причем. Это библиотека Python.
      Загляните в описание к видео - там все есть.

  • @MrTemperator
    @MrTemperator 7 років тому +26

    Отличное видео, привет из апреля 2017 где биткоин стоит 1225)

    • @drewya9186
      @drewya9186 7 років тому +1

      эх вспомнить бы сейчас тюльпановый пузырь 1636 года

    • @user-sp3ww8wf6r
      @user-sp3ww8wf6r 7 років тому

      2732

    • @Timur_Kan
      @Timur_Kan 6 років тому +1

      09.08.2017 3.3204$

    • @ramilb.252
      @ramilb.252 6 років тому

      Суббота, 26/08/2017 1 BTC = 4 364.46891 USD

    • @noangelnoangel
      @noangelnoangel 6 років тому

      пару дней назад перевалил за 5000, правда чуть чуть обратно откатился потом :-)))

  • @vicodin9783
    @vicodin9783 4 роки тому

    Скажите, почему после всех манипуляций с кодом, Ваш бот начал выдавать одно и тоже значение 929??? Куда делась волатильность рынка? Бот случайно не запомнил какое-то последнее валидное значение и "херячит" его на каждый запрос? У меня тоже самое получается. Почему так?

    • @zaemiel
      @zaemiel  4 роки тому +1

      потому что CoinMarketCap - это не биржа. И никаких ежесекундных обновлений цен на нем никогда не было и не будет. По-моему, это очевидно.

  • @imgnl
    @imgnl 6 років тому

    Олег, когда про вебхуки росскажите?)

    • @zaemiel
      @zaemiel  6 років тому

      Как только - так сразу

    • @KirillFox
      @KirillFox 6 років тому

      Сильно ждем!!

  • @fedorzavs2351
    @fedorzavs2351 6 років тому +3

    Помоги пожалуйста.При проверке на 1:03:29 выдает ошибку:
    File "bot.py", line 35
    message_text = last_object['message']['text']
    ^
    TabError: inconsistent use of tabs and spaces in indentation
    все отступы перепроверил по несколько раз и также несколько раз сверился с вашим образцом по правильности написания,все в точности совпадает.Как решить эту проблему и может ли эта ошибка быть из за самого интерпритатора?

    • @zaemiel
      @zaemiel  6 років тому +1

      нужно еще раз все проверить.
      Выделить весь текст, использовать команду типа Convert to spaces (она есть во многих редакторах), еще раз проверить отступы в логических блоках - 4 пробела на отступ.

    • @fedorzavs2351
      @fedorzavs2351 6 років тому

      Большое спасибо,помогло.

  • @user-ml5pt7ct4z
    @user-ml5pt7ct4z 6 років тому

    как справа столбец добавить ?

  • @TheFuckStrat
    @TheFuckStrat 6 років тому +5

    у меня ничего не выходит когда url распечатываем

    • @dmitrykuznetsov8229
      @dmitrykuznetsov8229 5 років тому

      После функции сделай на нее запрос:
      get_updates()

  • @GGEASY56
    @GGEASY56 4 роки тому +3

    держу в курсе) 2k19 август) 10к стоит биток)

  • @r0m1mpl97
    @r0m1mpl97 2 роки тому

    Телеграм бот для вывода спаршенных товарос с Розетки: ua-cam.com/video/TzisLqUEU6g/v-deo.html

  • @user-ze4ux6vh3k
    @user-ze4ux6vh3k 4 роки тому

    Я столкнулся с ошибкой на 47:51 минуте.
    Ругается на json.
    Если убрать из строки .json() и оставить r=requests.get(url), по пишет ответ 403.
    А с r=requests.get(url).json() выводит следующее:
    Traceback (most recent call last):
    File "D:\work\Python\telegram bot\yobit.py", line 12, in
    get_btc()
    File "D:\work\Python\telegram bot\yobit.py", line 6, in get_btc
    response = requests.get(url).json()
    File "C:\Python36-32\lib\site-packages
    equests\models.py", line 892, in json
    return complexjson.loads(self.text, **kwargs)
    File "C:\Python36-32\lib\json\__init__.py", line 354, in loads
    return _default_decoder.decode(s)
    File "C:\Python36-32\lib\json\decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
    File "C:\Python36-32\lib\json\decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
    json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
    [Finished in 1.0s]

  • @vladimirkutovoy3003
    @vladimirkutovoy3003 6 років тому

    Почему когда я отменяю кодировку строкой - ensure_ascii=False - значение text"Êóòîâîé". С чем это связано ? )

    • @zaemiel
      @zaemiel  6 років тому

      У вас Windows?

  • @liloo_portal
    @liloo_portal 6 років тому

    День добрый. Спасибо за видео, только есть вопрос. Я написал скрипт который парсит объявления с сайта и отправляет в телеграмм. Только загвоздка в том что он отправляет нижнее объявление а не верхнее, точнее нужно 6-ое объявление. Плюс что надо изменить в коде , чтоб он отправлял автоматически каждые 2 секунды,если появилось новое сообщение, ато он не хочет этого делать, только если перезапускать скрипт или написать что нибудь в телеграме pastebin.com/pAYTMgcE

    • @zaemiel
      @zaemiel  6 років тому

      эта версия бота не годится для продакшена и я об этом прямо говорил в этом видео.
      В описании к видео есть более или менее нормальная версия бота.
      1. У вас есть список L из четырех элементов. Как получить 2-й элемент?
      2. Бот должен работать по запросу пользователя.

  • @guiseppemavriki376
    @guiseppemavriki376 6 років тому

    Можешь показать видео с кнопками ReplyKeyboardMarkup? пожалуйста

  • @yanagaeify
    @yanagaeify 7 років тому +6

    Ребята, если кто на линуксе работает, то запускайте sublime через sudo на терминале или дайте ему права суперпользователя, иначе не создаст вам файл "updates.json".

  • @erikshaydulin8272
    @erikshaydulin8272 6 років тому

    Если у кого не создается файл updates.json на Windows, когда вы запускаете с консоли бота, зайдите в командной строке в папку с проектом и оттуда запускайте командой
    cd C:/местоПапкиСБотом/ и потом запускаем по имени bot.py

  • @liloo_portal
    @liloo_portal 6 років тому +1

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

    • @zaemiel
      @zaemiel  6 років тому

      Если коротко, то точно также. Берете пишете парсер нужного сайта, потом пишете бота, потом вместе соединяете. И готово.
      А если не коротко, то в комментариях это не опишешь.

    • @liloo_portal
      @liloo_portal 6 років тому

      Видео бы было первым =)

  • @tsoer2976
    @tsoer2976 4 роки тому

    Когда смотрю на цены 925 долорав глаза заливает слезами. ЗА видио спасибо. Если еще будет что подобное то советую записать про виртуальную среду то иногда вылетает ошибка

    • @zaemiel
      @zaemiel  4 роки тому

      Я не понял ваш совет.

    • @tsoer2976
      @tsoer2976 4 роки тому

      @@zaemiel Запиши видео как правильно делать виртуальную среду, для чего это нужно и так далее.

    • @zaemiel
      @zaemiel  4 роки тому +1

      уже есть такое видео

  • @user-me2qj8de9v
    @user-me2qj8de9v 6 років тому

    как сделать чтобы в правом окошке Sublime результаты исполнения программ Python высвечивались?

    • @andrewvorontsov8459
      @andrewvorontsov8459 6 років тому

      F7 || CTRL + B || CMD + B
      Как панель вправо двинуть не знаю, но подозреваю, что через конфиг Build system.

  • @ThePirateHistory
    @ThePirateHistory 7 років тому

    веть можно добавить другие команды?или только btc

    • @zaemiel
      @zaemiel  7 років тому

      можно добавить все, что захотите. Это всего лишь демонстрация принципа

  • @99phenomenon
    @99phenomenon Рік тому

    збс!

  • @mazur_vg
    @mazur_vg 2 роки тому

    Если у кого под Windows будет ошибка при создании json.dump следующего содержания: "UnicodeEncodeError: 'charmap' codec can't encode character '\U0001f489' in position 7: character maps to ", то нужно явно указать для открытия файла "encoding='utf-8'", то есть должна быть запись вида "with open("updates.json", "w", encoding="utf-8") as file:"

  • @alexeynikashin8754
    @alexeynikashin8754 5 років тому

    Всё шло прекрасно до 39:52 когда автор вызвал сообщение бота из телеграмма. последняя введенная строка send_message(chat_id, "Что ты хочешь на ужин?") После этого сессия проходит без ошибок, но ничего не выводится и сообщение не приходит. Не могу понять, в чём ошибка.

    • @alexeynikashin8754
      @alexeynikashin8754 5 років тому

      Всё заработало. Ошибка, как обычно, в недосмотре одного символа. Пришлось всё проверить посимвольно глазами )

  • @Mr1987MAD
    @Mr1987MAD 6 років тому +1

    Здравствуйте!
    Спасибо за урок. Я новичок в этом деле. Не могу разобраться: с того момента, как прописали
    with open('updates.json','w') as file:
    json.dump(d, file, indent=2, ensure_ascii=False) и я отправил боту в чат сообщение на русском, то в файл updates.json записались следующие строки:
    {
    "message": {
    "date": 1507724006,
    "text":
    и далее уже ничего не записывается. В чем проблема может быть? Если через консоль запускать, то выдает ошибку
    UnicodeEncodeError: 'ascii' codec can't encode characters in position 1-7: ordinal not in range(128)

    • @zaemiel
      @zaemiel  6 років тому

      Добрый вечер,
      1. Какая у вас операционная система?
      2. Какой у вас редактор?
      3. Работает ли код в консоли?
      4. На какую строку ссылается traceback, где ошибка? Приведите, пожалуйста, кусок этого кода.

    • @Mr1987MAD
      @Mr1987MAD 6 років тому +1

      1. Windows 7 Professional 32bit
      2. Sublime Text Version 3.0 Build 3143
      3,4. Пишет следующее:
      C:\Python27>python.exe C:\Python27\bot.py
      Traceback (most recent call last):
      File "C:\Python27\bot.py", line 32, in main()
      File "C:\Python27\bot.py", line 28, in main
      data = json.dump(d, file, indent=2, ensure_ascii=False)
      File "C:\Python27\lib\json\__init__.py", line 190, in dump
      fp.write(chunk)
      UnicodeEncodeError: 'ascii' codec can't encode characters in position 1-7: ordinal not in range(128)
      если в коде заменить json.dump(d, file, indent=2, ensure_ascii=False) на
      json.dumps(d, file, indent=2, ensure_ascii=False).encode('utf-8'), то всё работает

    • @zaemiel
      @zaemiel  6 років тому

      Хорошо, что разобрались. Это отлично.
      Python 2.7 по дефолту не знает, что такое Unicode, поэтому вылезло такое исключение, пока вы ему явно не указали, что это юникодная строка.

    • @user-en2kp2dp2e
      @user-en2kp2dp2e 4 роки тому

      у меня ошибка была из-за того, что по умолчанию стояла версия питона 2.7. Переключение на версию 3 помогло решить проблему. ОС: Ubuntu 18.04

  • @doni5227
    @doni5227 5 років тому

    у меня сайт sendmessage не работает помогите!!

  • @adammadiyarov5391
    @adammadiyarov5391 5 років тому +1

    у меня почему-то выдает ошибку
    {"ok":false,"error_code":400,"description":"Bad Request: message text is empty"}
    как это исправит ? помогите если можете )

    • @libonskii8812
      @libonskii8812 4 роки тому

      Это чисто твоя ошибка ,перечитай код

  • @agrun4070
    @agrun4070 6 років тому

    Не надо было писать else: continue, так как ты пропускаешь вызов sleep() и бот жестко спамит сервера telegram, рискую получить таймаут

  • @zarramerri6267
    @zarramerri6267 5 років тому

    Привет! Олег, дай пожалуйста ссылку на код или выложи прям сюда.

    • @zaemiel
      @zaemiel  5 років тому

      его нету

  • @itkot7390
    @itkot7390 6 років тому +1

    Сам пользуюсь дистрибутивом Mint. Подскажите в чём может быть проблема что не устанавливается модуль telegram aipi? В терминале ввожу след команду: pip install pytelegrambotapi - выдаёт ошибку. Также пробую следующие команды: pip3 install pytelegrambotapi, и с sudo тоже пытался, но всегда выдаёт ошибку. И pip обновлял, ничего не помогает.

    • @zaemiel
      @zaemiel  6 років тому

      Окей, какую же ошибку вам выдает?
      Он же вам прямо говорит, что не так и что нужно...

    • @itkot7390
      @itkot7390 6 років тому

      Сейчас не могу сказать, не у домашнего пк. Сегодня попробую через виртуальное окружение ещё поставить. У многих такая проблема была, решили виртуалкой. Если опять не поставится отпишу в комент.

    • @zaemiel
      @zaemiel  6 років тому

      Фокус в том, что вы не знаете, в чем проблема.
      А не знаете потому, что не читаете ошибку.
      Выдвинув идею об установке в виртуальном окружении - вы пытаетесь решить проблему абсолютно вслепую, просто наугад.
      И это вообще не способ.
      Я глобально не могу ничего ставить без использования команды sudo.
      sudo pip3 install ...
      Я знаю это на практике, потому что читаю сообщения об ошибках и исключениях.

    • @itkot7390
      @itkot7390 6 років тому

      Вообщем такая ситуация. При установке путём команды: pip install pytelegrambotapi . Всё установилось.
      А вот если я прописываю pip3 install pytelegrambotapi выбрасывает следующее ошибку: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-2bhybdx3/pytelegrambotapi/
      Не может выполнить команду... а как это поправить не понимаю.

    • @zaemiel
      @zaemiel  6 років тому

      Я не знаю.
      Чтобы ответить на ваш вопрос мне нужно гуглить ошибку.