@denisland

Не происходит подключение бота к БД, в чем ошибка?

Здравствуйте! Только начинаю изучать программирование в целом, сейчас пишу бота. Подскажите, в чем ошибка. Терминал никакую ошибку не выдает, но не срабатывает print(data['cat_id']) print(data['town']) print(result). Читаю библиотеку и не понимаю все равно. Если в терминале была указана ошибка мог бы еще понять где ошибся а так уже всю голову сломал...

Сам код:
import aiogram
import sqlite3
import schedule
import time
import parser
from aiogram import Bot, Dispatcher, executor, types
from aiogram.contrib.fsm_storage.memory import MemoryStorage
from aiogram.dispatcher.filters.state import StatesGroup, State
from aiogram.dispatcher import FSMContext


storage = MemoryStorage()
bot = Bot('TOKEN')
dp = Dispatcher(bot, storage=storage)

class UserState(StatesGroup):
    name = State()
    cat_id = State()
    town = State()


@dp.message_handler(commands=['start'])
async def user_register(message: types.Message):
    await message.answer("Привет! необходимо создать анкету пользователя. Введите пожалуйста своё имя")
    await UserState.name.set()


@dp.message_handler(state=UserState.name)
async def get_username(message: types.Message, state: FSMContext):
	await state.update_data(username=message.text)
	markup = types.InlineKeyboardMarkup()
	markup.add(types.InlineKeyboardButton('Огурец, callback_data=2))#2
	markup.add(types.InlineKeyboardButton('Петрушка', callback_data=3))#3
	markup.add(types.InlineKeyboardButton('Помидоры', callback_data=4))#4
	markup.add(types.InlineKeyboardButton('Картофель', callback_data=5))#5
	markup.add(types.InlineKeyboardButton('Салат', callback_data=6))#6
	markup.add(types.InlineKeyboardButton('Редиска', callback_data=7))#7
	#markup.add(types.InlineKeyboardButton('Капуста', callback_data='недвижимость за границей'))#8
	await message.answer('Отлично! Давай определимся с типом нашей продукции, которую ты хочешь купить', reply_markup=markup)

	await UserState.next() 

@dp.callback_query_handler(state=UserState.cat_id)
async def get_cat_id(call, state:FSMContext):
	await state.update_data(cat_id=call.data)
	await call.message.answer('Супер! Напиши теперь название города, куда необходимо доставить')
	print(call.data)
	await UserState.next()




@dp.message_handler(state=UserState.town)
async def get_town(message: types.Message, state:FSMContext):
	await state.update_data(town=message.text)
	data = await state.get_data()
	markup2 = types.ReplyKeyboardMarkup(one_time_keyboard=True)
	markup2.add(types.KeyboardButton('Да!'))
	markup2.add(types.KeyboardButton('Нет, хочу изменить параметры поиска'))
	await message.answer(f"Итак, {data['username']}, ты хочешь купить {data['cat_id']} с доставкой в {data['town']}, верно?", reply_markup=markup2)
	async def go(message: types.Message, state:FSMContext):
		data = await state.get_data()
		if message.text=='Да!':
			print(data['cat_id'])
			print(data['town'])
			with sqlite3.connect ('database.db') as connection:
				cursor = connection.cursor()
				cursor.execute("""
					SELECT * FROM DataBase WHERE Category == (?) AND City == (?)
					""", ({data['cat_id']}, {data['town']}, ))
				result = cursor.fetchall()
				print(result)
	await state.finish()



		


executor.start_polling(dp)
  • Вопрос задан
  • 39 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
29 нояб. 2024, в 10:38
5000 руб./за проект
29 нояб. 2024, в 10:27
100000 руб./за проект
29 нояб. 2024, в 09:43
100000 руб./за проект