52 lines
1.9 KiB
Python
52 lines
1.9 KiB
Python
from config import dp, db, shop_desc
|
|
from aiogram import types
|
|
from captcha import Captcha
|
|
from markups import rules_mkp, menu_mkp
|
|
from functions import anti_flood
|
|
|
|
@dp.message_handler(commands='start')
|
|
@dp.throttled(anti_flood,rate=1)
|
|
async def startcmd(message: types.Message):
|
|
stat = db.check_userstat(message.from_user.id)
|
|
db.add_user(message.from_user.id, message.from_user.mention)
|
|
if stat == 'rules':
|
|
await message.answer(f'Правила использования бота:\n\n{db.get_rules()}', reply_markup=rules_mkp())
|
|
elif stat == 'ban':
|
|
await message.answer('Вы заблокированы')
|
|
elif stat == 'ok':
|
|
await message.answer(shop_desc, reply_markup=menu_mkp())
|
|
else:
|
|
captcha = Captcha()
|
|
captcha.register_handlers(dp)
|
|
await message.answer(
|
|
captcha.get_caption(),
|
|
reply_markup=captcha.get_captcha_keyboard()
|
|
)
|
|
|
|
@dp.message_handler(commands='id')
|
|
@dp.throttled(anti_flood,rate=1)
|
|
async def idcmd(message: types.Message):
|
|
await message.answer(f'Ваш ID: <code>{message.from_user.id}</code>')
|
|
|
|
@dp.message_handler(commands=['chat_id'])
|
|
async def chatidcmd(message: types.Message):
|
|
await message.answer(f'Чат ID: <code>{message.chat.id}</code>')
|
|
|
|
@dp.callback_query_handler(text='rulesok')
|
|
async def rulesokcall(call: types.CallbackQuery):
|
|
await call.message.delete()
|
|
db.change_status(call.from_user.id, 'ok')
|
|
await call.message.answer(shop_desc, reply_markup=menu_mkp())
|
|
|
|
@dp.callback_query_handler(text='rulesno')
|
|
async def rulesnocall(call: types.CallbackQuery):
|
|
db.change_status(call.from_user.id, 'ban')
|
|
await call.message.delete()
|
|
await call.message.answer('Вы заблокированы')
|
|
|
|
|
|
@dp.callback_query_handler(text='menu')
|
|
async def menuCall(call: types.CallbackQuery):
|
|
await call.message.delete()
|
|
await call.message.answer(shop_desc, reply_markup=menu_mkp())
|