search_messages_db(query_text): Это основная функция поиска. Она принимает query_text(например, "кошки") и использует оператор SQL LIKEс подстановочными знаками ( %) для поиска сообщений, содержащих запрос. Она возвращает список соответствующих сведений о сообщениях. Для более сложных поисков рассмотрите sqlite-fts5или интегрируйте специальную поисковую систему.
Эта асинхронная функция запускается, когда пользователь отправляет /startкоманду. Она представляет бота и объясняет, как его использовать.html()предоставляет кликабельную ссылку на профиль пользователя.
search_command(update, context): Этот обработчик предназначен для /searchкоманды.
Он извлекает query_textиз сообщения пользователя (все, что после /search).
Включает базовый этап очистки ( re.sub) для удаления распространенных символов База данных Telegram Доминиканской Республики SQL-инъекции. В то время как параметризованные запросы ( ?в cursor.execute) обрабатывают большинство рисков SQL-инъекции, это регулярное выражение добавляет дополнительный уровень базовой очистки ввода для предоставленных пользователем строк. Для сложных запросов стандартом является использование исключительно параметризованных запросов.
Звонки search_messages_db()для получения результатов.
Форматирует результаты в читаемую строку, обрезая длинные сообщения и гарантируя, что общий ответ вписывается в ограничение сообщений Telegram (4096 символов). Для форматирования используется Markdown V2.
Обработчики ботов Telegram
-
- Posts: 139
- Joined: Mon Dec 23, 2024 5:31 am