Python Telegram Bot
Open in Telegram
☑️ Заявки принимаются автоматически! Обучаем созданию и продвижению чат-ботов в телеграм. ссылка: @pybotg связь: @oksi_young https://telega.in/channels/+Mj_twnrYuAxkZmUy/card/?r=BrHKEWMo
Show more5 003
Subscribers
No data24 hours
-67 days
+1730 days
Posts Archive
5 003
Функция range()
Если необходима итерация по последовательности чисел, пригодится встроенная функция
range(). Она генерирует арифметические прогрессии (Код 1)
Конечная точка никогда не является частью сгенерированной последовательности; range(10) производит 10 значений, которые являются допустимыми индексами для элементов последовательности длиной 10. Также range может начинаться с другого числа или иметь другое приращение (даже отрицательное; иногда это называется «шагом»)(Код 2)
#python_обучение5 003
Найти работу Python программистом можно 2 методами:
Первый. Бесконечно скроллить HeadHunter и пытаться что-то выклевать на LinkedIN. Офигеть от условий и закрыть.
Второй. Подписаться на Python Job. Это база адекватных предложений, где даже для новичков много мест с хорошей з/п.
Тут найдете работу как в Яндексе (именно сюда крупняки присылают вакансии напрямую), так и в молодых стартапах!
В общем, не теряйте времени и находите работу в 2 клика: @job_python
5 003
Продолжение к посту выше
Привыкайте использовать
ParseMode.HTML, потому что он выдает меньше всего ошибок и с помощью него лучше понятно какое форматирование используется, потому что форматировать звездочками и подчеркиваниями не очень удобно, лучше, когда это форматирование происходит тегами.
Поэтому, для того, чтобы получить токен бота, мы импортируем из data переменную config, для того, чтобы импортировать storage, мы используем MemoryStorage, который, в свою очередь, мы импортируем из aiogram.contrib.fsm_storage.memory. Ну и из aiogram мы импортируем Bot, Dispatcher и types, который нам понадобится для ParseMode, чтобы указать, что это HTML.5 003
Создатель @ttsavebot рассказал о том как разработал Telegram-бот с функцией удаления водяных знаков с TikTok-видео и продал его российской компании.
• Функция Telegram-бота
• Монетизация
• Технические сложности
• Как искали клиентов
• Как удалось продать за $150 тыс
• Почему продали
Читать
5 003
Циклы for в Python
Циклы являются неотъемлемой частью в любом языке программирования. Для чего нужны циклы? Представьте себе задачу, в которой вам необходимо перебрать элементы в списке(что такое список разбирали выше), определить какое то соответствие и вывести результат.
Задача является простой, если у вас немного элементов, а что если у вас тысячу разных элементов? В данном случае мы можем организовать цикл, в котором будет выполнятся перебор элементов, какие то операции и выводится результат. Таким образом, вся муторная работа будет выполнена вашим скриптом за вас.
Логика цикла
for заключается в том, что мы перебираем значения внутри списка, словаря, кортежа или множества, проводим нужную операцию и выводим результат. Для большей наглядности советуем взглянуть на фото выше и попробовать написать подобных код.
#python_обучение5 003
Нейросеть научили создавать обнажённых женщин. Ребята из ИИ уже выкатили инструкцию, как собрать свою женщину. Фулл в закрепе: https://t.me/+IaJ0yO7osxplZTEy
5 003
☑️ Создать бота для записи в Посольства США
Необходим специалист по созданию ботов
• 4000 рублей/заказ
• Задача:
Создать бот для записи в Посольства США на получение туристической визы с прохождением собеседования.
Откликнуться
☑️ Программист Python/Data Scientist (junior / middle)
ООО АПЭРБОТ
• Опыт работы: не требуется
• Полная занятость, полный день
• Обязанности:
— Под руководством опытного специалиста в машинном обучении и NLP (natural language processing) улучшение моделей по обработке текстов и изображений.
— Настройка процессов по обработке и аугментации данных.
— Ключевые навыки: Python, Django Framework, SQL, XML, MS SQL
Откликнуться
5 003
Продолжение к посту выше
Теперь приступаем к нашей переменной
storage, которая будет использоваться для хранения каких то данных в машине состояний в стэйтах, о которых мы поговорим чуть позже. Поэтому, без стэйтов она вам, в принципе, не нужна, но на всякий случай лучше создать эту переменную, вдруг вы захотите использовать ее.
Дальше, dp. Диспачер - это самый главный обработчик событий, в который летят апдейты, проходящие через наши фильтры, мидлвари и прочие переменные и попадающие в нашу функцию handler, где мы уже настраиваем логику ответов на сообщения. Кстати говоря, очень удобно, что имея только диспачер, вы имеете сразу доступ к объекту бота, к лупу и к storage, все они зашиты в него. Теперь дальше, когда мы создаем переменную бот, Мы обязательно передаем токен бота, который будет хранится в config.5 003
☑️ Приватка!
По многочисленным просьбам мы создали закрытый канал с платными скриптами, их можно купить по отдельности или оформить пожизненную подписку на закрытый канал, который постоянно пополняется новым софтом. Цена на приватку будет постоянно повышаться, потому что материала там будет все больше и больше.
• Один скрипт на ваш выбор - 500₽
• Приватный канал - 1500₽
Сегодня первые 30 покупателей получат скидку 30% на приватный канал 1500₽ → 1000₽ Успей купить по хорошей цене!
Покупка/Вопросы : @finessedirector
Наличие скриптов (клик)
5 003
Вложенные условия Python
Итак попробуем более подробное разобраться с условиями внутри условий! И так, представьте себе что внутри конструкций if…elif…else мы можем использовать дополнительные условия -конструкции, это и называется вложенными условиями, это как сон во сне, в фильме начало. В самом начале ничего не понятно, но стоит немного углубиться, и все становится на свои места. Пример работы такого условия на фото выше.
5 003
GitHub и Habr теперь в телеграм!
GitHub и Habr - ресурсы, в которых собраны сотни полезных статей связанных с программированием и не только. В телеграме появился официальный русскоязычный канал, в котором уже публикуются лучшие статьи. Подпишись!
5 003
Продолжение к посту выше
Каждый из этих методов в объекте
bot - асинхронный и выдает карутину. Карутина - это не выполнение функции, а как бы запоминание и сохранение того, что мы хотим положить в поток. Поэтому, для того, чтобы запустить отправку сообщения, вам нужно перед карутиной обязательно дописать await. Но так как, карутина может быть запущена только в асинхронной функции, вам, соответственно, нужно правильно ее запустить.
Для того, чтобы отправить сообщение в синхронной функции, то есть когда вы пишете def, а не asunc def, то функцию придется ставить в поток. Для того, чтобы использовать поток, нужно из asyncio импортировать get_event_loop. Тогда, с помощью этой функции, вы можете получить ваш поток. Но, так как, у нас поток и так создается в диспачере, вы можете сделать это еще проще: dp.loop.run_until_complete() и тогда вам не надо прописывать await.5 003
Telegram — это в первую очередь мессенджер, а не соцсеть
Здесь другие способы общения с клиентом. Поэтому подход к продвижению в Telegram во многом отличается от работы с "инстой" или "вконтакте" Каналы и чаты вместо ленты новостей. Чат-боты — аналог рассылок, а так же развлечение или помощник для пользователя
В телеграм не нужно бороться за то, чтобы умная лента показала пользователю ваши публикации. Он обязательно увидит оповещение о непрочитанном сообщении в списке чатов и каналов, на которые он подписан. Поэтому все техники увеличения охватов и борьба за виральный охват отходят на второй план.
Люди пользуются ботами которые им действительно интересны
Ваш бот должен помогать подписчику быстро и эффективно решить проблему, получить эстетическое удовольствие, развлечься или получить новую информацию
#маркетинг
5 003
Синтаксис if..elif..else
И так, с тем как формируются условия для проверки одного выражения, мы с вами разобрались, теперь попробуем разобраться с тем, как формируются условия, для проверки нескольких вариантов.
Начнем с того что оператор
elif, это сокращение от else…if, то есть «Иначе если«, именно благодаря этому оператору мы можем проверять несколько вариантов выражений. Все довольно просто, если условие для нашего if возвращает нам False, то Python проверяет состояние уже следующего за ним условия elif, если и тут условие возвращает нам False, то идем проверять следующее, либо переходим к блоку else, в зависимости от вашего условия. В конструкциях if…else, может быть только один блок else, но могут быть несколько блоков elif. Пример выше для наглядности описанных тут действий
#python_обучение5 003
Python пришел в телеграм!
Python — второй по популярности язык в мире. Он очень универсален: можно писать сайты, а можно искусственный интеллект. Теперь у Python есть русскоязычный канал. Это первоисточник всего, что появляется в платных курсах и остальных ресурсах. Стоит подписаться!
5 003
В этом посте мы разберем файлы app.py и loader.py, которые будут использоваться для запуска нашего бота.
В файле loader.py мы будем подгружать все наши переменные, которые нам понадобятся для работы в хендлерах. А в файле app.py мы будем запускать именно работу нашего бота, где будет начинаться полинг или же веб хук.
Давайте в первую очередь разберем, куда мы будем подгружать переменные, то есть наш файл loader.py. Самые главные 3 переменные, которые мы будем использовать - это bot, storage и dp(диспачер).
Что же такое наш объект bot? Это инстанс класса Bot, который мы импортировали из Aiogram, с помощью которого мы будем делать все запросы к телеграмма по тем методам, которые он нам предлагает в своем api. То есть, например, если вы хотите сделать отправку сообщения, то вы делаете
bot.send_message(), если вы хотите сделать отправку фото, вы делаете bot.send_photo, и т.д.5 003
Условные операторы Python
Условный оператор(if....else) - это порядок действий, который будет выполнятся при истинности или ложности условия. На картинке выше показано использование условного оператора с одним условием, но конструкция может не ограничиваться одним условием и имеет от 2 и более вложений.
#python_обучение
5 003
Технический английский в IT не решает? Ошибаешься, ещё как решает!
На собеседованиях в крупные компании знание технического английского является главным пунктом. Даже если ты хороший специалист, но не знаешь тех. английского, то увы, Вы нам не подходите.
Подтяни технический английский за пару месяцев, читая мемы: @engl_it
5 003
Финал
И опять таки, тут есть папки __init__.py, в которые мы будем импортировать переменные и функции.
Дальше, есть папка middlewarres, в которой будут находится наши мидлвари. По своей сути, мадлварь - это программа, которая лежит между операционной системой и приложением. По аналогии, мидлвари это модули, которые будут находится между доставщиком апдейтов и хендлерами. То есть, с помощью мидлварей мы сможем влиять на ту информацию, которая идет в хендлер.
Так же, у нас есть папочка states, в которой будут прописываться состояния для машины состояния. Машина состояний нужна для того, чтобы хранить и обмениваться информацией между хендлерами.
И последняя папка utils. В ней будут вспомогательные модули для работы с базами данных и прочие скрипты, хранящиеся в папке misc. Так же в utils есть подпапки db_api для работы с базами данных, redis, в которой будут хранится какие то константы для редиса, и файл notify_admins.py, для рассылки админам бота сообщения о том, что бот запущен.
