Помогите с решением ошибки

Flizen

Новичок
Пользователь
Сен 29, 2024
3
0
1
Пытался запустить скрипт бота на питоне и выдает ошибку

Скрипт:
Python:
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 = 'xxxx' # Замените на свой токен бота

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'
 

PYDEV

Пользователь
Пользователь
Авг 31, 2023
62
15
8
Python:
from aiogram import executor
 

Flizen

Новичок
Пользователь
Сен 29, 2024
3
0
1
Python:
from aiogram import executor
Если это надо было вставить в код то ошибка осталось
 

PYDEV

Пользователь
Пользователь
Авг 31, 2023
62
15
8
покажи версию aiogram
pip show aiogram
 

Flizen

Новичок
Пользователь
Сен 29, 2024
3
0
1
покажи версию aiogram
pip show aiogram
3.12.0
 

PYDEV

Пользователь
Пользователь
Авг 31, 2023
62
15
8
В aio3 нет executor. Запускаешь через dp.start_polling(bot)
 

Форум IT Специалистов