Как можно сохранить текст "hello", полученный от бота через ссылку <a href="https://api.telegram.org/bot/sendMessage?chat_id=&text='hello" rel="nofollow">https://api.telegram.org/bot/sendMessage?chat_id=&...</a>, в базе данных?
Для сохранения сырых API запросов в базе данных при использовании Python для создания ботов в Телеграме, можно использовать библиотеку для работы с базами данных, такую как SQLAlchemy, Peewee или Django ORM. Пример кода, который сохранит сырые API запросы в базу данных с использованием SQLAlchemy: ```python from sqlalchemy import create_engine, Column, Integer, String, DateTime from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker import json from datetime import datetime Base = declarative_base() class TelegramRequest(Base): __tablename__ = 'telegram_requests' id = Column(Integer, primary_key=True) method = Column(String) params = Column(String) timestamp = Column(DateTime, default=datetime.now) # Подключение к базе данных SQLite engine = create_engine('sqlite:///telegram_requests.db') Base.metadata.create_all(engine) Session = sessionmaker(bind=engine) session = Session() # Пример сырого API запроса raw_request = { 'method': 'sendMessage', 'params': { 'chat_id': '123456789', 'text': 'hello' } } # Сохранение сырого API запроса в базу данных telegram_request = TelegramRequest(method=raw_request['method'], params=json.dumps(raw_request['params'])) session.add(telegram_request) session.commit() # Закрытие сессии session.close() ``` Чтобы сохранить текст "hello", полученный от бота через API запрос, необходимо добавить дополнительную обработку ответа от сервера Телеграма. Например, можно распарсить ответ и сохранить текст в базу данных таким же образом как показано выше, используя полученный текст вместо "hello". Надеюсь, это поможет вам сохранить сырые API запросы в базу данных при работе с ботами в Телеграме на Python!
Воспользуйтесь библиотекой Peewee:
from database.models import History @bot.message_handler(content_types=["text"]) def message_users(message) -> None: """Отслеживание текстовых сообщений пользователя""" if filter_unregistred_users(message): bot.reply_to(message, "Вы не можете писать сообщения. Зарегистрируйстсь, набрав команду /start") return text_msg = message.text.lower().replace("!", "").replace(".", "") if text_msg in ["привет", "приветик", "приветствую", "здрасьте", "здорова", "здравствуйте", "hello"]: bot.reply_to(message, "И я Вас горячо приветствую!") else: bot.reply_to(message, "Я Вас не понимаю! Мой A.I. весьма ограничен(") History.create(chat_id=message.chat.id, user_name=message.chat.username, date=str(datetime.now()), command=message.text, result="text message")
в этом примере ведется запись в БД (таблица History) сообщения пользователя.