Легкий путь в Python
Доброе утро🙋 Рад поделиться отличными новостями — мой проект мини-чата на FastAPI успешно завершен и уже доступен для использования, а обещанная подробная статья про его написание уже опубликована на моем Хабре🎉 В процессе работы я применил множество интересных…
Для обсуждения статьи кнопка ниже 👇👇👇
❤1
Незапланированное включение😊
Недавно в сеть вышла новая версия ChatGPT — OpenAI 01. Эта модель способна на глубокие размышления и действительно впечатляет! Я нашел сервис, где можно попробовать эту модель бесплатно. Токенов немного, хватит на 1-2 запроса в день, так что используйте их с умом для действительно важных и сложных задач. Для более простых запросов доступны модели ChatGPT-o и ChatGPT-o-mini.
Переходите по ссылке и пробуйте: OpenAI 01
Недавно в сеть вышла новая версия ChatGPT — OpenAI 01. Эта модель способна на глубокие размышления и действительно впечатляет! Я нашел сервис, где можно попробовать эту модель бесплатно. Токенов немного, хватит на 1-2 запроса в день, так что используйте их с умом для действительно важных и сложных задач. Для более простых запросов доступны модели ChatGPT-o и ChatGPT-o-mini.
Переходите по ссылке и пробуйте: OpenAI 01
🔥12👍7❤6😁1
Кто прочитал статью про мини-чат на FastApi. Как вам такой формат публикаций?
👍19🔥8👏3
👋 Друзья, всем привет!
Я подготовил для вас новый, полезный и интересный проект! 🚀
В этот раз мы займемся тем, как при помощи чистого JavaScript, HTML и CSS связать форму на веб-странице с Telegram-ботом без использования бэкенда. Да-да, вы не ослышались — никакого бэкенда! 😎
📋 Что это даст?
Теперь любая информация, которую заполняют пользователи в форме на сайте, будет автоматически отправляться в Telegram. Это может пригодиться для заявок, опросов, анкет и других форм на сайте, где вам нужно мгновенно получать данные.
Я уже написал подробную статью на эту тему и планирую выложить её в четверг, 3-го октября. Но, если всё пойдёт по плану, возможно, опубликую раньше. 😉 Обязательно следите за обновлениями, чтобы не пропустить!
🔗 Ссылку на проект с GitHub закрепил под этим постом, переходите и смотрите!👨💻
Я подготовил для вас новый, полезный и интересный проект! 🚀
В этот раз мы займемся тем, как при помощи чистого JavaScript, HTML и CSS связать форму на веб-странице с Telegram-ботом без использования бэкенда. Да-да, вы не ослышались — никакого бэкенда! 😎
📋 Что это даст?
Теперь любая информация, которую заполняют пользователи в форме на сайте, будет автоматически отправляться в Telegram. Это может пригодиться для заявок, опросов, анкет и других форм на сайте, где вам нужно мгновенно получать данные.
Я уже написал подробную статью на эту тему и планирую выложить её в четверг, 3-го октября. Но, если всё пойдёт по плану, возможно, опубликую раньше. 😉 Обязательно следите за обновлениями, чтобы не пропустить!
🔗 Ссылку на проект с GitHub закрепил под этим постом, переходите и смотрите!👨💻
🔥17❤10👍6❤🔥4👎1
Некоторые из вас заметили, что в исходном коде последнего проекта токен не защищен. Это действительно так, и без бэкенда нам не обойтись. В ближайшее время я выпущу обновление, которое устранит эти уязвимости с помощью простого файла на FastAPI.
🔥11👍5❤4
Код проекта обновил на GitHub. Теперь все в безопасности ) единственное что не успел деплой сделать. Обновлённый код презентую сегодня вечером. Всем спасибо за обратную связь.
❤9👍6🔥5
Доброй ночи!
Наконец-то нашлось время описать фикс бага и задеплоить новую версию проекта. Проблема заключалась в том, что при работе через JavaScript токен бота был виден при каждом запросе. В рабочих проектах это недопустимо, и хотя в первой версии кода я не уделил этому внимания, после указания на проблему решил исправить ситуацию. Так появилась версия 2.0.
Фикс включал добавление простого бэкенда на FastAPI, который выполняет две задачи: рендерит главную страницу (index.html) со статическими файлами и обрабатывает запросы с данными пользователя с формы. Теперь запросы принимаются на специальный эндпоинт, и взаимодействие с Telegram ботом происходит “под капотом”. Таким образом, общая логика осталась прежней, но мы добавили внутреннюю прослойку, скрыв критически важные переменные от посторонних глаз.
Ссылку на работающую страницу с формой и обновленный код проекта на GitHub можно найти под этой публикацией. В новой статье этой проблеме посвящу отдельный блок.
Наконец-то нашлось время описать фикс бага и задеплоить новую версию проекта. Проблема заключалась в том, что при работе через JavaScript токен бота был виден при каждом запросе. В рабочих проектах это недопустимо, и хотя в первой версии кода я не уделил этому внимания, после указания на проблему решил исправить ситуацию. Так появилась версия 2.0.
Фикс включал добавление простого бэкенда на FastAPI, который выполняет две задачи: рендерит главную страницу (index.html) со статическими файлами и обрабатывает запросы с данными пользователя с формы. Теперь запросы принимаются на специальный эндпоинт, и взаимодействие с Telegram ботом происходит “под капотом”. Таким образом, общая логика осталась прежней, но мы добавили внутреннюю прослойку, скрыв критически важные переменные от посторонних глаз.
Ссылку на работающую страницу с формой и обновленный код проекта на GitHub можно найти под этой публикацией. В новой статье этой проблеме посвящу отдельный блок.
👏10❤🔥4❤4🔥3👀1
Доброе утро! 🌞
Вчера ночью вносил финальные исправления в статью, описывающую проект по интеграции Telegram-ботов в форму на сайте на чистом JS, и при сохранении черновика случайно нажал «Опубликовать» вместо «Сохранить». В итоге статья вышла на сутки раньше запланированного, но я решил уже ничего не менять. 😅
В рамках этой статьи я сначала продемонстрировал, как просто создать Telegram-бота и с помощью простого JS-скрипта привязать его к форме на сайте. Генерацию фронтенд-части я выполнил на 100% через WebSim. Этот сервис создал форму и расписал логику на простом JS. 📝
Затем я показал, как обезопасить личный токен с помощью простого бэкенда на FastAPI. Весь бэкенд был описан всего в одном файле и выполнял он две задачи: рендеринг страницы с формой и обработка данных с формы на сайте. 🔒
Ссылки на статью, исходный код и работающий проект уже закреплены под этим постом. 📎
Приятного чтения! 😎
Вчера ночью вносил финальные исправления в статью, описывающую проект по интеграции Telegram-ботов в форму на сайте на чистом JS, и при сохранении черновика случайно нажал «Опубликовать» вместо «Сохранить». В итоге статья вышла на сутки раньше запланированного, но я решил уже ничего не менять. 😅
В рамках этой статьи я сначала продемонстрировал, как просто создать Telegram-бота и с помощью простого JS-скрипта привязать его к форме на сайте. Генерацию фронтенд-части я выполнил на 100% через WebSim. Этот сервис создал форму и расписал логику на простом JS. 📝
Затем я показал, как обезопасить личный токен с помощью простого бэкенда на FastAPI. Весь бэкенд был описан всего в одном файле и выполнял он две задачи: рендеринг страницы с формой и обработка данных с формы на сайте. 🔒
Ссылки на статью, исходный код и работающий проект уже закреплены под этим постом. 📎
Приятного чтения! 😎
🔥11👍4❤3🙈1
У меня появилась идея, которой я хочу с вами поделиться. Давайте поговорим о создании телеграмм-бота с MiniApp — это когда сайт встроен прямо в телеграмм-бота. Это стильно, удобно и красиво. Чтобы выделиться среди подобных статей, я предлагаю вам необычный подход.
Наш бот будет работать на вебхуках, но вместо привычного aiohttp мы будем использовать FastAPI. Почему? Во-первых, FastAPI редко используется для вебхуков, а во-вторых, он поможет нам поднять фронтенд и описать простые API методы.
В итоге у нас получится полноценный сервис: телеграмм-бот на вебхуках с веб-приложением.
Под этим текстом вы найдете кнопку “Прокомментировать”. Нажмите на нее и отправьте свои пожелания по функционалу, который мы будем реализовывать в нашем боте. Давайте не будем придумывать что-то слишком сложное, чтобы всё уместилось в статью.
Жду ваших идей и предложений!
Наш бот будет работать на вебхуках, но вместо привычного aiohttp мы будем использовать FastAPI. Почему? Во-первых, FastAPI редко используется для вебхуков, а во-вторых, он поможет нам поднять фронтенд и описать простые API методы.
В итоге у нас получится полноценный сервис: телеграмм-бот на вебхуках с веб-приложением.
Под этим текстом вы найдете кнопку “Прокомментировать”. Нажмите на нее и отправьте свои пожелания по функционалу, который мы будем реализовывать в нашем боте. Давайте не будем придумывать что-то слишком сложное, чтобы всё уместилось в статью.
Жду ваших идей и предложений!
🔥35👍10❤4
Гайд по основным методам ОРМ SQLAlchemy
Подготовил для вас небольшой гайд по основным методам работы с SQLAlchemy. Все примеры будут в синхронном подходе для удобства восприятия. Основной посыл показать вам, что в алхимии нет ничего сложного и освоить ее сможет каждый. Приступим.
Настройка работы с базой данных
Основные методы
Получение всех записей
Получение записи по условию
Изменение записи
Удаление записи
Получение записей с условием
Получение записей с сортировкой
Ограничение количества записей
Обновление нескольких записей
Удаление нескольких записей
Надеюсь, этот гайд будет полезен для вас! Если у вас есть вопросы или предложения, пишите в комментариях. Удачи в кодинге!
Подготовил для вас небольшой гайд по основным методам работы с SQLAlchemy. Все примеры будут в синхронном подходе для удобства восприятия. Основной посыл показать вам, что в алхимии нет ничего сложного и освоить ее сможет каждый. Приступим.
Настройка работы с базой данных
from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine
from your_model import YourModel
engine = create_engine('sqlite:///your_database.db')
Session = sessionmaker(bind=engine)
session = Session()
Основные методы
Получение всех записей
all_records = session.query(YourModel).all()
Получение записи по условию
record = session.query(YourModel).filter_by(id=1).first()
Изменение записи
record = session.query(YourModel).filter_by(id=1).first()
if record:
record.name = 'New Name'
session.commit()
Удаление записи
record = session.query(YourModel).filter_by(id=1).first()
if record:
session.delete(record)
session.commit()
Получение записей с условием
filtered_records = session.query(YourModel).filter(YourModel.age > 30).all()
Получение записей с сортировкой
sorted_records = session.query(YourModel).order_by(YourModel.name).all()
Ограничение количества записей
limited_records = session.query(YourModel).limit(10).all()
Обновление нескольких записей
session.query(YourModel).filter(YourModel.active == False).update({YourModel.active: True})
session.commit()Удаление нескольких записей
session.query(YourModel).filter(YourModel.age < 18).delete()
session.commit()
Надеюсь, этот гайд будет полезен для вас! Если у вас есть вопросы или предложения, пишите в комментариях. Удачи в кодинге!
❤🔥13🔥9👍8❤2
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>User Information</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 40px;
background-color: #f0f0f0;
padding: 20px;
border-radius: 10px;
}
.user-info {
background-color: #fff;
padding: 20px;
border-radius: 10px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.user-info p {
font-size: 1.2em;
}
</style>
</head>
<body>
<h1>User Information</h1>
<div class="user-info">
<p id="user-id"></p>
<p id="username"></p>
<p id="first-name"></p>
<p id="last-name"></p>
</div>
<script src="https://telegram.org/js/telegram-web-app.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function () {
const user = Telegram.WebApp.initDataUnsafe.user;
if (user) {
document.getElementById('user-id').textContent = 'User ID: ' + user.id;
document.getElementById('username').textContent = 'Username: ' + (user.username ? user.username : 'N/A');
document.getElementById('first-name').textContent = 'First Name: ' + (user.first_name ? user.first_name : 'N/A');
document.getElementById('last-name').textContent = 'Last Name: ' + (user.last_name ? user.last_name : 'N/A');
} else {
document.querySelector('.user-info').innerHTML = '<p>User data is not available.</p>';
}
});
</script>
</body>
</html>
🔥10❤🔥7👍4❤1
🚀 Альтернатива Ngrok - Tuna 🚀
Нашел интересную альтернативу Ngrok, которая может быть полезна многим. Tuna - бесплатный и удобный сервис для создания туннелей. Вот гайд по установке на Windows:
1️⃣ Регистрация на сайте tuna.am для получения токена.
2️⃣ Установка через PowerShell:
С помощью winget:
Вручную:
3️⃣ Проверка установки:
4️⃣ Установка токена:
Эта команда сохранит токен, чтобы не указывать его каждый раз при запуске.
5️⃣ Пример использования:
Надеюсь, было полезно! Если у вас есть вопросы или предложения, пишите в комментариях. 📩
Нашел интересную альтернативу Ngrok, которая может быть полезна многим. Tuna - бесплатный и удобный сервис для создания туннелей. Вот гайд по установке на Windows:
1️⃣ Регистрация на сайте tuna.am для получения токена.
2️⃣ Установка через PowerShell:
С помощью winget:
winget install --id yuccastream.tuna
Вручную:
Invoke-WebRequest -Uri "https://releases.tuna.am/tuna/latest/tuna_windows_amd64.zip" -OutFile "$env:TEMP\tuna_windows_amd64.zip"
Expand-Archive -Path "$env:TEMP\tuna_windows_amd64.zip" -DestinationPath "$env:TEMP\tuna" -Force
Copy-Item -Path "$env:TEMP\tuna\tuna.exe" -Destination "$env:USERPROFILE\AppData\Local\Microsoft\WindowsApps" -Force
3️⃣ Проверка установки:
tuna help
4️⃣ Установка токена:
tuna config save-token tt_your_token
Эта команда сохранит токен, чтобы не указывать его каждый раз при запуске.
5️⃣ Пример использования:
tuna http 8080
Надеюсь, было полезно! Если у вас есть вопросы или предложения, пишите в комментариях. 📩
🔥12❤🔥5❤4👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Друзья, решил представить небольшое видео с демкой текущей версии моего проекта, который я готовлю для вас (своей будущей статьи на Хабре)!
На данный момент готово около 50% функционала, который я планирую реализовать. В основе проекта лежит приложение на FastAPI. Вместо использования Telegram MiniApp (их JavaScript-решения для отправки данных из окна), я решил разработать своё собственное, простое решение на базе FastAPI, с эндпоинтом для приема данных.
Подробнее обо всех возможностях и особенностях расскажу уже после завершения проекта.
А пока ознакомиться с исходным кодом текущей версии можно здесь: GitHub
На данный момент готово около 50% функционала, который я планирую реализовать. В основе проекта лежит приложение на FastAPI. Вместо использования Telegram MiniApp (их JavaScript-решения для отправки данных из окна), я решил разработать своё собственное, простое решение на базе FastAPI, с эндпоинтом для приема данных.
Подробнее обо всех возможностях и особенностях расскажу уже после завершения проекта.
А пока ознакомиться с исходным кодом текущей версии можно здесь: GitHub
🔥20❤16❤🔥7👍2👏1🐳1
GifDemo.gif
32.8 MB
Привет всем! Рад сообщить, что проект полностью завершен. Сегодня планирую начать писать статью по проекту. Если все пойдет по плану, статья будет опубликована в понедельник. Ссылка на исходник финальной версии проекта: GitHub
👍14🔥12👏6❤4🤝1🆒1
🚀На Хабре вышла моя подробная статья о создании многофункционального Telegram-бота с использованием FastAPI. Это настоящий гайд "3 в 1", который научит вас объединять вебхуки, MiniApp и API методы в одном FastAPI-приложении.
Что вас ждет в статье:
✅ Пошаговое руководство по созданию бота с нуля
✅ Интеграция вебхуков, MiniApp и API методов
✅ Практический пример бота для приема заявок с веб-интерфейсом
✅ Бонус: мой подход к интеграции асинхронной SQLAlchemy в ботов
Ключевые моменты:
💎 Создание универсального FastAPI-приложения для бота
💎 Реализация вебхуков для мгновенной обработки сообщений
💎 Разработка MiniApp для удобного взаимодействия пользователей
💎 Использование API методов для расширенной функциональности
После изучения этого материала вы сможете легко создавать как простых ботов на вебхуках, так и сложные решения с веб-интерфейсом. Статья уже доступна на Хабре - обязательно ознакомьтесь и дайте знать, что думаете.
Ссылка на исходный код проекта, статью и работающего бота закреплены под этим постом.
Удачи в кодинге! 💻🤖
Что вас ждет в статье:
✅ Пошаговое руководство по созданию бота с нуля
✅ Интеграция вебхуков, MiniApp и API методов
✅ Практический пример бота для приема заявок с веб-интерфейсом
✅ Бонус: мой подход к интеграции асинхронной SQLAlchemy в ботов
Ключевые моменты:
💎 Создание универсального FastAPI-приложения для бота
💎 Реализация вебхуков для мгновенной обработки сообщений
💎 Разработка MiniApp для удобного взаимодействия пользователей
💎 Использование API методов для расширенной функциональности
После изучения этого материала вы сможете легко создавать как простых ботов на вебхуках, так и сложные решения с веб-интерфейсом. Статья уже доступна на Хабре - обязательно ознакомьтесь и дайте знать, что думаете.
Ссылка на исходный код проекта, статью и работающего бота закреплены под этим постом.
Удачи в кодинге! 💻🤖
RUTUBE
Видео демка Telegram-бота с WebApp для принятия заявок
В этом видео я хочу поделиться своим проектом — Telegram-ботом для приёма заявок в парихмакерской. Этот бот работает на основе технологии вебхуков, а само приложение запускается с помощью FastApi.
В данном проекте реализованы три основные компоненты: технология…
В данном проекте реализованы три основные компоненты: технология…
❤🔥20👍9❤4🔥4🤩1