Python Telegram Bot
الذهاب إلى القناة على Telegram
☑️ Заявки принимаются автоматически! Обучаем созданию и продвижению чат-ботов в телеграм. ссылка: @pybotg связь: @oksi_young https://telega.in/channels/+Mj_twnrYuAxkZmUy/card/?r=BrHKEWMo
إظهار المزيد5 003
المشتركون
لا توجد بيانات24 ساعات
-67 أيام
+1730 أيام
أرشيف المشاركات
5 003
Метод format() строки. Часть 1
Основное использование метода
str.format() выглядит следующим образом
Код 1
Скобки и символы в них (называемые полями формата) заменяются объектами, передаваемыми в метод str.format(). Число в скобках можно использовать для обозначения положения объекта, передаваемого в метод str.format()
Код 2
Если ключевые аргументы используются в методе
str.format(), на их значения ссылаются с помощью имени аргумента
Код 3
Позиционные и ключевые аргументы могут быть произвольно объединены
Код 4
#python_обучение5 003
☑️ Фикс багов телеграм бота
• Бюджет: 6000/98$
• Срок: 08.12.2022
• Задача:
Исправление ошибок в телеграм боте pyrogram, python 3.8
От исполнителя: пунктуальность, понимание того, чего делает, опыт работы с подобными заказами/чужими кодами. В отклике побольше информации о вас, в свою очередь отвечу подробными описанием задачи
Откликнуться
5 003
Читы для программистов/разработчиков
Frontend Planet — онлайн инструменты для frontend разработчика. Работать с html/css/js и браузером можно эффективнее за два клика
IT MIX — шпаргалки, библиотеки и читы (реально читы) по java, python, ruby, php, css, js, delphi, oracl и другим языкам — взломай своё обучение и рабочий процесс
Codepen Trending — избранные проекты с Сodepen. Адаптивные анимации текста и разных элементов с готовым кодом для украшения твоих работ
ATQ — вместо гугла и форумов. База знаний кодера — ответы на любые вопросы по программированию
VSC - лучшие бесплатные плагины редактора Visual Studio Code
5 003
Теперь, прежде чем мы поговорим про работу с каналами, затронем тему режима приватности. Дело в том, что просто добавляя бота в группу, вы можете видеть, что боту не приходят сообщения от всех пользователей. Но если вы добавили бота и написали ему команду, то он отреагирует. Так же, если вы написали боту ответ на его сообщение, он тоже отреагирует, или, если в группу был добавлен новый пользователь, бот это замет. Однако, остальные сообщения он будет просто игнорировать.
В первую очередь, это сделано для того, чтобы бот не сохранял всю переписку чата, и во вторую очередь для того, чтобы уменьшить нагрузку на него и разработчиков. У таким ботов, в целом, есть настройка по умолчанию в
Bot Father, которая называется privacy mode. И если она включена, то бот не видит все сообщения, в противно случае - видит. Так же такой бот получается метку о том, видит он все сообщения или нет5 003
Все Python вакансии в одном месте
Хватит тратить время на мониторинг сайтов с вакансиями. Теперь все собрано на канале @python_job_board
У нас есть уникальные вакансии, которых Вы не найдете на HH и подобных сайтах.
Подпишитесь чтобы не забыть.
5 003
Финал поста выше
Приступим к созданию инлайн клавиатуры. Она будет создаваться следующим образом:
pear_keyboard = InlineKeyboardMurkup(). Так же, нам нужно создать ссылку на нашу грушу PEAR_LINK = "любая ссылка" и кнопку pear_link = InlineKeyboardButton(text="Купи тут", url= PEAR_LINK).
Теперь, мы создали кнопку, но еще не добавили ее. Поэтому пишем: pear_keyboard.insert(pear_link) и импортируем нашу клавиатуру в хендлер. Так же, нам нужно создать хендлер для удаления клавиатуры: @dp.callback_query_handler(text="cancel") async def cancel(call: CallbackQuerry): await call.answer("Вы отменили покупку", show_alert=True) await call.message.edit_replay_markup(). Надеемся, что данный урок был понятнет, несмотря на большое количество кода5 003
Форматирующие строковые литералы
Форматированные строковые литералы (также называемые f-строками для краткости) позволяет включить значение Python выражений в строку префикса строки с f или F и запись выражений как
{expression}.
За выражением может следовать необязательный спецификатор формата. Это позволяет больше контролировать над форматированием значения. В следующем примере число pi округляется до трёх знаков после запятой (Код 1)
Передача целого числа после ':' приведёт к тому, что это поле будет минимальным числом символов в ширину. Это полезно для выстраивания столбцов (Код 2)
Для преобразования значения перед форматированием можно использовать другие модификаторы. '!a' применяется ascii(), '!s' применяется str() и '!r' применяет repr() (Код 3)
#python_обучение5 003
Изучить английский язык уделяя 2 минуты в день вам поможет English for IT.
English for IT - канал для изучения английского с уклоном на IT, весь материал изложен в максимально легкой и понятной форме.
5 003
Продолжение к посту выше
А теперь, давайте же посмотрим, что хранит наша
callback data, то есть пропишем logging.info(f"callback_data = {call.data}").
Теперь, мы можем получить с помощью callback_data наш quantity, который хранит в себе количество груш, указанных в кнопке: quantity = callback_data.get("quantity").
Далее, мы отвечаем нашему пользователю: await call.message.answer(f"Вы выбрали купить грушу. Груш всего {quantity}. Спасибо", replay_markup=pear_keyboard). В данном ответе содержиться клавиатура pear_keyboard, которая будет иметь ссылку на нашу грушу. Поэтому, копируем это название и перемещаемся в choice_buttons.py и здесь создаем нашу клавиатуру. На примере этой клавиатуры в следующем посте мы вам покажем немного другой способ ее создания5 003
Хочешь научиться 3D моделированию, но не можешь найти нужный канал?🤔
Blender 3D может тебе помочь❤️
Здесь собраны самые топовые материалы для изучения 3D моделирования. От плагинов до объемных видеоуроков — тут есть все.
Заходи, пополняй свое портфолио и создавай свой Фэнтези мир. Канал Blender 3D тебе в помощь🔥
5 003
☑️ Доработка Бота в Телеграм
• Бюджет: 20 000₽/330$
• Срок: 15.12.2022
• Задача:
Бот для ставок в Телеграм. Коэффициенты подтягивать по API с букмекера , в реальном времени.
Откликнуться
5 003
Продолжение к посту выше
Теперь создаем следующий хендлер:
@dp.message_handler(buy_callback.filter(item_name="pear")). Как раз таки тут мы и использовали в качестве фильтра созданную callback data factory, где в качестве параметра фильтра можно указать все что угодно(в нашем случается отлавливается нажание на кнопку "Купить грушу").
Далее прописываем функцию хендлера: async def buying_pear(call: CallbackQuery): await bot.answer_callback_query(callback_query_id=call.id). Данная функция закрывает часы, о которых мы говорили в прошлых постах. Или же, это можно заменить на await call.answer(cache_time=60). Cache_time=60 - это своеборазный ограничитель, которые не дает боту в указанный диапазон времени снова ловить нажатие на кнопку и избавляется его от повторной обработки апдейта.5 003
📚 Полка Разработчика — доступ к платным книгам по программированию;
📖 Кладовая Книг — сборник полезных книг программирования;
🗄 Архив Разработчика — подборка изданий для разработчиков;
🚽 IT Memes — свежий IT юмор, отобранный нейросетью;
🗞 3D News — актуальные новости из IT-индустрии.
5 003
Удобное форматирование вывода. Часть 2
Если вам не нужны вычурные выходные данные, а просто требуется быстрое отображение некоторых переменных для отладки, вы можете преобразовать любое значение в строку функциями
repr() или str().
Предназначение функции str() — возвращение значений в читабельной форме; в отличие от repr(), чьё назначение — генерирование читаемых интерпретатором форм (или вызвать ошибку SyntaxError, если эквивалентного синтаксиса не существует). Для тех объектов, у которых нет формы для человеческого прочтения функция str() возвратит такое же значение, как и repr(). Некоторые примеры на ФОТО.
Модуль string содержит класс Template, который предлагает еще один способ замены значения на строки, используя такие местозаполнители, как $x и заменяя их значения из словаря, но предлагает гораздо меньше возможностей по управлению форматированием.
#python_обучение