1515from telegram_bot .utils import Env , CreateUserBotState
1616from telegram_bot .utils .util import get_main_keyboard
1717from telegram_bot .keyboards import KB_CONTACT , KB_CANCEL_SETUP
18+ from .util import _user_agreement_text
1819from ...utils .process import start_process_if_sessions_exists , check_process , kill_process
1920
2021__sessions : dict [int , Client ] = {}
2122
2223
2324# region with State
2425
25- async def __start_input_user_settings (msg : Message , state : FSMContext ) -> None :
26- bot : Bot = msg .bot
27- user_id = msg .from_user .id
28-
29- user = get_user_by_telegram_id (user_id )
30-
31- if check_process (user_id ):
32- keyboard = get_main_keyboard (user_id )
33- await bot .send_message (user_id , "Ваш бот уже запущен!" , reply_markup = keyboard )
34- return
35- if user and user .session :
36- start_process_if_sessions_exists (user_id )
37- keyboard = get_main_keyboard (user_id )
38- await state .finish ()
39- await bot .send_message (
40- user_id ,
41- "Бот запущен! ✅\n " ,
42- reply_markup = keyboard
43- )
44- return
45-
46- await bot .send_document (user_id , open (PathManager .get ('UserAgreement.pdf' ), 'rb' ), reply_markup = KB_CONTACT )
47- await bot .send_message (user_id , "Отправляя контакт, вы соглашаетесь с пользовательским соглашением!️" ,
48- reply_markup = KB_CANCEL_SETUP )
49- await state .set_state (CreateUserBotState .PHONE )
50-
5126
5227async def __input_phone (msg : Message , state : FSMContext ) -> None :
5328 bot : Bot = msg .bot
@@ -158,6 +133,32 @@ async def __input_2fa_password(msg: Message, state: FSMContext) -> None:
158133 await state .finish ()
159134
160135
136+ async def __start_input_user_settings (msg : Message , state : FSMContext ) -> None :
137+ bot : Bot = msg .bot
138+ user_id = msg .from_user .id
139+
140+ user = get_user_by_telegram_id (user_id )
141+
142+ if check_process (user_id ):
143+ keyboard = get_main_keyboard (user_id )
144+ await bot .send_message (user_id , "Ваш бот уже запущен!" , reply_markup = keyboard )
145+ return
146+ if user and user .session :
147+ start_process_if_sessions_exists (user_id )
148+ keyboard = get_main_keyboard (user_id )
149+ await state .finish ()
150+ await bot .send_message (
151+ user_id ,
152+ "Бот запущен! ✅\n " ,
153+ reply_markup = keyboard
154+ )
155+ return
156+ await bot .send_document (user_id , open (PathManager .get ('UserAgreement.pdf' ), 'rb' ), reply_markup = KB_CONTACT )
157+ await bot .send_message (user_id , _user_agreement_text (msg .from_user .first_name ), reply_markup = KB_CANCEL_SETUP )
158+
159+ await state .set_state (CreateUserBotState .PHONE )
160+
161+
161162async def __stop_register_user_bot (query : CallbackQuery , state : FSMContext ) -> None :
162163 bot : Bot = query .bot
163164 user_id = query .from_user .id
@@ -188,7 +189,8 @@ async def __delete_session(msg: Message) -> None:
188189
189190
190191def _register_user_bot_handlers (dp : Dispatcher ) -> None :
191- dp .register_callback_query_handler (__stop_register_user_bot , lambda c : c .data == "cancel_setup" , state = "*" )
192+
193+ # region Msg handlers
192194
193195 dp .register_message_handler (__input_phone , content_types = [types .ContentType .CONTACT ],
194196 state = CreateUserBotState .PHONE )
@@ -198,3 +200,11 @@ def _register_user_bot_handlers(dp: Dispatcher) -> None:
198200 dp .register_message_handler (__start_input_user_settings , content_types = ['text' ], text = "Запустить бота ✅" )
199201 dp .register_message_handler (__stop_bot , content_types = ['text' ], text = "Остановить бота ❌" )
200202 dp .register_message_handler (__delete_session , content_types = ['text' ], text = "Удалить свои данные ⚠️" )
203+
204+ # endregion
205+
206+ # region Callback handlers
207+
208+ dp .register_callback_query_handler (__stop_register_user_bot , lambda c : c .data == "cancel_setup" , state = "*" )
209+
210+ # endregion
0 commit comments