develop #3

Open
Alex wants to merge 77 commits from Alex/stcs:develop into stable
14 changed files with 622 additions and 128 deletions
Showing only changes of commit 812920f46d - Show all commits

View File

@@ -17,11 +17,13 @@ import app.telegram.Keyboards.reply_keyboards as reply_markup
router = Router() router = Router()
@router.message(CommandStart()) @router.message(CommandStart())
async def start_message(message: Message): async def start_message(message: Message):
await rq.set_new_user_bybit_api(message.from_user.id) await rq.set_new_user_bybit_api(message.from_user.id)
await func.start_message(message) await func.start_message(message)
@router.message(F.text == "👤 Профиль") @router.message(F.text == "👤 Профиль")
async def profile_message(message: Message): async def profile_message(message: Message):
user = await rq.check_user(message.from_user.id) user = await rq.check_user(message.from_user.id)
@@ -29,6 +31,7 @@ async def profile_message(message: Message):
if user: if user:
await func.profile_message(message.from_user.username, message) await func.profile_message(message.from_user.username, message)
@router.message(F.text == "Настройки") @router.message(F.text == "Настройки")
async def settings_msg(message: Message): async def settings_msg(message: Message):
user = await rq.check_user(message.from_user.id) user = await rq.check_user(message.from_user.id)
@@ -36,6 +39,7 @@ async def settings_msg(message: Message):
if user: if user:
await func.settings_message(message) await func.settings_message(message)
@router.callback_query(F.data == "clb_start_chatbot_message") @router.callback_query(F.data == "clb_start_chatbot_message")
async def clb_profile_msg(callback: CallbackQuery): async def clb_profile_msg(callback: CallbackQuery):
user = await rq.check_user(callback.from_user.id) user = await rq.check_user(callback.from_user.id)
@@ -55,7 +59,8 @@ async def clb_profile_msg (callback: CallbackQuery):
await rq.save_tg_id_new_user(callback.from_user.id) await rq.save_tg_id_new_user(callback.from_user.id)
await func_main_settings.reg_new_user_default_main_settings(callback.from_user.id, callback.message) await func_main_settings.reg_new_user_default_main_settings(callback.from_user.id, callback.message)
await func_rmanagement_settings.reg_new_user_default_risk_management_settings(callback.from_user.id, callback.message) await func_rmanagement_settings.reg_new_user_default_risk_management_settings(callback.from_user.id,
callback.message)
await func_condition_settings.reg_new_user_default_condition_settings(callback.from_user.id, callback.message) await func_condition_settings.reg_new_user_default_condition_settings(callback.from_user.id, callback.message)
await func_additional_settings.reg_new_user_default_additional_settings(callback.from_user.id, callback.message) await func_additional_settings.reg_new_user_default_additional_settings(callback.from_user.id, callback.message)
@@ -65,6 +70,7 @@ async def clb_profile_msg (callback: CallbackQuery):
await callback.answer() await callback.answer()
# Настройки торговли # Настройки торговли
@router.callback_query(F.data == "clb_settings_message") @router.callback_query(F.data == "clb_settings_message")
async def clb_settings_msg(callback: CallbackQuery): async def clb_settings_msg(callback: CallbackQuery):
@@ -72,36 +78,42 @@ async def clb_settings_msg (callback: CallbackQuery):
await callback.answer() await callback.answer()
@router.callback_query(F.data == "clb_back_to_special_settings_message") @router.callback_query(F.data == "clb_back_to_special_settings_message")
async def clb_back_to_settings_msg(callback: CallbackQuery): async def clb_back_to_settings_msg(callback: CallbackQuery):
await func.settings_message(callback.message) await func.settings_message(callback.message)
await callback.answer() await callback.answer()
@router.callback_query(F.data == "clb_change_main_settings") @router.callback_query(F.data == "clb_change_main_settings")
async def clb_change_main_settings_message(callback: CallbackQuery, state: FSMContext): async def clb_change_main_settings_message(callback: CallbackQuery, state: FSMContext):
await func_main_settings.main_settings_message(callback.from_user.id, callback.message, state) await func_main_settings.main_settings_message(callback.from_user.id, callback.message, state)
await callback.answer() await callback.answer()
@router.callback_query(F.data == "clb_change_risk_management_settings") @router.callback_query(F.data == "clb_change_risk_management_settings")
async def clb_change_risk_management_message(callback: CallbackQuery, state: FSMContext): async def clb_change_risk_management_message(callback: CallbackQuery, state: FSMContext):
await func_rmanagement_settings.main_settings_message(callback.from_user.id, callback.message, state) await func_rmanagement_settings.main_settings_message(callback.from_user.id, callback.message, state)
await callback.answer() await callback.answer()
@router.callback_query(F.data == "clb_change_condition_settings") @router.callback_query(F.data == "clb_change_condition_settings")
async def clb_change_condition_message(callback: CallbackQuery, state: FSMContext): async def clb_change_condition_message(callback: CallbackQuery, state: FSMContext):
await func_condition_settings.main_settings_message(callback.from_user.id, callback.message, state) await func_condition_settings.main_settings_message(callback.from_user.id, callback.message, state)
await callback.answer() await callback.answer()
@router.callback_query(F.data == "clb_change_additional_settings") @router.callback_query(F.data == "clb_change_additional_settings")
async def clb_change_additional_message(callback: CallbackQuery, state: FSMContext): async def clb_change_additional_message(callback: CallbackQuery, state: FSMContext):
await func_additional_settings.main_settings_message(callback.from_user.id, callback.message, state) await func_additional_settings.main_settings_message(callback.from_user.id, callback.message, state)
await callback.answer() await callback.answer()
# Конкретные настройки каталогов # Конкретные настройки каталогов
list_main_settings = ['clb_change_trading_mode', list_main_settings = ['clb_change_trading_mode',
'clb_change_margin_type', 'clb_change_margin_type',
@@ -110,6 +122,8 @@ list_main_settings = ['clb_change_trading_mode',
'clb_change_martingale_factor', 'clb_change_martingale_factor',
'clb_change_maximum_quantity' 'clb_change_maximum_quantity'
] ]
@router.callback_query(F.data.in_(list_main_settings)) @router.callback_query(F.data.in_(list_main_settings))
async def clb_main_settings_msg(callback: CallbackQuery, state: FSMContext): async def clb_main_settings_msg(callback: CallbackQuery, state: FSMContext):
await callback.answer() await callback.answer()
@@ -137,6 +151,8 @@ list_risk_management_settings = ['clb_change_price_profit',
'clb_change_max_risk_deal', 'clb_change_max_risk_deal',
'commission_fee', 'commission_fee',
] ]
@router.callback_query(F.data.in_(list_risk_management_settings)) @router.callback_query(F.data.in_(list_risk_management_settings))
async def clb_risk_management_settings_msg(callback: CallbackQuery, state: FSMContext): async def clb_risk_management_settings_msg(callback: CallbackQuery, state: FSMContext):
await callback.answer() await callback.answer()
@@ -156,13 +172,15 @@ async def clb_risk_management_settings_msg(callback: CallbackQuery, state: FSMCo
list_condition_settings = ['clb_change_trigger', list_condition_settings = ['clb_change_trigger',
'clb_change_filter_time', 'clb_change_timer',
'clb_change_filter_volatility', 'clb_change_filter_volatility',
'clb_change_external_cues', 'clb_change_external_cues',
'clb_change_tradingview_cues', 'clb_change_tradingview_cues',
'clb_change_webhook', 'clb_change_webhook',
'clb_change_ai_analytics' 'clb_change_ai_analytics'
] ]
@router.callback_query(F.data.in_(list_condition_settings)) @router.callback_query(F.data.in_(list_condition_settings))
async def clb_condition_settings_msg(callback: CallbackQuery, state: FSMContext): async def clb_condition_settings_msg(callback: CallbackQuery, state: FSMContext):
await callback.answer() await callback.answer()
@@ -171,8 +189,8 @@ async def clb_condition_settings_msg(callback: CallbackQuery, state: FSMContext)
match callback.data: match callback.data:
case 'clb_change_trigger': case 'clb_change_trigger':
await func_condition_settings.trigger_message(callback.message, state) await func_condition_settings.trigger_message(callback.message, state)
case 'clb_change_filter_time': case 'clb_change_timer':
await func_condition_settings.filter_time_message(callback.message, state) await func_condition_settings.timer_message(callback.from_user.id, callback.message, state)
case 'clb_change_filter_volatility': case 'clb_change_filter_volatility':
await func_condition_settings.filter_volatility_message(callback.message, state) await func_condition_settings.filter_volatility_message(callback.message, state)
case 'clb_change_external_cues': case 'clb_change_external_cues':
@@ -191,6 +209,8 @@ list_additional_settings = ['clb_change_save_pattern',
'clb_change_auto_start', 'clb_change_auto_start',
'clb_change_notifications', 'clb_change_notifications',
] ]
@router.callback_query(F.data.in_(list_additional_settings)) @router.callback_query(F.data.in_(list_additional_settings))
async def clb_additional_settings_msg(callback: CallbackQuery, state: FSMContext): async def clb_additional_settings_msg(callback: CallbackQuery, state: FSMContext):
await callback.answer() await callback.answer()
@@ -205,4 +225,3 @@ async def clb_additional_settings_msg(callback: CallbackQuery, state: FSMContext
await func_additional_settings.notifications_message(callback.message, state) await func_additional_settings.notifications_message(callback.message, state)
except Exception as e: except Exception as e:
logging.error(f"Error callback in additional_settings match-case: {e}") logging.error(f"Error callback in additional_settings match-case: {e}")