Скрипт:
import sqlite3 from aiogram import Bot, Dispatcher, types from aiogram.utils import executor from aiogram.dispatcher.filters.state import State, StatesGroup from aiogram.dispatcher import FSMContext from aiogram.contrib.fsm_storage.memory import MemoryStorage API_TOKEN = 'xxxxx' # Замените на свой токен бота bot = Bot(token=API_TOKEN) dp = Dispatcher(bot, storage=MemoryStorage()) # Создание базы данных (если еще не создана) db_name = 'mydatabase.db' conn = sqlite3.connect(db_name) cursor = conn.cursor() cursor.execute(''' CREATE TABLE IF NOT EXISTS data ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, description TEXT ) ''') conn.commit() conn.close() # Обработчик команды /start @dp.message_handler(commands=['start']) async def start_handler(message: types.Message): await message.answer("Привет! Я бот для поиска информации в базе данных.\n\n" "Введите поисковый запрос:") # Обработчик ввода поискового запроса @dp.message_handler() async def search_handler(message: types.Message): search_term = message.text results = search_data(db_name, search_term) if results: await message.answer("Результаты поиска:") for row in results: await message.answer(f"ID: {row[0]}, Название: {row[1]}, Описание: {row[2]}") else: await message.answer("Ничего не найдено.") # Функция поиска данных в базе данных def search_data(db_name, search_term): conn = sqlite3.connect(db_name) cursor = conn.cursor() cursor.execute("SELECT * FROM data WHERE name LIKE ? OR description LIKE ?", ('%' + search_term + '%', '%' + search_term + '%')) results = cursor.fetchall() conn.close() return results if __name__ == "__main__": executor.start_polling(dp, skip_updates=True)
Ошибку которую выдает:
from aiogram.utils import executor ImportError: cannot import name 'executor' from 'aiogram.utils'