mirror of
https://github.com/Redume/Shirino.git
synced 2025-05-19 02:05:26 +01:00
chore: optimization code
This commit is contained in:
parent
f92e24816d
commit
ae695d6f48
1 changed files with 25 additions and 21 deletions
|
@ -1,6 +1,6 @@
|
||||||
from typing import Optional, Tuple, List
|
from typing import Optional, Tuple, List
|
||||||
from aiogram import Router, types
|
from aiogram import Router, types
|
||||||
from aiogram.filters import Command, Text
|
from aiogram.filters import Command
|
||||||
from aiogram.types import (
|
from aiogram.types import (
|
||||||
InlineKeyboardMarkup,
|
InlineKeyboardMarkup,
|
||||||
InlineKeyboardButton,
|
InlineKeyboardButton,
|
||||||
|
@ -170,7 +170,7 @@ async def settings_handler(message: types.Message):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@router.callback_query(Text("setting_lang"))
|
@router.callback_query(lambda c: c.data == "setting_lang")
|
||||||
async def show_language_menu(callback: CallbackQuery):
|
async def show_language_menu(callback: CallbackQuery):
|
||||||
locale = await get_user_locale(callback.from_user.id)
|
locale = await get_user_locale(callback.from_user.id)
|
||||||
|
|
||||||
|
@ -187,7 +187,7 @@ async def show_language_menu(callback: CallbackQuery):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@router.callback_query(Text(startswith="lang_"))
|
@router.callback_query(lambda c: c.data and c.data.startswith("lang_"))
|
||||||
async def language_selected(callback: CallbackQuery):
|
async def language_selected(callback: CallbackQuery):
|
||||||
lang = callback.data.split("_")[1]
|
lang = callback.data.split("_")[1]
|
||||||
await db.update(
|
await db.update(
|
||||||
|
@ -210,9 +210,10 @@ async def language_selected(callback: CallbackQuery):
|
||||||
)
|
)
|
||||||
await callback.answer(
|
await callback.answer(
|
||||||
locale.get("language_set").format(lang=lang.upper())
|
locale.get("language_set").format(lang=lang.upper())
|
||||||
)
|
)
|
||||||
|
|
||||||
@router.callback_query(Text("back_to_settings"))
|
|
||||||
|
@router.callback_query(lambda c: c.data == "back_to_settings")
|
||||||
async def back_to_settings(callback: CallbackQuery):
|
async def back_to_settings(callback: CallbackQuery):
|
||||||
locale = await get_user_locale(callback.from_user.id)
|
locale = await get_user_locale(callback.from_user.id)
|
||||||
|
|
||||||
|
@ -235,7 +236,8 @@ async def back_to_settings(callback: CallbackQuery):
|
||||||
callback, locale.get("settings_title"), settings_keyboard
|
callback, locale.get("settings_title"), settings_keyboard
|
||||||
)
|
)
|
||||||
|
|
||||||
@router.callback_query(Text("setting_chart"))
|
|
||||||
|
@router.callback_query(lambda c: c.data == "setting_chart")
|
||||||
async def show_chart_settings(callback: CallbackQuery):
|
async def show_chart_settings(callback: CallbackQuery):
|
||||||
data = await db.fetch(
|
data = await db.fetch(
|
||||||
'SELECT chart, chart_period, lang FROM users WHERE user_id = $1',
|
'SELECT chart, chart_period, lang FROM users WHERE user_id = $1',
|
||||||
|
@ -247,7 +249,9 @@ async def show_chart_settings(callback: CallbackQuery):
|
||||||
chart_status = bool(data.get("chart", 1))
|
chart_status = bool(data.get("chart", 1))
|
||||||
period = data.get("chart_period") or "week"
|
period = data.get("chart_period") or "week"
|
||||||
|
|
||||||
status_text = locale.get("enabled") if chart_status else locale.get("disabled")
|
status_text = locale.get("enabled") \
|
||||||
|
if chart_status \
|
||||||
|
else locale.get("disabled")
|
||||||
period_text = locale.get(period, period)
|
period_text = locale.get(period, period)
|
||||||
|
|
||||||
text = (
|
text = (
|
||||||
|
@ -259,11 +263,12 @@ async def show_chart_settings(callback: CallbackQuery):
|
||||||
|
|
||||||
await safe_edit_message_text(callback, text, keyboard)
|
await safe_edit_message_text(callback, text, keyboard)
|
||||||
|
|
||||||
@router.callback_query(Text("chart_toggle"))
|
|
||||||
|
@router.callback_query(lambda c: c.data == "chart_toggle")
|
||||||
async def toggle_chart(callback: CallbackQuery):
|
async def toggle_chart(callback: CallbackQuery):
|
||||||
data = await db.fetch(
|
data = await db.fetch(
|
||||||
'SELECT chart, lang FROM users WHERE user_id = $1',
|
'SELECT chart, lang FROM users WHERE user_id = $1',
|
||||||
callback.from_user.id,
|
callback.from_user.id
|
||||||
)
|
)
|
||||||
lang = data.get("lang", "en")
|
lang = data.get("lang", "en")
|
||||||
locale = i18n.get_locale(lang)
|
locale = i18n.get_locale(lang)
|
||||||
|
@ -273,8 +278,7 @@ async def toggle_chart(callback: CallbackQuery):
|
||||||
|
|
||||||
await db.update(
|
await db.update(
|
||||||
'UPDATE users SET chart = $1 WHERE user_id = $2',
|
'UPDATE users SET chart = $1 WHERE user_id = $2',
|
||||||
new_status,
|
new_status, callback.from_user.id
|
||||||
callback.from_user.id,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
await callback.answer(
|
await callback.answer(
|
||||||
|
@ -287,16 +291,16 @@ async def toggle_chart(callback: CallbackQuery):
|
||||||
await show_chart_settings(callback)
|
await show_chart_settings(callback)
|
||||||
|
|
||||||
|
|
||||||
@router.callback_query(Text("chart_period"))
|
@router.callback_query(lambda c: c.data == "chart_period")
|
||||||
async def change_chart_period(callback: CallbackQuery):
|
async def change_chart_period(callback: CallbackQuery):
|
||||||
data = await db.fetch(
|
data = await db.fetch(
|
||||||
'SELECT chart_period, lang FROM users WHERE user_id = $1',
|
'SELECT chart_period, lang FROM users WHERE user_id = $1',
|
||||||
callback.from_user.id,
|
callback.from_user.id
|
||||||
)
|
)
|
||||||
lang = data.get("lang", "en")
|
lang = data.get("lang", "en")
|
||||||
locale = i18n.get_locale(lang)
|
locale = i18n.get_locale(lang)
|
||||||
|
|
||||||
current_period = data.get("chart_period")
|
current_period = data.get("chart_period") or "week"
|
||||||
|
|
||||||
keyboard = build_options_keyboard(
|
keyboard = build_options_keyboard(
|
||||||
options=PERIOD_OPTIONS,
|
options=PERIOD_OPTIONS,
|
||||||
|
@ -312,13 +316,13 @@ async def change_chart_period(callback: CallbackQuery):
|
||||||
keyboard
|
keyboard
|
||||||
)
|
)
|
||||||
|
|
||||||
@router.callback_query(Text(startswith="period_"))
|
|
||||||
|
@router.callback_query(lambda c: c.data and c.data.startswith("period_"))
|
||||||
async def set_chart_period(callback: CallbackQuery):
|
async def set_chart_period(callback: CallbackQuery):
|
||||||
period = callback.data.split("_")[1]
|
period = callback.data.split("_")[1]
|
||||||
await db.update(
|
await db.update(
|
||||||
'UPDATE users SET chart_period = $1 WHERE user_id = $2',
|
'UPDATE users SET chart_period = $1 WHERE user_id = $2',
|
||||||
period,
|
period, callback.from_user.id
|
||||||
callback.from_user.id,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
locale = await get_user_locale(callback.from_user.id)
|
locale = await get_user_locale(callback.from_user.id)
|
||||||
|
|
Loading…
Add table
Reference in a new issue