This commit is contained in:
2026-03-01 16:53:32 +03:00
parent 67c60bcbb8
commit 186de7af75
5 changed files with 29 additions and 21 deletions
+5 -1
View File
@@ -155,7 +155,11 @@ token = "1234567890:ABCdefGHIjklMNOpqrsTUVwxyz"
creator_id = 123456789 creator_id = 123456789
[database] [database]
url = "postgresql+asyncpg://dutylog:password@localhost:5432/dutylog" host = "localhost"
port = 5432
user = "postgres"
password = "1234"
database = "dutylog"
``` ```
## 🤝 Вклад в проект ## 🤝 Вклад в проект
@@ -6,23 +6,26 @@ from dutylog.application.bot.user_dialogs.states import MainMenuSG
faq_window = Window( faq_window = Window(
Const("""<blockquote>❓ <b>Часто задаваемые вопросы</b></blockquote> Const(f"""
📖 <b>Справка и FAQ</b>
<b>Что это за система?</b> 📌 <b>Что это за система?</b>
<blockquote>Это система учета дежурств в общежитии. Здесь отображаются ваши отработанные и неотработанные часы дежурств.</blockquote> <blockquote>Автоматизированный учет отработок. Здесь ты видишь свой актуальный баланс часов и историю всех начислений.</blockquote>
<b>Что делать, если я зарегистрировался не под собой?</b> ⚠️ <b>Зарегистрировался не под своим именем?</b>
<blockquote>⚠️ Перерегистрацию может выполнить только администратор. Обратитесь к администратору для исправления данных.</blockquote> <blockquote>Самостоятельная смена профиля отключена. Для перепривязки аккаунта обратись к администратору.</blockquote>
<b>Как начисляются часы?</b> ⚙️ <b>Как происходит начисление?</b>
<blockquote>Часы начисляются и списываются администраторами системы. Все изменения отображаются в разделе "История".</blockquote> <blockquote>Часы вносит администратор после подтверждения факта отработки. Все изменения мгновенно приходят в уведомлениях.</blockquote>
<b>Что означают активные и неактивные часы?</b> 📊 <b>В чем разница между часами?</b>
<blockquote>🟢 <b>Отработанные часы</b> - часы, которые вы уже отработали <blockquote> <b>Отработанные</b> — твой закрытый актив.
🔴 <b>Неотработанные часы</b> - часы, которые вам еще предстоит отработать</blockquote> <b>Неотработанные</b> — текущий долг, который нужно закрыть.</blockquote>
<b>Как связаться с администратором?</b> 👨‍💻 <b>Как найти администратора?</b>
<blockquote>Обратитесь к старосте вашего этажа или в администрацию общежития.</blockquote>"""), <blockquote>Обычно это староста этажа или комендант. Если возникла техническая ошибка в боте — пиши в чат общежития.</blockquote>
""")
,
SwitchTo(Const("◀️ Назад"), id="back_to_main", state=MainMenuSG.main), SwitchTo(Const("◀️ Назад"), id="back_to_main", state=MainMenuSG.main),
state=MainMenuSG.faq, state=MainMenuSG.faq,
) )
@@ -43,7 +43,7 @@ async def get_history_data(
""" """
else: else:
history_text = """ history_text = """
<blockquote>📜 <b>История операций</b></blockquote> 📜 <b>История операций</b>
""" """
for tx in last_10: for tx in last_10:
@@ -52,7 +52,7 @@ async def get_main_menu_data(
resident.real_name if resident.real_name else event_from_user.first_name resident.real_name if resident.real_name else event_from_user.first_name
) )
greeting = ( greeting = (
f"👋 <b>Привет, {real_name}!</b>\n🚪 Комната <code>{room_number}</code>" f"👤 <b>{real_name}</b> (к. {room_number})"
) )
else: else:
greeting = f"👋 <b>Привет, {event_from_user.first_name}!</b>" greeting = f"👋 <b>Привет, {event_from_user.first_name}!</b>"
@@ -75,12 +75,13 @@ async def get_main_menu_data(
else: else:
content = f""" content = f"""
{greeting} {greeting}
━━━━━━━━━━━━━━━━━━━━
📊 <b>Статус отработки:</b>
⏰ <b>Ваши часы дежурств</b> <blockquote>✅ Выполнено: <b>{resident.inactive_hours}</b> ч.
⏳ Осталось: <b>{resident.active_hours}</b> ч.</blockquote>
<blockquote>🟢 <b>Отработанные часы:</b> <code>{resident.inactive_hours}</code> ч <code>made by kolo</code>
━━━━━━━━━━━━━━━━
🔴 Неотработанные часы: <code>{resident.active_hours}</code> ч</blockquote>
""" """
has_resident = True has_resident = True
else: else:
@@ -32,13 +32,13 @@ async def get_top_residents_data(
if not top_residents: if not top_residents:
content = """ content = """
<blockquote>🏆 <b>Топ общежития</b></blockquote> 🏆 <b>Топ общежития</b>
⚠️ Нет данных для отображения топа. ⚠️ Нет данных для отображения топа.
""" """
else: else:
content = """ content = """
<blockquote>🏆 <b>Топ общежития</b></blockquote> 🏆 <b>Топ общежития</b>
""" """
medals = ["🥇", "🥈", "🥉", "4.", "5."] medals = ["🥇", "🥈", "🥉", "4.", "5."]