SSL сертификаты и HTTPS: почему это важно для вашего бота

SSL сертификаты и HTTPS: почему это важно для вашего бота Когда пользователь отправляет боту свой номер телефона или платёжные данные, эта информация должна передаваться зашифрованной. Без HTTPS — это как отправлять письмо без конверта. Все на почте смогут прочитать содержимое. SSL сертификаты решают эту проблему. Что такое SSL? SSL (Secure Sockets Layer) — это протокол, который шифрует данные между клиентом и сервером. Когда вы видите 🔒 в адресной строке браузера — это работает SSL. ...

23.01.2025 · 2 минуты · EasySochi Team

PostgreSQL для Telegram-ботов: хранение данных пользователей безопасно

PostgreSQL для Telegram-ботов: хранение данных пользователей безопасно Ваш Telegram-бот собирает данные: контакты пользователей, заказы, платежи, предпочтения. Если хранить это в обычных текстовых файлах или памяти, при перезагрузке сервера всё потеряется. Нужна надёжная база данных. PostgreSQL — идеальный выбор. Почему именно PostgreSQL? Надежность — данные хранятся безопасно, даже при сбоях Масштабируемость — база может содержать миллионы записей Безопасность — встроенная защита от SQL-инъекций Бесплатная — open-source, никаких лицензий Мощные возможности — JSON, полнотекстовый поиск, транзакции Базовая схема для бота -- Таблица пользователей CREATE TABLE users ( id SERIAL PRIMARY KEY, telegram_id BIGINT UNIQUE NOT NULL, username VARCHAR(255), first_name VARCHAR(255), phone VARCHAR(20), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- Таблица заказов CREATE TABLE orders ( id SERIAL PRIMARY KEY, user_id INTEGER REFERENCES users(id), amount DECIMAL(10, 2), status VARCHAR(50), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- Таблица платежей CREATE TABLE payments ( id SERIAL PRIMARY KEY, order_id INTEGER REFERENCES orders(id), amount DECIMAL(10, 2), payment_method VARCHAR(50), status VARCHAR(50), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); Подключение к Python import psycopg2 conn = psycopg2.connect( host="localhost", database="botdb", user="botuser", password="secure_password" ) cursor = conn.cursor() # Добавить пользователя cursor.execute( "INSERT INTO users (telegram_id, username, first_name) VALUES (%s, %s, %s)", (12345, "john_doe", "John") ) conn.commit() # Получить пользователя cursor.execute("SELECT * FROM users WHERE telegram_id = %s", (12345,)) user = cursor.fetchone() conn.close() Лучшие практики 1. Индексы для быстрого поиска ...

22.01.2025 · 2 минуты · EasySochi Team

Docker в production: от разработки к запуску Telegram-ботов

Docker в production: от разработки к запуску Telegram-ботов Когда вы разрабатываете Telegram-бота, он работает идеально на вашем компьютере. Но как только вы пытаетесь запустить его на боевом сервере, начинаются проблемы: “У меня работало”, “Почему не видит зависимости”, “Python версия не та”. Docker решает все эти проблемы в один момент. Почему Docker? Представьте, что вы отправляете не просто код, а целый компьютер с предустановленной операционной системой, Python, всеми библиотеками и зависимостями. Именно это делает Docker. ...

21.01.2025 · 2 минуты · EasySochi Team