forked from kodorvan/stcs
The message about the Bybit profile output has been corrected when clicking the "Start" button, and messages regarding the requirement to connect the platform and incorrect API entries have been added. Messages about successful and erroneous changes to user settings have been added.
This commit is contained in:
@@ -62,29 +62,34 @@ async def state_trading_mode(callback: CallbackQuery, state):
|
||||
await callback.answer()
|
||||
|
||||
id = callback.from_user.id
|
||||
data_settings = await rq.get_user_main_settings(id)
|
||||
|
||||
try:
|
||||
match callback.data:
|
||||
case 'trade_mode_long':
|
||||
await callback.message.answer(f"✅ Изменено: {data_settings['trading_mode']} → Long")
|
||||
await rq.update_trade_mode_user(id, 'Long')
|
||||
await main_settings_message(id, callback.message, state)
|
||||
|
||||
await state.clear()
|
||||
case 'trade_mode_short':
|
||||
await callback.message.answer(f"✅ Изменено: {data_settings['trading_mode']} → Short")
|
||||
await rq.update_trade_mode_user(id, 'Short')
|
||||
await main_settings_message(id, callback.message, state)
|
||||
|
||||
await state.clear()
|
||||
case 'trade_mode_switch':
|
||||
await callback.message.answer(f"✅ Изменено: {data_settings['trading_mode']} → Switch")
|
||||
await rq.update_trade_mode_user(id, 'Switch')
|
||||
await main_settings_message(id, callback.message, state)
|
||||
|
||||
await state.clear()
|
||||
case 'trade_mode_smart':
|
||||
await rq.update_trade_mode_user(id, 'Smart')
|
||||
await main_settings_message(id, callback.message, state)
|
||||
await callback.message.answer(f"✅ Изменено: {data_settings['trading_mode']} → Smart")
|
||||
await rq.update_trade_mode_user(id, 'Smart')
|
||||
await main_settings_message(id, callback.message, state)
|
||||
|
||||
await state.clear()
|
||||
await state.clear()
|
||||
except Exception as e:
|
||||
print(f"error: {e}")
|
||||
|
||||
@@ -98,13 +103,18 @@ async def state_size_leverage(message: Message, state):
|
||||
await state.update_data(size_leverage = message.text)
|
||||
|
||||
data = await state.get_data()
|
||||
data_settings = await rq.get_user_main_settings(message.from_user.id)
|
||||
|
||||
if data['size_leverage'].isdigit() and int(data['size_leverage']) <= 100:
|
||||
await message.answer(f"✅ Изменено: {data_settings['size_leverage']} → {data['size_leverage']}")
|
||||
|
||||
await rq.update_size_leverange(message.from_user.id, data['size_leverage'])
|
||||
await main_settings_message(message.from_user.id, message, state)
|
||||
|
||||
await state.clear()
|
||||
else:
|
||||
await message.answer(f'⛔️ Ошибка: ваше значение ({data['size_leverage']}) или выше лимита (100) или вы вводите неверные символы')
|
||||
|
||||
await main_settings_message(message.from_user.id, message, state)
|
||||
|
||||
async def martingale_factor_message(message, state):
|
||||
@@ -117,13 +127,18 @@ async def state_martingale_factor(message: Message, state):
|
||||
await state.update_data(martingale_factor = message.text)
|
||||
|
||||
data = await state.get_data()
|
||||
data_settings = await rq.get_user_main_settings(message.from_user.id)
|
||||
|
||||
if data['martingale_factor'].isdigit() and int(data['martingale_factor']) <= 100:
|
||||
await message.answer(f"✅ Изменено: {data_settings['martingale_factor']} → {data['martingale_factor']}")
|
||||
|
||||
await rq.update_martingale_factor(message.from_user.id, data['martingale_factor'])
|
||||
await main_settings_message(message.from_user.id, message, state)
|
||||
|
||||
await state.clear()
|
||||
else:
|
||||
await message.answer(f'⛔️ Ошибка: ваше значение ({data['martingale_factor']}) или выше лимита (100) или вы вводите неверные символы')
|
||||
|
||||
await main_settings_message(message.from_user.id, message, state)
|
||||
|
||||
async def margin_type_message(message, state):
|
||||
@@ -150,16 +165,20 @@ async def state_margin_type(callback: CallbackQuery, state):
|
||||
await callback.answer()
|
||||
|
||||
id = callback.from_user.id
|
||||
print(f"sdljfngdjklfg ## {callback.data}")
|
||||
data_settings = await rq.get_user_main_settings(id)
|
||||
|
||||
try:
|
||||
match callback.data:
|
||||
case 'margin_type_isolated':
|
||||
await callback.message.answer(f"✅ Изменено: {data_settings['margin_type']} → Isolated")
|
||||
|
||||
await rq.update_margin_type(id, 'Isolated')
|
||||
await main_settings_message(id, callback.message, state)
|
||||
|
||||
await state.clear()
|
||||
case 'margin_type_cross':
|
||||
await callback.message.answer(f"✅ Изменено: {data_settings['margin_type']} → Cross")
|
||||
|
||||
await rq.update_margin_type(id, 'Cross')
|
||||
await main_settings_message(id, callback.message, state)
|
||||
|
||||
@@ -177,30 +196,40 @@ async def state_starting_quantity(message: Message, state):
|
||||
await state.update_data(starting_quantity = message.text)
|
||||
|
||||
data = await state.get_data()
|
||||
data_settings = await rq.get_user_main_settings(message.from_user.id)
|
||||
|
||||
if data['starting_quantity'].isdigit():
|
||||
await message.answer(f"✅ Изменено: {data_settings['starting_quantity']} → {data['starting_quantity']}")
|
||||
|
||||
await rq.update_starting_quantity(message.from_user.id, data['starting_quantity'])
|
||||
await main_settings_message(message.from_user.id, message, state)
|
||||
|
||||
await state.clear()
|
||||
else:
|
||||
await message.answer(f'⛔️ Ошибка: вы вводите неверные символы')
|
||||
|
||||
await main_settings_message(message.from_user.id, message, state)
|
||||
|
||||
async def maximum_quantity_message(message, state):
|
||||
await state.set_state(update_main_settings.maximal_quantity)
|
||||
|
||||
await message.edit_text("Введите <b>максимальное количество ставок:</b>", parse_mode='html', reply_markup=inline_markup.back_btn_list_settings_markup)
|
||||
await message.edit_text("Введите <b>максимальное количество серии ставок:</b>", parse_mode='html', reply_markup=inline_markup.back_btn_list_settings_markup)
|
||||
|
||||
@router_main_settings.message(update_main_settings.maximal_quantity)
|
||||
async def state_maximal_quantity(message: Message, state):
|
||||
await state.update_data(maximal_quantity = message.text)
|
||||
|
||||
data = await state.get_data()
|
||||
data_settings = await rq.get_user_main_settings(message.from_user.id)
|
||||
|
||||
if data['maximal_quantity'].isdigit() and int(data['maximal_quantity']) <= 100:
|
||||
await message.answer(f"✅ Изменено: {data_settings['maximal_quantity']} → {data['maximal_quantity']}")
|
||||
|
||||
await rq.update_maximal_quantity(message.from_user.id, data['maximal_quantity'])
|
||||
await main_settings_message(message.from_user.id, message, state)
|
||||
|
||||
await state.clear()
|
||||
else:
|
||||
await message.answer(f'⛔️ Ошибка: ваше значение ({data['maximal_quantity']}) или выше лимита (100) или вы вводите неверные символы')
|
||||
|
||||
await main_settings_message(message.from_user.id, message, state)
|
@@ -43,13 +43,18 @@ async def state_price_profit(message: Message, state):
|
||||
await state.update_data(price_profit = message.text)
|
||||
|
||||
data = await state.get_data()
|
||||
data_settings = await rq.get_user_risk_management_settings(message.from_user.id)
|
||||
|
||||
if data['price_profit'].isdigit() and int(data['price_profit']) <= 100:
|
||||
await message.answer(f"✅ Изменено: {data_settings['price_profit']}% → {data['price_profit']}%")
|
||||
|
||||
await rq.update_price_profit(message.from_user.id, data['price_profit'])
|
||||
await main_settings_message(message.from_user.id, message, state)
|
||||
|
||||
await state.clear()
|
||||
else:
|
||||
await message.answer(f'⛔️ Ошибка: ваше значение ({data['price_profit']}%) или выше лимита (100) или вы вводите неверные символы')
|
||||
|
||||
await main_settings_message(message.from_user.id, message, state)
|
||||
|
||||
async def price_loss_message(message, state):
|
||||
@@ -64,13 +69,18 @@ async def state_price_loss(message: Message, state):
|
||||
await state.update_data(price_loss = message.text)
|
||||
|
||||
data = await state.get_data()
|
||||
data_settings = await rq.get_user_risk_management_settings(message.from_user.id)
|
||||
|
||||
if data['price_loss'].isdigit() and int(data['price_loss']) <= 100:
|
||||
await message.answer(f"✅ Изменено: {data_settings['price_loss']}% → {data['price_loss']}%")
|
||||
|
||||
await rq.update_price_loss(message.from_user.id, data['price_loss'])
|
||||
await main_settings_message(message.from_user.id, message, state)
|
||||
|
||||
await state.clear()
|
||||
else:
|
||||
await message.answer(f'⛔️ Ошибка: ваше значение ({data['price_loss']}%) или выше лимита (100) или вы вводите неверные символы')
|
||||
|
||||
await main_settings_message(message.from_user.id, message, state)
|
||||
|
||||
async def max_risk_deal_message(message, state):
|
||||
@@ -85,11 +95,16 @@ async def state_max_risk_deal(message: Message, state):
|
||||
await state.update_data(max_risk_deal = message.text)
|
||||
|
||||
data = await state.get_data()
|
||||
data_settings = await rq.get_user_risk_management_settings(message.from_user.id)
|
||||
|
||||
if data['max_risk_deal'].isdigit() and int(data['max_risk_deal']) <= 100:
|
||||
await message.answer(f"✅ Изменено: {data_settings['max_risk_deal']}% → {data['max_risk_deal']}%")
|
||||
|
||||
await rq.update_max_risk_deal(message.from_user.id, data['max_risk_deal'])
|
||||
await main_settings_message(message.from_user.id, message, state)
|
||||
|
||||
await state.clear()
|
||||
else:
|
||||
await message.answer(f'⛔️ Ошибка: ваше значение ({data['max_risk_deal']}%) или выше лимита (100) или вы вводите неверные символы')
|
||||
|
||||
await main_settings_message(message.from_user.id, message, state)
|
Reference in New Issue
Block a user