Чтобы данные, которые вы вводите в телеграм-боте, заполняли первую строку в таблице PostgreSQL, вам понадобится следующий подход:
1. Установите и настройте библиотеку psycopg2, которая позволяет взаимодействовать с базой данных PostgreSQL из Python.
pip install psycopg2
2. Создайте таблицу в базе данных PostgreSQL с нужными столбцами. Для примера, создадим таблицу "users" с двумя столбцами "id" и "name".
CREATE TABLE users ( id SERIAL PRIMARY KEY, name VARCHAR(100) );
3. Импортируйте библиотеку psycopg2 и подключитесь к базе данных.
import psycopg2 conn = psycopg2.connect( host="your_host", database="your_database", user="your_user", password="your_password" )
4. Создайте функцию, которая будет вставлять данные пользователя в таблицу.
def insert_user(name): try: cursor = conn.cursor() query = "INSERT INTO users (name) VALUES (%s);" cursor.execute(query, (name,)) conn.commit() cursor.close() print("User inserted successfully") except (Exception, psycopg2.Error) as error: print("Error occurred while inserting user:", error)
5. Добавьте обработчик сообщений в вашем телеграм-боте, который будет вызывать функцию insert_user
при получении нового сообщения с именем пользователя.
from telegram import Update from telegram.ext import Updater, CommandHandler, MessageHandler, Filters def handle_message(update: Update, context): name = update.message.text insert_user(name) updater = Updater(token="your_token", use_context=True) dispatcher = updater.dispatcher message_handler = MessageHandler(Filters.text & ~Filters.command, handle_message) dispatcher.add_handler(message_handler) updater.start_polling()
Теперь, когда вы отправляете сообщение в вашего телеграм-бота, это сообщение будет вставляться в первую строку таблицы "users" в PostgreSQL.