develop #3
@@ -5,7 +5,7 @@ from aiogram.filters import CommandStart, Command
|
|||||||
from aiogram.types import Message, CallbackQuery
|
from aiogram.types import Message, CallbackQuery
|
||||||
from aiogram.fsm.context import FSMContext
|
from aiogram.fsm.context import FSMContext
|
||||||
|
|
||||||
import app.telegram.functions.functions as func # functions
|
import app.telegram.functions.functions as func # functions
|
||||||
import app.telegram.functions.main_settings.settings as func_main_settings
|
import app.telegram.functions.main_settings.settings as func_main_settings
|
||||||
import app.telegram.functions.risk_management_settings.settings as func_rmanagement_settings
|
import app.telegram.functions.risk_management_settings.settings as func_rmanagement_settings
|
||||||
import app.telegram.functions.condition_settings.settings as func_condition_settings
|
import app.telegram.functions.condition_settings.settings as func_condition_settings
|
||||||
@@ -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,27 +39,29 @@ 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)
|
||||||
|
|
||||||
username = ''
|
username = ''
|
||||||
|
|
||||||
if callback.from_user.first_name == None:
|
if callback.from_user.first_name == None:
|
||||||
username = callback.from_user.last_name
|
username = callback.from_user.last_name
|
||||||
elif callback.from_user.last_name == None:
|
elif callback.from_user.last_name == None:
|
||||||
username = callback.from_user.first_name
|
username = callback.from_user.first_name
|
||||||
else:
|
else:
|
||||||
username = f'{callback.from_user.first_name} {callback.from_user.last_name}'
|
username = f'{callback.from_user.first_name} {callback.from_user.last_name}'
|
||||||
|
|
||||||
if user:
|
if user:
|
||||||
await func.profile_message(callback.from_user.username, callback.message)
|
await func.profile_message(callback.from_user.username, callback.message)
|
||||||
else:
|
else:
|
||||||
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,
|
||||||
await func_condition_settings.reg_new_user_default_condition_settings(callback.from_user.id, callback.message)
|
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)
|
||||||
|
|
||||||
await callback.message.answer(f'Здравствуйте, {username}!', reply_markup=reply_markup.base_buttons_markup)
|
await callback.message.answer(f'Здравствуйте, {username}!', reply_markup=reply_markup.base_buttons_markup)
|
||||||
@@ -64,25 +69,29 @@ async def clb_profile_msg (callback: CallbackQuery):
|
|||||||
await func.profile_message(username, callback.message)
|
await func.profile_message(username, callback.message)
|
||||||
|
|
||||||
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):
|
||||||
await func.settings_message(callback.message)
|
await func.settings_message(callback.message)
|
||||||
|
|
||||||
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):
|
||||||
@@ -90,26 +99,31 @@ async def clb_change_risk_management_message(callback: CallbackQuery, state: FSM
|
|||||||
|
|
||||||
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',
|
# Конкретные настройки каталогов
|
||||||
'clb_change_margin_type',
|
list_main_settings = ['clb_change_trading_mode',
|
||||||
'clb_change_size_leverage',
|
'clb_change_margin_type',
|
||||||
'clb_change_starting_quantity',
|
'clb_change_size_leverage',
|
||||||
'clb_change_martingale_factor',
|
'clb_change_starting_quantity',
|
||||||
|
'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()
|
||||||
@@ -132,11 +146,13 @@ async def clb_main_settings_msg(callback: CallbackQuery, state: FSMContext):
|
|||||||
logging.error(f"Error callback in main_settings match-case: {e}")
|
logging.error(f"Error callback in main_settings match-case: {e}")
|
||||||
|
|
||||||
|
|
||||||
list_risk_management_settings = ['clb_change_price_profit',
|
list_risk_management_settings = ['clb_change_price_profit',
|
||||||
'clb_change_price_loss',
|
'clb_change_price_loss',
|
||||||
'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()
|
||||||
@@ -153,26 +169,28 @@ async def clb_risk_management_settings_msg(callback: CallbackQuery, state: FSMCo
|
|||||||
await func_rmanagement_settings.commission_fee_message(callback.message, state)
|
await func_rmanagement_settings.commission_fee_message(callback.message, state)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error(f"Error callback in risk_management match-case: {e}")
|
logging.error(f"Error callback in risk_management match-case: {e}")
|
||||||
|
|
||||||
|
|
||||||
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()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
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':
|
||||||
@@ -187,10 +205,12 @@ async def clb_condition_settings_msg(callback: CallbackQuery, state: FSMContext)
|
|||||||
logging.error(f"Error callback in main_settings match-case: {e}")
|
logging.error(f"Error callback in main_settings match-case: {e}")
|
||||||
|
|
||||||
|
|
||||||
list_additional_settings = ['clb_change_save_pattern',
|
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}")
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user