[1 Часть] Капча для Телеграм ботов и не только
Всем привет, начинаю свой цикл образовательных статей на Python, значительная часть которых, будет сосредоточена именно на телеграм ботах и фреймворке aiogram.
Сегодня мы будем реализовывать невероятную анбрекебл капчу для наших телеграм ботов (и не только, все зависит от ваших целей) с использованием публичной библиотеки "https://pypi.org/project/captcha/"
Не будем прибегать к формальностям и пояснять принцип работы и необходимости капчи даже в телеграм ботах, вы можете вполне заглянуть в сурс библиотеки (Советую так иногда делать для саморазвития), приступим сразу к коду.
Устанавливаем либу введя команду в консоль:
pip install captchaПока разберемся с методами библиотеки, далее будем пробовать интегрировать это в телеграм бота
Импортируем либу:
from captcha.image import ImageCaptcha Здесь мы из модуля image хватаем класс ImageCaptcha, который содержит в себе методы для генерации самой фотокарточки.Обьявляем экземпляр класса ImageCaptcha и сразу даем ему параметры для генерации:
image = ImageCaptcha(width = 300, height = 100)В переменной image лежит экземпляр класса, который и будет генерировать картиночку по параметрам в скобках. Применяем невероятные знания английского языка и выясняем, что мы задали ширину и высоту нашей будущей капчи.
Помните что я говорил про исследование сурсов библиотеки? Это в целом не все. Дал нам бог возможность смотреть содержимое классов в более читаемом виде с помощью технологии intellisense и мы ей должны пользоваться. Она доступна в IDE Visual Studio Code при установке плагина для Python (При запуске петухон файлов обратите в правый нижний угол, там нам предлагают сразу его установить).
С помощью этого плагина мы можем просматривать атрибуты, методы и прочие полезности прямо при редактировании кода. Так выглядит список атрибутов и описание
класса ImageCaptcha
Тут мы наблюдаем в том числе и описание доступных атрибутов, допускаемые типы данных и значения этих атрибутов по умолчанию (не все атрибуты как мы понимаем обязательные)
Далее мы создаем переменную, хранящую в себе текст для нашей капчи, она нужна для генерации и дальнейшей проверки пользовательского ввода
captcha_text = 'endway'Текст капчи задали? Давайте генерировать:
data = image.generate(captcha_text) # Вызываем метод класса image для генерации картики.
Этот метод возвращает байт код картиночки, который мы можем использовать для отправки например
image.write(captcha_text, 'CAPTCHA.png') # В уже известном классе так же есть метод для прямой записи еще не сгенерированной капчи в файл.Так может выглядеть результат:

Так же в целом можно создать звуковую капчу. Дрочить эту тему не буду: уже все описал выше, прилагаю код
Код
from captcha.audio import AudioCaptcha
audio = AudioCaptcha()
captcha_text = "5454"
audio_data = audio.generate(captcha_text)
audio_file = "audio"+captcha_text+'.wav'
audio.write(captcha_text, audio_file)Статья слегка затянулась, предлагаю выкатить продолжение в виде второй части. Там расскажу как все это дело воткнуть в телеграм бота. Там заодно расскажу про стейджи и их хранилища из aiogram,)
884
Рейтинг:
[1 Часть] Капча для Телеграм ботов и не только
Похожие публикации
Партнёрские программы
Смотреть все1WIN ПАРТНЕРКА
1 404
Партнерские программы / Гемблинг партнерки
BroPush - партнёрская программа для монетизации и заработке на сайтах
1 310
Партнерские программы / PUSH партнерки
Партнерская программа Семяныча - Лучшая партнерка по CPA и CPC моделям
931
Партнерские программы / Способы заработка
Обзор Partners House для монетизации сайтов и лендингов + отзывы вебмастеров
795
Арбитраж трафика / Партнерские программы / PUSH партнерки
Магазин
Смотреть всеКупить
Бот для продажи VPN 3X-UI для Telegram
Telegram-бот для продажи VPN! Автоматизированный бот для продажи вашего...
Купить
Мониторинг хайп проектов на движке DLE
В данном скрипте есть возможность включить функцию чтобы пользователи сами...
Купить
Скрипт казино с 5 классическими играми.
Разработчики онлайн-казино, хотим поделиться отличной новостью: в январе мы...
Купить
Customer WishList / Избранные товары покупателей
Данный модуль позволяет просматривать избранные товары пользователей. Есть...
Купить
Меняем заголовок и favicon
Меняет favicon и title, при переходе пользователя на другую вкладку в браузере....




![[1 Часть] Капча для Телеграм ботов и не только](/uploads/posts/2024-02/1689014842987.webp)


