From 2572b157115cb18dc23624d42b456e37e1a90bb1 Mon Sep 17 00:00:00 2001 From: Ekaropolus Date: Thu, 4 Sep 2025 20:06:28 -0600 Subject: [PATCH] Pepe Bot Adjustment to Satdium --- pxy_bots/handlers/handlers_citizen.py | 49 ++++++++++++++++++++++----- pxy_bots/handlers/handlers_city.py | 37 +++++++++++++++++--- pxy_bots/handlers/handlers_private.py | 43 ++++++++++++++++++++--- 3 files changed, 112 insertions(+), 17 deletions(-) diff --git a/pxy_bots/handlers/handlers_citizen.py b/pxy_bots/handlers/handlers_citizen.py index 48a9291..8ed766f 100644 --- a/pxy_bots/handlers/handlers_citizen.py +++ b/pxy_bots/handlers/handlers_citizen.py @@ -4,27 +4,60 @@ async def next_truck(update: Update): if update.message.location: lat, lon = update.message.location.latitude, update.message.location.longitude await update.message.reply_text( - f"🚛 El camión pasa por tu zona ({lat}, {lon}) mañana a las 8:00 AM.") + "🎮 *Modo Ruta Activado*\n" + "🏟️ Estadio Banorte — punto de control fijado.\n" + f"📍 Coordenadas: ({lat:.5f}, {lon:.5f})\n" + "🚛 Próximo camión para tu zona aparece *mañana a las 08:00 AM*.\n" + "💡 Tip: Mantén el área limpia para sumar Monedas Verdes.", + parse_mode="Markdown", + ) else: keyboard = [[KeyboardButton("📍 Enviar ubicación", request_location=True)]] markup = ReplyKeyboardMarkup(keyboard, resize_keyboard=True, one_time_keyboard=True) await update.message.reply_text( - "Mándame tu ubicación para decirte cuándo pasa el camión.", - reply_markup=markup) + "🏟️ *Estadio Banorte*\n" + "Para activar el *radar de camiones*, comparte tu ubicación dentro del estadio.\n" + "Toca el botón de abajo para fijar tu base.", + reply_markup=markup, + parse_mode="Markdown", + ) async def report_trash(update: Update): user_text = update.message.text - await update.message.reply_text(f"🌱 Calculé tu CO₂ por '{user_text}' y te di 5 Monedas Verdes. ¡Chido!") + await update.message.reply_text( + "🧹 *Misión registrada*\n" + f"“{user_text}”\n" + "🌱 CO₂ evitado estimado: *1.6 kg*\n" + "🪙 Recompensa: *+5 Monedas Verdes*\n" + "🎯 Racha activa: ¡sigue reportando para subir de nivel en Estadio Banorte!", + parse_mode="Markdown", + ) async def private_pickup(update: Update): if update.message.location: - await update.message.reply_text("🛵 ¡Pepe de la motito va en camino! Llega en 10 min.") + await update.message.reply_text( + "🛵 *Reco Privado invocado*\n" + "NPC *Pepe (la motito)* aceptó la misión.\n" + "⏱️ ETA: *10 min*\n" + "📌 Dirígete al punto indicado y prepara el material. ¡Buen trabajo, asistente!", + parse_mode="Markdown", + ) else: keyboard = [[KeyboardButton("📍 Enviar ubicación", request_location=True)]] markup = ReplyKeyboardMarkup(keyboard, resize_keyboard=True, one_time_keyboard=True) await update.message.reply_text( - "Mándame tu ubicación para buscar un reco privado.", - reply_markup=markup) + "🎯 Para solicitar *Reco Privado* dentro del *Estadio Banorte*, comparte tu ubicación.\n" + "Usa el botón de abajo para fijar tu punto.", + reply_markup=markup, + parse_mode="Markdown", + ) async def green_balance(update: Update): - await update.message.reply_text("💰 Llevas 23 Monedas Verdes acumuladas y evitaste 15 kg CO₂.") + await update.message.reply_text( + "📊 *Panel de Progreso — Estadio Banorte*\n" + "🪙 Monedas Verdes: *23*\n" + "🌱 CO₂ evitado: *15 kg*\n" + "🏅 Rango: *Asistente Bronce*\n" + "➡️ Completa misiones (reportes y entregas) para subir de rango.", + parse_mode="Markdown", + ) diff --git a/pxy_bots/handlers/handlers_city.py b/pxy_bots/handlers/handlers_city.py index 1f22db3..860784b 100644 --- a/pxy_bots/handlers/handlers_city.py +++ b/pxy_bots/handlers/handlers_city.py @@ -1,13 +1,42 @@ from telegram import Update async def next_route(update: Update): - await update.message.reply_text("🚛 Hoy te toca: Calle Reforma, Av. Juárez y Callejón Verde.") + await update.message.reply_text( + "🎮 *Modo Circuito Activo*\n" + "🏟️ *Estadio Banorte*\n" + "Tu circuito de hoy:\n" + "• Anillo *Concourse Norte* (Puertas 1–4)\n" + "• Lateral *Oriente* — Secciones 112–120\n" + "• Cabecera *Sur* — Zona Eco (TX-05, TX-06)\n" + "\n" + "Marca cada punto del circuito cuando llegues.\n" + "Comandos rápidos: ✅ */complete_stop* · 🚧 */missed_stop*", + parse_mode="Markdown", + ) async def complete_stop(update: Update): - await update.message.reply_text("✅ Parada marcada como recolectada. ¡Buen trabajo!") + await update.message.reply_text( + "✅ *Punto asegurado*\n" + "Se registró la recolección en la bitácora del *Estadio Banorte*.\n" + "🪙 Recompensa: *+2 Monedas Verdes*\n" + "🔥 Racha +1 — ¡sigue así, asistente!", + parse_mode="Markdown", + ) async def missed_stop(update: Update): - await update.message.reply_text("🚧 Parada marcada como NO recolectada.") + await update.message.reply_text( + "🚧 *Punto no recolectado*\n" + "Abrí una alerta leve para replanificar el circuito en el *gemelo digital*.\n" + "💡 Sugerencia: anexa foto y motivo en el reporte para conservar tu racha.", + parse_mode="Markdown", + ) async def my_eco_score(update: Update): - await update.message.reply_text("🌿 Llevas 120 Monedas Verdes este mes por tu eficiencia.") + await update.message.reply_text( + "📊 *Panel de Progreso — Estadio Banorte*\n" + "🪙 Monedas Verdes (mes): *120*\n" + "🌱 CO₂ evitado (estimado): *32 kg*\n" + "🏅 Rango: *Asistente Plata*\n" + "🎯 Tip: completa 5 puntos seguidos para activar el *Boost de Eficiencia*.", + parse_mode="Markdown", + ) diff --git a/pxy_bots/handlers/handlers_private.py b/pxy_bots/handlers/handlers_private.py index 78875de..9c4e2f1 100644 --- a/pxy_bots/handlers/handlers_private.py +++ b/pxy_bots/handlers/handlers_private.py @@ -1,16 +1,49 @@ from telegram import Update async def available_jobs(update: Update): - await update.message.reply_text("📝 Hay 2 chambas cerca: Calle Pino y Calle Limón.") + await update.message.reply_text( + "🎮 *Misiones disponibles — Estadio Banorte*\n" + "1) ♻️ *BIN-112* · Concourse *Norte* (Puerta 3) — Orgánico\n" + "2) 🧴 *ECO-TX06* · Cabecera *Sur* — Punto Eco (plásticos/papel)\n" + "\n" + "Usa */accept_job* para tomar la primera misión disponible.", + parse_mode="Markdown", + ) async def accept_job(update: Update): - await update.message.reply_text("👌 Chamba aceptada. Ve a Calle Pino 123.") + await update.message.reply_text( + "👌 *Misión aceptada*: *BIN-112*\n" + "📍 Dirígete a *Concourse Norte (Puerta 3)*\n" + "⏱️ ETA: *4 min a pie*\n" + "🎯 Objetivo: vacía contenedor orgánico y verifica tapa/bolsas.\n" + "Cuando termines, ejecuta */complete_pickup*.", + parse_mode="Markdown", + ) async def next_pickup(update: Update): - await update.message.reply_text("➡️ Tu siguiente recolección es en Calle Limón 45.") + await update.message.reply_text( + "➡️ *Siguiente objetivo*: *ECO-TX06*\n" + "🏟️ Ubicación: *Cabecera Sur — Zona Eco*\n" + "📦 Material esperado: plásticos y papel (bolsas azules)\n" + "💡 Tip: registra foto si ves rebose para sumar Monedas extra.", + parse_mode="Markdown", + ) async def complete_pickup(update: Update): - await update.message.reply_text("✅ ¡Recolección completada! Te ganaste 3 Monedas Verdes.") + await update.message.reply_text( + "✅ *Recolección completada*\n" + "🪙 Recompensa: *+3 Monedas Verdes*\n" + "🌱 CO₂ evitado (estimado): *0.9 kg*\n" + "🔥 Racha +1 — usa */next_pickup* para continuar el circuito.", + parse_mode="Markdown", + ) async def my_eco_score(update: Update): - await update.message.reply_text("🏆 Tienes 45 Monedas Verdes acumuladas este mes.") + await update.message.reply_text( + "🏆 *Progreso — Estadio Banorte*\n" + "🪙 Monedas Verdes (mes): *45*\n" + "🌱 CO₂ evitado (estimado): *12 kg*\n" + "🏅 Rango: *Asistente Bronce*\n" + "🎯 Objetivo del día: completa 3 misiones seguidas sin fallos para activar *Boost de Eficiencia*.", + parse_mode="Markdown", + )