mirror of
https://github.com/marcogll/talia_bot.git
synced 2026-01-13 21:35:19 +00:00
docs: Add comprehensive comments and update README
This commit adds detailed inline comments and docstrings to all modules within the `app/modules/` directory to improve code clarity, readability, and maintainability. It also updates the `README.md` file to include `create_tag.py` and `print.py` in the "Módulos Funcionales" section, ensuring the documentation is synchronized with the codebase.
This commit is contained in:
@@ -1,8 +1,16 @@
|
||||
# app/modules/onboarding.py
|
||||
"""
|
||||
This module handles the initial interaction with the user, specifically the
|
||||
/start command.
|
||||
|
||||
It is responsible for identifying the user's role and presenting them with a
|
||||
customized menu of options based on their permissions. This ensures that each
|
||||
user sees only the actions relevant to them.
|
||||
"""
|
||||
from telegram import InlineKeyboardButton, InlineKeyboardMarkup
|
||||
|
||||
def get_owner_menu():
|
||||
"""Returns the main menu for the owner."""
|
||||
"""Creates and returns the main menu keyboard for the 'owner' role."""
|
||||
keyboard = [
|
||||
[InlineKeyboardButton("📅 Ver mi agenda", callback_data='view_agenda')],
|
||||
[InlineKeyboardButton("⏳ Ver pendientes", callback_data='view_pending')],
|
||||
@@ -10,7 +18,7 @@ def get_owner_menu():
|
||||
return InlineKeyboardMarkup(keyboard)
|
||||
|
||||
def get_admin_menu():
|
||||
"""Returns the main menu for an admin."""
|
||||
"""Creates and returns the main menu keyboard for the 'admin' role."""
|
||||
keyboard = [
|
||||
[InlineKeyboardButton("📊 Ver estado del sistema", callback_data='view_system_status')],
|
||||
[InlineKeyboardButton("👥 Gestionar usuarios", callback_data='manage_users')],
|
||||
@@ -18,7 +26,7 @@ def get_admin_menu():
|
||||
return InlineKeyboardMarkup(keyboard)
|
||||
|
||||
def get_team_menu():
|
||||
"""Returns the main menu for a team member."""
|
||||
"""Creates and returns the main menu keyboard for the 'team' role."""
|
||||
keyboard = [
|
||||
[InlineKeyboardButton("🕒 Proponer actividad", callback_data='propose_activity')],
|
||||
[InlineKeyboardButton("📄 Ver estatus de solicitudes", callback_data='view_requests_status')],
|
||||
@@ -26,7 +34,7 @@ def get_team_menu():
|
||||
return InlineKeyboardMarkup(keyboard)
|
||||
|
||||
def get_client_menu():
|
||||
"""Returns the main menu for a client."""
|
||||
"""Creates and returns the main menu keyboard for the 'client' role."""
|
||||
keyboard = [
|
||||
[InlineKeyboardButton("🗓️ Agendar una cita", callback_data='schedule_appointment')],
|
||||
[InlineKeyboardButton("ℹ️ Información de servicios", callback_data='get_service_info')],
|
||||
@@ -35,7 +43,10 @@ def get_client_menu():
|
||||
|
||||
def handle_start(user_role):
|
||||
"""
|
||||
Handles the /start command and sends a role-based welcome message and menu.
|
||||
Handles the /start command by sending a role-based welcome message and menu.
|
||||
|
||||
This function acts as a router, determining which menu to display based on
|
||||
the user's role, which is passed in as an argument.
|
||||
"""
|
||||
welcome_message = "Hola, soy Talía. ¿En qué puedo ayudarte hoy?"
|
||||
|
||||
@@ -45,7 +56,7 @@ def handle_start(user_role):
|
||||
menu = get_admin_menu()
|
||||
elif user_role == "team":
|
||||
menu = get_team_menu()
|
||||
else: # client
|
||||
else: # Default to the client menu for any other role.
|
||||
menu = get_client_menu()
|
||||
|
||||
return welcome_message, menu
|
||||
|
||||
Reference in New Issue
Block a user