forked from kodorvan/stcs
Update loggers
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import asyncio
|
||||
|
||||
import logging.config
|
||||
from aiogram import Bot, Dispatcher
|
||||
from aiogram.filters import Command, CommandStart
|
||||
from aiogram.types import Message
|
||||
@@ -13,12 +13,13 @@ from app.telegram.functions.condition_settings.settings import condition_setting
|
||||
from app.services.Bybit.functions.Add_Bybit_API import router_register_bybit_api
|
||||
from app.services.Bybit.functions.functions import router_functions_bybit_trade
|
||||
|
||||
from logger_helper.logger_helper import LOGGING_CONFIG
|
||||
from config import TOKEN_TG_BOT_1, TOKEN_TG_BOT_2, TOKEN_TG_BOT_3
|
||||
|
||||
from config import TOKEN_TG_BOT
|
||||
logging.config.dictConfig(LOGGING_CONFIG)
|
||||
logger = logging.getLogger("main")
|
||||
|
||||
from app.telegram.logs import logger
|
||||
|
||||
bot = Bot(token=TOKEN_TG_BOT)
|
||||
bot = Bot(token=TOKEN_TG_BOT_1)
|
||||
dp = Dispatcher()
|
||||
|
||||
async def main():
|
||||
@@ -35,6 +36,7 @@ async def main():
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
logger.info("Bot is on")
|
||||
asyncio.run(main())
|
||||
except KeyboardInterrupt:
|
||||
print("Bot is off")
|
||||
logger.info("Bot is off")
|
||||
|
@@ -1,5 +1,6 @@
|
||||
from aiogram import F, Router
|
||||
|
||||
import logging.config
|
||||
from logger_helper.logger_helper import LOGGING_CONFIG
|
||||
import app.telegram.Keyboards.inline_keyboards as inline_markup
|
||||
import app.telegram.Keyboards.reply_keyboards as reply_markup
|
||||
|
||||
@@ -10,6 +11,9 @@ from aiogram.types import Message, CallbackQuery
|
||||
from aiogram.fsm.state import State, StatesGroup
|
||||
from aiogram.fsm.context import FSMContext
|
||||
|
||||
logging.config.dictConfig(LOGGING_CONFIG)
|
||||
logger = logging.getLogger("add_bybit_api")
|
||||
|
||||
router_register_bybit_api = Router()
|
||||
|
||||
class state_reg_bybit_api(StatesGroup):
|
||||
|
@@ -1,12 +1,29 @@
|
||||
import app.telegram.database.requests as rq
|
||||
import app.telegram.Keyboards.inline_keyboards as inline_markup
|
||||
|
||||
import logging.config
|
||||
from logger_helper.logger_helper import LOGGING_CONFIG
|
||||
from pybit.unified_trading import HTTP
|
||||
|
||||
import logging
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
logging.config.dictConfig(LOGGING_CONFIG)
|
||||
logger = logging.getLogger("balance")
|
||||
|
||||
async def get_balance(tg_id, message):
|
||||
|
||||
async def get_balance(tg_id: int, message) -> float:
|
||||
"""
|
||||
Асинхронно получает общий баланс пользователя на Bybit.
|
||||
|
||||
Процедура:
|
||||
- Получает API ключ и секрет пользователя из базы данных.
|
||||
- Если ключи не заданы, отправляет пользователю сообщение с предложением подключить платформу.
|
||||
- Создает клиент Bybit с ключами.
|
||||
- Запрашивает общий баланс по типу аккаунта UNIFIED.
|
||||
- Если ответ успешен, возвращает баланс в виде float.
|
||||
- При ошибках API или исключениях логирует ошибку и уведомляет пользователя.
|
||||
|
||||
:param tg_id: int - идентификатор пользователя Telegram
|
||||
:param message: объект сообщения для отправки ответов пользователю
|
||||
:return: float - общий баланс пользователя; 0 при ошибке или отсутствии ключей
|
||||
"""
|
||||
api_key = await rq.get_bybit_api_key(tg_id)
|
||||
secret_key = await rq.get_bybit_secret_key(tg_id)
|
||||
|
||||
@@ -16,7 +33,8 @@ async def get_balance(tg_id, message):
|
||||
)
|
||||
|
||||
if api_key == 'None' or secret_key == 'None':
|
||||
await message.answer('⚠️ Подключите платформу для торговли', reply_markup=inline_markup.connect_bybit_api_markup)
|
||||
await message.answer('⚠️ Подключите платформу для торговли',
|
||||
reply_markup=inline_markup.connect_bybit_api_markup)
|
||||
return 0
|
||||
|
||||
try:
|
||||
@@ -25,9 +43,10 @@ async def get_balance(tg_id, message):
|
||||
total_balance = response['result']['list'][0].get('totalWalletBalance', '0')
|
||||
return total_balance
|
||||
else:
|
||||
logger.error(f"Ошибка API: {response.get('retMsg')}")
|
||||
await message.answer(f"⚠️ Ошибка API: {response.get('retMsg')}")
|
||||
return 0
|
||||
except Exception as e:
|
||||
logging.error(f"Ошибка при получении общего баланса: {e}")
|
||||
logger.error(f"Ошибка при получении общего баланса: {e}")
|
||||
await message.answer('⚠️ Ошибка при получении баланса')
|
||||
return 0
|
Reference in New Issue
Block a user