11from typing import Any
2+ from aiogram import types , Bot
3+ from service .user import UserService
4+ from service .routine import RoutineService
25
36MESSAGES : Any = {
47 "UKRANIAN" : {
9699 "ROUTINE_TIME" : "⏰ Прокидаєшся о {}, лягаєш спати о {}, загальний час дня: {}. Чудовий план! 😊" ,
97100 "TIMER_INVALID" : "❌ Неправильний формат часу (потрібно 10:00). Спробуй ще раз! 😌" ,
98101 "IDEA_EXIST" : "⚠️ Ідея з такою назвою вже є. Придумай нову, ти ж креативний! 😊" ,
102+ "SEND_MORNING_MSG" : "Доброго ранку, {}" ,
103+ "SEND_EVENING_MSG" : "Доброго вечора, {}" ,
99104 "LANGUAGE_ASK" : (
100105 "🌐 Яку мову обереш, друже? \n "
101106 "Тисни кнопку нижче, і поїхали! 😄"
199204 "TIMER_INVALID" : "❌ Wrong time format (use 10:00). Try again! 😌" ,
200205 "ROUTINE_TIME" : "⏰ Wake up at {}, sleep at {}, total day time: {}. Great plan! 😊" ,
201206 "IDEA_EXIST" : "⚠️ An idea with that name already exists. Got another creative one? 😊" ,
207+ "SEND_MORNING_MSG" : "Good morning, {}!" ,
208+ "SEND_EVENING_MSG" : "Good evening, {}!" ,
202209 "LANGUAGE_ASK" : (
203210 "🌐 What language would you like, friend? \n "
204211 "Pick one below, and let’s roll! 😄"
209216}
210217
211218# Buttons
219+ BUTTON_SETTINGS = "⚙️ Settings"
212220BUTTON_ADD_TASK : str = "📝 Add a Task"
213221BUTTON_IDEA : str = "💾 Save an Idea"
214222BUTTON_MYDAY : str = "📅 My Day"
215- BUTTON_SETTINGS : str = "⚙️ Settings"
216223BUTTON_HELP : str = "❓ Help"
217224BUTTON_UA_LANG : str = "🇺🇦 Українська"
218225BUTTON_EN_LANG : str = "🇬🇧 English"
@@ -284,4 +291,38 @@ def generate_daily_stats_message(language: str, created_ideas: int, completed_ta
284291 f"📝 *Tasks added*: { created_tasks } \n \n "
285292 "🔄 Updates every day at 00:00.\n \n "
286293 "You’re absolutely crushing it! Keep shining! 🌟"
287- )
294+ )
295+
296+ async def send_morning_message (bot : Bot , user_id : int ):
297+ language = await UserService .get_user_language (user_id ) or "ENGLISH"
298+ morning_routine = await RoutineService .get_user_routines (user_id , routine_type = "morning" )
299+
300+ print (f"[INFO] - Sending morning routine to user with id, { user_id } " )
301+ if not morning_routine :
302+ await bot .send_message (
303+ user_id ,
304+ MESSAGES [language ]['SEND_MORNING_MSG' ].format ("👤" ) + '\n ' + MESSAGES [language ]['NO_MORNING_ROUTINE' ]
305+ )
306+ return
307+
308+ dividers : str = "\n " + ("-" * int (len (MESSAGES [language ]['MORNING_ROUTINE_SHOW' ]) * 1.65 ))
309+ formatted_routine_items = "\n " .join (
310+ f"# { idx } . { routine ['routine_name' ]} "
311+ for idx , routine in enumerate (morning_routine , start = 1 )
312+ )
313+ formatted_morning_routine = (
314+ MESSAGES [language ]['MORNING_ROUTINE_SHOW' ] +
315+ dividers +
316+ "\n " +
317+ formatted_routine_items
318+ )
319+
320+ await bot .send_message (user_id , formatted_morning_routine )
321+
322+ async def send_evening_message (bot : Bot , user_id : int ):
323+ language = await UserService .get_user_language (user_id ) or "ENGLISH"
324+ print (f"[INFO] - Sending evening routine to user with id, { user_id } " )
325+ await bot .send_message (
326+ user_id ,
327+ MESSAGES [language ]['SEND_EVENING_MSG' ].format ("👤" )
328+ )
0 commit comments