Алексей, я даже не знаю как покритиковать. Приятная чистая четкая речь, емко, полезно, мотивирующе. В очередной раз хочу выразить благодарность за то что вы у нас такой замечательный на Ютубчике и в уютном телеграмчике 🎉 :)
Долгое время пользовался Telethon, но после парочки недоработок и багов полностью перешел на Pyrogram. Как по мне он намного лучше. По поводу 12:18 - в Pyrogram и Telethon есть функции, экспортирующие текущую сессию в string, которую можно использовать при каждом создании объекта Client. В таком случае он не будет каждый раз просить ввести код 2FA.
Програмулить обязательно нужно!!! Три дня щас решал задачу с kwork по регестрации на сайте с reCaptcha и кодом решил разгадывание каптчи и регу в многопотоке) И selenium может работает в фоне! Кайф!!! Теперь код переписать под функциональное програмулинье. И, уже вижу, что решение универсальное !)
Как всегда тонна полезностей и качество на высшем уровне. Спасибо! Тоже топлю за длинный и внятный нэйминг. Было бы круто развить тему телеграм ботов. Было бы ещё здорово узнать о том как грамотно оценивать сроки для любых задач
@@АлексейПротасов-п6э спасибо кэп) Я думал может мало ли есть какие-то профессиональные, набитые опытом способы. Оценивать с учётом всевозможных форс-мажоров и затупов на пути решения задачи. Особенно когда это касается какого-нибудь легаси кода
Классный видос приятно смотреть на автора который помимо программирования представляет из себя интересного человека. Круто смотреть даже если вообще не понимаешь за технологию то автор отлично все объясняет простым языком вообщем круто. +хотел бы видеть от тебя видео по теме английского языка в общем по типу как сам учил, английский для программистов, как учить, где учить и тд.
Вдруг кому поможет! Ребята , у кого выбивает ValueError попробуйте получить в функции "get_telegram_chat_id_by_channel_id " не return json_response["result"]["linked_chat_id"] а return json_response["result"]["id"] PS : Автору спасибо огромное за данный видеоролик ! НАИБОЛЕЕ ДОСТУПНО !
Наконец то нормальное видео, надеюсь продолжишь в подобном духе, а не как в последнее время пытался пародировать хауди хо, делая детские видео для новичков
Спасибо за видео! Подскажите, что используется для мониторинга телеграм ботов из прометея? Есть какой адекватный метод? Может какая либа, где можно взять декораторы на функции
Ни минуты не посмотрел а уже подписался, что вы сделали со своей аудиторией? Комментариев таких не видел, ни на одном канале . Очень уж интересно посмотреть
Привет :) Почему user_in_chat_count переменную создал, хотя len(user_in_chat) достаточно читаемо, а вот ban_user и unban_user не сгруппировал в какой-нибудь reset_user_permision? :)
user_in_chat_count не для читаемости, а для того, чтобы много раз не считать эту длину списка внутри цикла, там используется эта длина в лог сообщениях. А ban_user и unban_user не стоит группировать в одну функцию, так как внешние API, на которое завязаны эти функции, в любой момент могут измениться, сейчас они отличаются 1 словом в урле, а могут стать совсем разные, и тогда внутри одной этой функции надо будет делать корявые длинные ветвления. Каждая из функций ban_user и unban_user делает одну свою простую задачу и некоторое дублирование кода здесь оправдано, усложнение введением reset_user_permision не считаю здесь оправданным.
привет, Алексей! большое спасибо за такие видосики! мог бы сделать пожалуйста видос про полноценный деплой на виртуалку яндекс клаудас нуля какого нибудь небольшого джанго проекта. покажи в нем как праильно собирать докерфайл, писать докер компоуз, и чтобы это дело по красоте автоматом деплоилось с помощью gitlab ci/cd. цены тебе не будет! очень у меня эта тема почему то тяжело идет=(
Уметь програмулькать )) - это, конечно, здорово. Но вот что интересно и непонятно... Скажем, с функциями и циклами в питоне я разобрался. Потом захотел сделать вот такой простенький скрипт. И тут оказывается, что знания одного ЯП недостаточно, появляется куча вопросов. С чего начать? Как понять, какие библиотеки нужны? Нужны ли они вообще? Ну вроде как гуглить, приходит на ум. Но что гуглить, если знаешь телеграм только как пользователь? Каким путём идти, чтобы идти к цели, а не кругами? Вопрос общий про программирование, телеграм для примера.
@@t0digital Есть парочка предложений: 1) массовая регистрация чего-либо на основании какого-либо заполненного файла. Например: школам часть приходится выполнять массовые регистрации детей на какие либо мероприятия. Для регистрации требуется эл. почта школьников, которую необходимо регистрировать вручную. Можно было бы читать из данные из файла, подставлять в определенные поля сервиса и выполнять какие-либо действия. Я думаю очень много рутины завязано на копировании данных из экселя и подстановки куда-либо. 2) программулена, которая бы парсила сайты и вытягивала бы оттуда нужную информацию. Например: хотим купить товар (компуктер), есть определенные требования к нему, подаём на вход эти самые требования, дальше запускам парсер, на выходе получаем цену и сайт, отзывы. Аля упрощенный Яндекс Маркет
спасибо за интересное видео... вот я например разработчик нейроннок по обработке контента,и тоже считаю что хотябы один язык и базово должны понимать все... А программиста хлебом не корми а дай все автоматизировать||}} знаю по себе
А смысл, если группу с комментариями привязанную к каналу нужно сделать частной по заявке и никгде не публиковать от неё ссылку? В таком случае никто не сможет подписаться
Ну всё это можно было реализовать с помощью Telegram Bot API, также это было бы лучшим решением, так-как телега не любит когда вы добавляете вот таких юзерботов и может просто забанить аккаунт, если вы не пользуетесь аккаунтом на постоянной основе и он не "прогрет" А также заметил вот эти строчки в коде: # add -100 to the string start. # For example, id in URL is 123, so write -100123 here На самом деле это неправильный подход, потому что без -100 это айди обычной группы, а с -100 это айди супергруппы и просто добавить -100 не получится, так-как в момент когда группа переходит в супергруппу айди этой группы меняется полностью, а не добавляется -100
@@t0digital А зачем их получать? В БД хранить айди пользователя и дату окончания подписки, если дата просрочена - кикаем пользователя из группы, всё это можно реализовать со встроенной sqlite, а вот так каждый раз парсить чаты - аккаунт попросту отлетит
Эх, комментарий написал на прошлый видос, а тут перезалили. Я как раз досмотрел до момента с ключами приложения, хотел написать чтобы перезалили, а тут уже Бац и нет видоса. Чаек уже выпил, пойду еще заваривать
надо повесить его на сервер, да. Например, Debian Linux сервер (на Selectel, Яндекс облако или где угодно ещё), на нём в простейшем варианте точно так же запускаете бота с long polling. Для работы с веб-хуками надо больше ПО, уже веб-сервер и тд. Перезапуск бота можно в systemd записать.
Вчера перепробовал 1000001 способ, чтобы получить сущность канала, чтобы потом получить его hash_id, в ответ получал: raise ValueError( ValueError: Could not find the input entity for PeerChannel(channel_id=1884558762) (PeerChannel). Причем самое интересное, что на локальной машине в тестовом проекте все работало😂 В какой-то момент начал ощущать себя дол...бом! Уснул практически с маком на руках. Проснулся - опять давай юзать, т.к. обычно с утра все получается. В итоге нашел такое очень важное замечание, что telethon должен знать об этой сущности заранее, чтобы получать ее (эту сущность) по id😮 грубо говоря нужно сначала ее нужно вызвать по имени, как в моем случае имя канала, а затем уже МОЖНО вызывать ее по id. Не знаю чем разрабы руководствовались, может быть какими-нибудь требованиями безопасности, а может просто бага, но гемороя она доставила изрядно. В итоге: по нажатию кнопки получаю id каналов юзера, где он админ, как получить имя пока не думал, вписываю имя вручную, получаю сущность канала по имени, получаю его hash_id, пытаюсь добавить бота в канал - пишет, что ботов нельзя так добавлять😂 Буду сегодня еще копать, а может забью и на озеро поеду - погода огонь, завтра др🎉38🎉 Но что-то мне подсказывает, что сегодня я опять лягу с маком на руках😅
Столько полезности и ламповости. Обычно еле смотрю короткие видосы по теме, а тут на одном дыхании. Спасибо, Алексей!
Спасибооо!
Алексей, я даже не знаю как покритиковать. Приятная чистая четкая речь, емко, полезно, мотивирующе. В очередной раз хочу выразить благодарность за то что вы у нас такой замечательный на Ютубчике и в уютном телеграмчике 🎉 :)
Спасибооо, приятно!
не по колокольчику, а по зову сердца
Канал для души! Спасибо, за то, что и как ты делаешь!
Долгое время пользовался Telethon, но после парочки недоработок и багов полностью перешел на Pyrogram. Как по мне он намного лучше.
По поводу 12:18 - в Pyrogram и Telethon есть функции, экспортирующие текущую сессию в string, которую можно использовать при каждом создании объекта Client. В таком случае он не будет каждый раз просить ввести код 2FA.
Спасибо, хорошее видео, отличные выводы
Спасибо вам за ваш труд!
Програмулить обязательно нужно!!!
Три дня щас решал задачу с kwork по регестрации на сайте с reCaptcha и кодом решил разгадывание каптчи и регу в многопотоке)
И selenium может работает в фоне!
Кайф!!!
Теперь код переписать под функциональное програмулинье.
И, уже вижу, что решение универсальное !)
Спасибо, хорошее видео и правильные мысли, программирование как и основы информационной безопасности нужны абсолютно всем.
Как всегда тонна полезностей и качество на высшем уровне. Спасибо! Тоже топлю за длинный и внятный нэйминг. Было бы круто развить тему телеграм ботов.
Было бы ещё здорово узнать о том как грамотно оценивать сроки для любых задач
На глаз
@@АлексейПротасов-п6э спасибо кэп) Я думал может мало ли есть какие-то профессиональные, набитые опытом способы. Оценивать с учётом всевозможных форс-мажоров и затупов на пути решения задачи. Особенно когда это касается какого-нибудь легаси кода
@@nikolay1944 как по мне всё зависит от проекта и команды.
Классный видос приятно смотреть на автора который помимо программирования представляет из себя интересного человека. Круто смотреть даже если вообще не понимаешь за технологию то автор отлично все объясняет простым языком вообщем круто. +хотел бы видеть от тебя видео по теме английского языка в общем по типу как сам учил, английский для программистов, как учить, где учить и тд.
Тоже интересно мнение автора услышать по этому поводу
ловите th-cam.com/video/QO2EkfxKdAE/w-d-xo.html :)
Ого, уже есть :)
Вдруг кому поможет! Ребята , у кого выбивает ValueError попробуйте получить в функции "get_telegram_chat_id_by_channel_id " не return json_response["result"]["linked_chat_id"] а return json_response["result"]["id"] PS : Автору спасибо огромное за данный видеоролик ! НАИБОЛЕЕ ДОСТУПНО !
Наконец то нормальное видео, надеюсь продолжишь в подобном духе, а не как в последнее время пытался пародировать хауди хо, делая детские видео для новичков
Спасибо за видео! Подскажите, что используется для мониторинга телеграм ботов из прометея? Есть какой адекватный метод? Может какая либа, где можно взять декораторы на функции
Я хоть и не пользуюсь ботом donate, и не имею своих каналов, но смотреть как написан код и как он работает - невероятно интересно.
Спасибо!
Спасибо!
have you tried astrovim? what do you think about it?
пробовал, но мало, попробую побольше как-нибудь
Ни минуты не посмотрел а уже подписался, что вы сделали со своей аудиторией? Комментариев таких не видел, ни на одном канале . Очень уж интересно посмотреть
А по крону видоса не будет?)
Bot API (Aiogram), User API (Pyrogram)
Можете записать видео о сборках Linux для старых компов для начинающего питонщика?
Привет :) Почему user_in_chat_count переменную создал, хотя len(user_in_chat) достаточно читаемо, а вот ban_user и unban_user не сгруппировал в какой-нибудь reset_user_permision? :)
user_in_chat_count не для читаемости, а для того, чтобы много раз не считать эту длину списка внутри цикла, там используется эта длина в лог сообщениях. А ban_user и unban_user не стоит группировать в одну функцию, так как внешние API, на которое завязаны эти функции, в любой момент могут измениться, сейчас они отличаются 1 словом в урле, а могут стать совсем разные, и тогда внутри одной этой функции надо будет делать корявые длинные ветвления. Каждая из функций ban_user и unban_user делает одну свою простую задачу и некоторое дублирование кода здесь оправдано, усложнение введением reset_user_permision не считаю здесь оправданным.
@@t0digital Понял :) Большое спасибо :)
привет, Алексей! большое спасибо за такие видосики! мог бы сделать пожалуйста видос про полноценный деплой на виртуалку яндекс клаудас нуля какого нибудь небольшого джанго проекта. покажи в нем как праильно собирать докерфайл, писать докер компоуз, и чтобы это дело по красоте автоматом деплоилось с помощью gitlab ci/cd. цены тебе не будет! очень у меня эта тема почему то тяжело идет=(
Че то первый раз вижу в if name такой вид проверки на ошибки, и все подряд тем более. А Traceback-а мало?
Трейсбек не попадет в лог, если его туда не записать
Уметь програмулькать )) - это, конечно, здорово. Но вот что интересно и непонятно... Скажем, с функциями и циклами в питоне я разобрался. Потом захотел сделать вот такой простенький скрипт. И тут оказывается, что знания одного ЯП недостаточно, появляется куча вопросов. С чего начать? Как понять, какие библиотеки нужны? Нужны ли они вообще? Ну вроде как гуглить, приходит на ум. Но что гуглить, если знаешь телеграм только как пользователь? Каким путём идти, чтобы идти к цели, а не кругами?
Вопрос общий про программирование, телеграм для примера.
а loguru?
Можно. Но мне не хотелось тянуть зависимость еще одну, которая тут особо ничего не даст к тому же
Леха, сделай видос с каким-нибудь обще популярным примером автоматизации рутинной задачи на Пайтон?)
Может быть есть идеи, что это может быть за задача? У меня есть, но не уверен, что общепопулярная
@@t0digital Есть парочка предложений:
1) массовая регистрация чего-либо на основании какого-либо заполненного файла. Например: школам часть приходится выполнять массовые регистрации детей на какие либо мероприятия. Для регистрации требуется эл. почта школьников, которую необходимо регистрировать вручную. Можно было бы читать из данные из файла, подставлять в определенные поля сервиса и выполнять какие-либо действия. Я думаю очень много рутины завязано на копировании данных из экселя и подстановки куда-либо.
2) программулена, которая бы парсила сайты и вытягивала бы оттуда нужную информацию. Например: хотим купить товар (компуктер), есть определенные требования к нему, подаём на вход эти самые требования, дальше запускам парсер, на выходе получаем цену и сайт, отзывы. Аля упрощенный Яндекс Маркет
спасибо за интересное видео... вот я например разработчик нейроннок по обработке контента,и тоже считаю что хотябы один язык и базово должны понимать все... А программиста хлебом не корми а дай все автоматизировать||}} знаю по себе
А где прошлый урок?
Какой?
Ламповая хата! Дача?
да:)
Каиффф!
А смысл, если группу с комментариями привязанную к каналу нужно сделать частной по заявке и никгде не публиковать от неё ссылку? В таком случае никто не сможет подписаться
Когда закончится подписка вручную оттуда будете удалять людей?
Ну всё это можно было реализовать с помощью Telegram Bot API, также это было бы лучшим решением, так-как телега не любит когда вы добавляете вот таких юзерботов и может просто забанить аккаунт, если вы не пользуетесь аккаунтом на постоянной основе и он не "прогрет"
А также заметил вот эти строчки в коде:
# add -100 to the string start.
# For example, id in URL is 123, so write -100123 here
На самом деле это неправильный подход, потому что без -100 это айди обычной группы, а с -100 это айди супергруппы и просто добавить -100 не получится, так-как в момент когда группа переходит в супергруппу айди этой группы меняется полностью, а не добавляется -100
Как с бот апи получить участников чата?
Без -100 не работает. Почему не вдавался в детали, мне незачем
@@t0digital А зачем их получать? В БД хранить айди пользователя и дату окончания подписки, если дата просрочена - кикаем пользователя из группы, всё это можно реализовать со встроенной sqlite, а вот так каждый раз парсить чаты - аккаунт попросту отлетит
@@luminee3299 деньгами рулит чужой бот (donate), датами окончания подписки, подписчиками в том числе.
@@t0digital Да я понимаю, в целом ваше решение не плохое, но лучшим решением будет создание аналога такого бота с этой доработкой
И свой телеграм написать было бы лучше:)
кофта найк кайф винтаж=)
Функции и циклы и всё😂
На Pyrogram код был бы короче.
Эх, комментарий написал на прошлый видос, а тут перезалили. Я как раз досмотрел до момента с ключами приложения, хотел написать чтобы перезалили, а тут уже Бац и нет видоса. Чаек уже выпил, пойду еще заваривать
Да, пришлось перезалить:)
Не успел в первый раз посмотреть
Тупейший вопрос, но задам и тут. Телега не присылает смс, не звонит. Что тут происходит? (Win10) Боты ботами, но банальный юзерский доступ мастхэв.
Да много чего может быть вплоть до выключенного устройства с телегой, неподключенного или неработающего интернета и тп
@@t0digital Да, точно, тырьнет выключен, комп выключен. А как я это пишу?... :))))
@@Kascheybiker может быть с другого устройства:)
Pyrogram лучше, мне кажется. Telethon слишком редко обновляется
Взял первое попавшееся, что успешно решило мою маленькую локальную задачу
@@t0digital я сначала делал на телетоне свой проект, но, чтобы добавить новый webview в бота, пришлось все переписывать
@@arsikurin Та же самая проблема, уже писал об этом выше. Перешел на Pyrogram по почти такой же причине.
подскажите такое: вот есть например бот, его коды, и тд. чтобы он висел и "слушал" 24\7, надо его повесить на какой то сервер? какое ПО нужно?
надо повесить его на сервер, да. Например, Debian Linux сервер (на Selectel, Яндекс облако или где угодно ещё), на нём в простейшем варианте точно так же запускаете бота с long polling. Для работы с веб-хуками надо больше ПО, уже веб-сервер и тд. Перезапуск бота можно в systemd записать.
Вчера перепробовал 1000001 способ, чтобы получить сущность канала, чтобы потом получить его hash_id, в ответ получал:
raise ValueError(
ValueError: Could not find the input entity for PeerChannel(channel_id=1884558762) (PeerChannel). Причем самое интересное, что на локальной машине в тестовом проекте все работало😂 В какой-то момент начал ощущать себя дол...бом! Уснул практически с маком на руках. Проснулся - опять давай юзать, т.к. обычно с утра все получается. В итоге нашел такое очень важное замечание, что telethon должен знать об этой сущности заранее, чтобы получать ее (эту сущность) по id😮 грубо говоря нужно сначала ее нужно вызвать по имени, как в моем случае имя канала, а затем уже МОЖНО вызывать ее по id. Не знаю чем разрабы руководствовались, может быть какими-нибудь требованиями безопасности, а может просто бага, но гемороя она доставила изрядно. В итоге: по нажатию кнопки получаю id каналов юзера, где он админ, как получить имя пока не думал, вписываю имя вручную, получаю сущность канала по имени, получаю его hash_id, пытаюсь добавить бота в канал - пишет, что ботов нельзя так добавлять😂 Буду сегодня еще копать, а может забью и на озеро поеду - погода огонь, завтра др🎉38🎉 Но что-то мне подсказывает, что сегодня я опять лягу с маком на руках😅
Есть такой бот в телеге @ShowJsonBot ему можно переслать сообщение и он покажет айди чата и ещё много другой информации, которая может быть полезной
time.sleep(0.5) не топчик.
Просто напомню про urllib.parse.urlencode
Чтобы енкодить int'ы это возможно излишне. Но в целом да. Лучше вместо своего цикла)