Pepe Bot Adjustment to Satdium
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Ekaropolus 2025-09-04 20:06:28 -06:00
parent fe8eb7a214
commit 2572b15711
3 changed files with 112 additions and 17 deletions

View File

@ -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",
)

View File

@ -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 14)\n"
"• Lateral *Oriente* — Secciones 112120\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",
)

View File

@ -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",
)