from aiogram import F, Router
from aiogram.filters import CommandStart, Command
from aiogram.types import Message
from aiogram.fsm.state import StatesGroup, State
from aiogram.fsm.context import FSMContext
import sqlite3
router = Router()
db = sqlite3.connect('DataBase.db')
cur = db.cursor()
class Reg(StatesGroup):
name = State()
School_class = State()
@router.message(CommandStart())
async def cmd_start(message: Message):
await message.answer('Привет! Ты попал в телеграм бота по игре про ВОВ. '
'Пропиши команду /devtopeople')
@router.message(Command('devtopeople'))
async def help1(message: Message):
await message.reply('Отлично, перед тем, чтобы начать игру, можешь прочитать информацию про'
'создателя и заказчика бота, по команде: /info'
'Чтобы начать игру прямо сейчас, команда будет рассказано в команде /help.')
@router.message(Command('help'))
async def help(message: Message):
await message.answer('Команда для начала: /StartGame')
await message.answer('Все Ваши данные будут направлены в Базу Данных (Ваш статический TGID и Имя.'
'Поэтому рекомендую ставить на время ваше настоящее имя в Телеграм на время'
'игры')
await message.answer('Ваши данные нужны для того, чтобы понимать кто и как ответил. так что можете не беспокоиться. Все данные будут зашифрованы и никто ваши Данные не узнает. ')
@router.message(Command('StartGame'))
async def reg1(message: Message, state: FSMContext):
await state.set_state(Reg.name)
await message.answer('Начинаем! Как тебя зовут?')
@router.message(Reg.name)
async def reg_2(message: Message, state: FSMContext):
await state.update_data(name=message.text)
await state.set_state(Reg.School_class)
await message.answer('Введите класс')
@router.message(Reg.School_class)
async def reg3(message: Message, state: FSMContext):
await state.update_data(School_class=message.text)
data = await state.get_data()
await message.answer(f'Хорошо! Мы закончили.Ваше имя: {data["name"]}, Класс: {data["School_class"]} ')
cur.execute(f'INSERT INTO result(name) VALUES({data["name"]})')
db.commit()
cur.execute(f'INSERT INTO result(class) VALUES({data["class"]})')
db.commit()
await state.clear()
@router.message(Command('info'))
async def info(message: Message):
await message.answer('Создатель бота - kafarof '
'Заказчик бота - '
'Цена разработки: за идею')
@router.message(Command('test'))
async def test(message: Message):
await message.reply(reply_markup=kb.main)
db.close()