Added trigger function

This commit is contained in:
algizn97
2025-08-29 11:42:55 +05:00
parent f09fe1d70b
commit f4ff128236
2 changed files with 90 additions and 32 deletions

View File

@@ -1,13 +1,10 @@
import asyncio
import logging.config
import logging.config
import app.telegram.Keyboards.inline_keyboards as inline_markup
from aiogram import Router, F
from aiogram.types import Message, CallbackQuery
from aiogram.fsm.context import FSMContext
import app.telegram.database.requests as rq
from aiogram.fsm.state import State, StatesGroup
from app.services.Bybit.functions.Futures import trading_cycle
from app.states.States import condition_settings
from logger_helper.logger_helper import LOGGING_CONFIG
@@ -17,27 +14,21 @@ logger = logging.getLogger("condition_settings")
condition_settings_router = Router()
class condition_settings(StatesGroup):
trigger = State()
timer = State()
volatilty = State()
volume = State()
integration = State()
use_tv_signal = State()
async def reg_new_user_default_condition_settings(id, message):
async def reg_new_user_default_condition_settings(id):
tg_id = id
trigger = await rq.get_for_registration_trigger()
trigger = await rq.get_for_registration_trigger(tg_id)
await rq.set_new_user_default_condition_settings(tg_id, trigger)
async def main_settings_message(id, message, state):
text = """ <b>Условия запуска</b>
async def main_settings_message(id, message):
<b>- Триггер:</b> Ручной запуск / Сигнал TradingView / Полностью автоматический
tg_id = id
trigger = await rq.get_for_registration_trigger(tg_id)
text = f""" <b>Условия запуска</b>
<b>- Триггер:</b> {trigger}
<b>- Таймер: </b> установить таймер / остановить таймер
<b>- Фильтр волатильности / объёма: </b> включить/отключить
<b>- Интеграции и внешние сигналы: </b>
@@ -48,14 +39,33 @@ async def main_settings_message(id, message, state):
await message.answer(text=text, parse_mode='html', reply_markup=inline_markup.condition_settings_markup)
async def trigger_message(message, state):
text = '''Триггер
Описание ручного запуска, сигналов, автоматического режима '''
async def trigger_message(id, message, state: FSMContext):
await state.set_state(condition_settings.trigger)
text = '''
<b>- Автоматический:</b> торговля будет продолжаться до условии остановки.
<b>- Ручной:</b> торговля будет происходить только в ручном режиме.
<em>- Выберите тип триггера:</em>'''
await message.answer(text=text, parse_mode='html', reply_markup=inline_markup.trigger_markup)
@condition_settings_router.callback_query(F.data == "clb_trigger_manual")
async def trigger_manual_callback(callback: CallbackQuery, state: FSMContext):
await state.set_state(condition_settings.trigger)
await rq.update_trigger(tg_id=callback.from_user.id, trigger="Ручной")
await callback.message.answer("Триггер установлен в ручной режим.")
await main_settings_message(callback.from_user.id, callback.message)
await callback.answer()
@condition_settings_router.callback_query(F.data == "clb_trigger_auto")
async def trigger_manual_callback(callback: CallbackQuery, state: FSMContext):
await state.set_state(condition_settings.trigger)
await rq.update_trigger(tg_id=callback.from_user.id, trigger="Автоматический")
await callback.message.answer("Триггер установлен в автоматический режим.")
await main_settings_message(callback.from_user.id, callback.message)
await callback.answer()
async def timer_message(id, message: Message, state: FSMContext):
await state.set_state(condition_settings.timer)