📌
Такой подход называется Bot polling. Он не очень эффективный, время от времени отваливается и создаёт много «шума», поэтому лучше использовать Webhook'и (в след. посте), но за них кому-то придётся платить.
#урок #aiogram
Bot polling
Чтобы понять, написал кто-либо боту или нет, он несколько раз в минуту отправляет запрос на сервера Telegram и спрашивает: «Случилось ли что-то интересненькое?»Такой подход называется Bot polling. Он не очень эффективный, время от времени отваливается и создаёт много «шума», поэтому лучше использовать Webhook'и (в след. посте), но за них кому-то придётся платить.
#урок #aiogram
📌 Запуск скрипта при выполнении импорта
• В момент импорта модуля происходит загрузка его содержимого для последующего доступа и использования. Самое интересное в этом процессе то, что на последнем этапе import запускает код.
• Когда модуль содержит только определения классов, функций, переменных и констант, то не будет видно, что код действительно выполнялся, но когда модуль включает в себя вызовы функций, методов или других инструкций, которые генерируют видимые результаты и расположенные вне сценария верхнего уровня '__main__', тогда станете свидетелем его исполнения.
• Необходимо отметить, что код, который выполняется вне сценария верхнего уровня '__main__' - работает только один раз за сеанс. После первого импорта последующие импорты ничего не делают, даже если изменить содержимое модуля. Это связано с тем, что операции импорта являются дорогостоящими и поэтому выполняются только один раз.
📕 Документация
#урок
• В момент импорта модуля происходит загрузка его содержимого для последующего доступа и использования. Самое интересное в этом процессе то, что на последнем этапе import запускает код.
• Когда модуль содержит только определения классов, функций, переменных и констант, то не будет видно, что код действительно выполнялся, но когда модуль включает в себя вызовы функций, методов или других инструкций, которые генерируют видимые результаты и расположенные вне сценария верхнего уровня '__main__', тогда станете свидетелем его исполнения.
• Необходимо отметить, что код, который выполняется вне сценария верхнего уровня '__main__' - работает только один раз за сеанс. После первого импорта последующие импорты ничего не делают, даже если изменить содержимое модуля. Это связано с тем, что операции импорта являются дорогостоящими и поэтому выполняются только один раз.
📕 Документация
#урок
📌
Пока простые темы, дальше будет интереснее. Всё про aiogram 3.0
Код
#урок #aiogram
Bot
и Dispatcher
Bot(token)
— объект, для работы с API телеграмм. Это просто обёртка, никакой магии здесь нет.Dispatcher(bot)
— обработчик входящих событий: полученное сообщение, отредактированное, Callback'и. Через него можно передавать объекты в функции.Пока простые темы, дальше будет интереснее. Всё про aiogram 3.0
Код
#урок #aiogram
📌 Запуск скрипта в интерактивном режиме с параметром -i
• Иногда необходимо в ручную протестировать некоторые функции или классы скрипта, и здесь программиста выручает интерактивный режим работы интерпретатора Python.
• После того как скрипт отработает, интерпретатор Python перейдет в режим командной строки.
• В этом режиме, например, можно вызвать любую функцию, определенную в скрипте с другими аргументами.
📕 Документация
#урок
• Иногда необходимо в ручную протестировать некоторые функции или классы скрипта, и здесь программиста выручает интерактивный режим работы интерпретатора Python.
• После того как скрипт отработает, интерпретатор Python перейдет в режим командной строки.
• В этом режиме, например, можно вызвать любую функцию, определенную в скрипте с другими аргументами.
📕 Документация
#урок
📌 Разница между aiogram 2.x и aiogram 3.0
Объективно, у третьей версии красивее документация. К сожалению, она не полная. У неё много фич, по типу роутов (чуть позже поговорим о них), поддержки приглашений и «мультиботов».
Установка:
Вторая версия более стабильная, она уже «проверена временем». Если вам важна стабильность и не нужны новые фичи, то выбирайте вторую версию, если хочется что-то нового,
Установка:
#урок #aiogram
Объективно, у третьей версии красивее документация. К сожалению, она не полная. У неё много фич, по типу роутов (чуть позже поговорим о них), поддержки приглашений и «мультиботов».
Установка:
pip install --pre -U aiogram
Вторая версия более стабильная, она уже «проверена временем». Если вам важна стабильность и не нужны новые фичи, то выбирайте вторую версию, если хочется что-то нового,
aiogram 3.0
— отличный вариант.Установка:
pip install -U aiogram
#урок #aiogram
📌 Функция bin()
• Функция bin() преобразует целое число в двоичную строку с префиксом 0b.
• Результатом будет binary string - двоичная версия заданного целого числа x.
• Пример преобразований чисел в двоичную систему счисления (на картинке).
📕 Документация
#урок
• Функция bin() преобразует целое число в двоичную строку с префиксом 0b.
• Результатом будет binary string - двоичная версия заданного целого числа x.
• Пример преобразований чисел в двоичную систему счисления (на картинке).
📕 Документация
#урок
📌
Поддерживает бета версию aiogram, для этого нужно к
📕 Документация
Я увидел, что вы набрали в два раза больше ⚡️ чем нужно на предыдущем посте. Уже готовлю материал.
#урок #aiogram
aiogram-dialog
Библиотека для создания многоуровневых и трудных диалоговых меню в ботах, используемая с aiogram
. Поддерживает бета версию aiogram, для этого нужно к
pip install
добавить --pre
.📕 Документация
Я увидел, что вы набрали в два раза больше ⚡️ чем нужно на предыдущем посте. Уже готовлю материал.
#урок #aiogram
📌 Функция ascii()
• Функция ascii() возвращает строку, содержащую печатаемое представление объекта (читаемую версию объекта, например: списка, кортежа, словаря и т.д.).
• В возвращаемой строке функция ascii() экранирует символы, отличные от ASCII (например: ф будет заменена на '\u0444').
• Пример преобразования текстовой строки в строку в ASCII символов (на картинке).
📕 Документация
#урок
• Функция ascii() возвращает строку, содержащую печатаемое представление объекта (читаемую версию объекта, например: списка, кортежа, словаря и т.д.).
• В возвращаемой строке функция ascii() экранирует символы, отличные от ASCII (например: ф будет заменена на '\u0444').
• Пример преобразования текстовой строки в строку в ASCII символов (на картинке).
📕 Документация
#урок
📌
Сейчас доступна ещё и бета версия с новыми возможности. Ей доступны новые фишки тг, по типу приглашений в чат, но она ещё тестируется и со скудной документацией.
Тут можно найти список по шаблонам, примерам и библиотекам для aiogram.
Когда наберёте 10 ⚡️, сделаю небольшой курс по aiogram
#урок #aiogram
aiogram
Асинхронная библиотека для создания telegram ботов. У неё 3к звёзд на Github, большое сообщество и неплохая документация.Сейчас доступна ещё и бета версия с новыми возможности. Ей доступны новые фишки тг, по типу приглашений в чат, но она ещё тестируется и со скудной документацией.
Тут можно найти список по шаблонам, примерам и библиотекам для aiogram.
Когда наберёте 10 ⚡️, сделаю небольшой курс по aiogram
#урок #aiogram
📌
#урок
shutil
Встроенный модуль для высокоуровневой работы с файлами. С его помощью можно скопировать, переместить, удалить файл или папку.#урок
Шпаргалка по Библиотекам Python для:
• Машинного обучения.
• Науки о данных.
• Веб-разработки.
• Разработки игр.
• Автоматизированного тестирования.
#Шпаргалка
• Машинного обучения.
• Науки о данных.
• Веб-разработки.
• Разработки игр.
• Автоматизированного тестирования.
#Шпаргалка
📌 orjson
Библиотека, которая в несколько раз быстрее работает с JSON. Для сравнения, обработка файла размером 1.1MiB занимает 0.71мс, а у json — 33.42. Вот доказательства.Поскольку это дополнительная зависимость, её лучше сделать необязательной и импортировать так же, как в примере.
#урок
🧩 ChatGPT: нейросеть, которая умеет кодить, рисовать и запускать симуляцию внутри самой себя
• Компания OpenAI, которая до этого запустила DALL-E и Codex, опубликовала новую языковую модель ChatGPT на основе GPT 3.5.
• Нейросеть может общаться с человеком в чате и давать ответы на самые разные вопросы.
• Одна из главных фишек модели — способность понимать контекст разговора. Siri или Alexa, к примеру, не могут долго поддерживать связную беседу, поскольку начинают теряться в её сути. А вот у ChatGPT таких проблем не возникает.
🧷 https://tproger.ru/articles/chatgpt-nejroset-kotoraja-umeet-kodit-risovat-i-zapuskat-simuljaciju-vnutri-samoj-sebja/
#Статья
• Компания OpenAI, которая до этого запустила DALL-E и Codex, опубликовала новую языковую модель ChatGPT на основе GPT 3.5.
• Нейросеть может общаться с человеком в чате и давать ответы на самые разные вопросы.
• Одна из главных фишек модели — способность понимать контекст разговора. Siri или Alexa, к примеру, не могут долго поддерживать связную беседу, поскольку начинают теряться в её сути. А вот у ChatGPT таких проблем не возникает.
🧷 https://tproger.ru/articles/chatgpt-nejroset-kotoraja-umeet-kodit-risovat-i-zapuskat-simuljaciju-vnutri-samoj-sebja/
#Статья
📌
#теория
collections.Counter
Это подкласс класса dict, и он используется для подсчета вхождений объектов в итерации. most_common(n)
— возвращает n самых часто встречающихся элементов.#теория
🧩 Telegram-бот на Python за полчаса с aiogram
• Напишем простой диалоговый Telegram-бот на Python, который в дальнейшем можно дополнить различными функциями, и задеплоим его.
🧷 https://tproger.ru/articles/telegram-bot-create-and-deploy/
#Статья
• Напишем простой диалоговый Telegram-бот на Python, который в дальнейшем можно дополнить различными функциями, и задеплоим его.
🧷 https://tproger.ru/articles/telegram-bot-create-and-deploy/
#Статья
📌 warnings
Модуль для вывода предупреждений в коде. Они выводят предупреждения в консоль, но не прекращают выполнение программы. Это можно использовать для напоминания о Deprecated функциях, о необработанных корутинах (забытый await).
#теория
🧩 Задачи по Python для начинающих от Tproger и GeekBrains
• Вместе с факультетом Python-разработки GeekUniversity собрали для вас несколько простых задач по Python для обучения и тренировки. Их можно решать в любом порядке.
• Обратите внимание, что у любой задачи по программированию может быть несколько способов решения. Чтобы посмотреть добавленный нами вариант решения, кликните по соответствующей кнопке. Все приведённые варианты написаны на Python 3.
🧷 https://tproger.ru/problems/python-3-exercises-for-beginners-geekbrains/
#Статья
• Вместе с факультетом Python-разработки GeekUniversity собрали для вас несколько простых задач по Python для обучения и тренировки. Их можно решать в любом порядке.
• Обратите внимание, что у любой задачи по программированию может быть несколько способов решения. Чтобы посмотреть добавленный нами вариант решения, кликните по соответствующей кнопке. Все приведённые варианты написаны на Python 3.
🧷 https://tproger.ru/problems/python-3-exercises-for-beginners-geekbrains/
#Статья
📌
Она намного лучше встроенного
#теория
apscheduler
Библиотека позволяющая откладывать выполнение каких-то операций на потом или обрабатывать их в фоне.Она намного лучше встроенного
sched
, поскольку позволяет запускать асинхронные обработчики и хранить задачи в базе данных (Redis, MongoDB).#теория
🧩 Разработка на Python с нуля: роадмап программиста
• Программирование на Python с нуля: легко или не очень? По факту, изучение Python почти ничем не отличается от изучения любого другого языка. Всё стандартно: установка, настройка рабочего окружения, базы данных, переменные, функции и первый «Hello World».
• Но дальше — круче, ведь в ход идёт разделение на сферы применения, синхронное и асинхронное программирование, тестирование и сопутствующие инструменты, часто индивидуальные для каждого языка.
🧷 https://tproger.ru/articles/python-roadmap/
#Статья
• Программирование на Python с нуля: легко или не очень? По факту, изучение Python почти ничем не отличается от изучения любого другого языка. Всё стандартно: установка, настройка рабочего окружения, базы данных, переменные, функции и первый «Hello World».
• Но дальше — круче, ведь в ход идёт разделение на сферы применения, синхронное и асинхронное программирование, тестирование и сопутствующие инструменты, часто индивидуальные для каждого языка.
🧷 https://tproger.ru/articles/python-roadmap/
#Статья
📌
#урок
itertools.accumulate()
Создаёт итератор, который возвращает накопленные суммы или накопленные результаты других бинарных функций (указывается с помощью необязательного аргумента func).#урок