Pepe Bot Adjustment to Satdium
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
fe8eb7a214
commit
2572b15711
@ -4,27 +4,60 @@ async def next_truck(update: Update):
|
|||||||
if update.message.location:
|
if update.message.location:
|
||||||
lat, lon = update.message.location.latitude, update.message.location.longitude
|
lat, lon = update.message.location.latitude, update.message.location.longitude
|
||||||
await update.message.reply_text(
|
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:
|
else:
|
||||||
keyboard = [[KeyboardButton("📍 Enviar ubicación", request_location=True)]]
|
keyboard = [[KeyboardButton("📍 Enviar ubicación", request_location=True)]]
|
||||||
markup = ReplyKeyboardMarkup(keyboard, resize_keyboard=True, one_time_keyboard=True)
|
markup = ReplyKeyboardMarkup(keyboard, resize_keyboard=True, one_time_keyboard=True)
|
||||||
await update.message.reply_text(
|
await update.message.reply_text(
|
||||||
"Mándame tu ubicación para decirte cuándo pasa el camión.",
|
"🏟️ *Estadio Banorte*\n"
|
||||||
reply_markup=markup)
|
"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):
|
async def report_trash(update: Update):
|
||||||
user_text = update.message.text
|
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):
|
async def private_pickup(update: Update):
|
||||||
if update.message.location:
|
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:
|
else:
|
||||||
keyboard = [[KeyboardButton("📍 Enviar ubicación", request_location=True)]]
|
keyboard = [[KeyboardButton("📍 Enviar ubicación", request_location=True)]]
|
||||||
markup = ReplyKeyboardMarkup(keyboard, resize_keyboard=True, one_time_keyboard=True)
|
markup = ReplyKeyboardMarkup(keyboard, resize_keyboard=True, one_time_keyboard=True)
|
||||||
await update.message.reply_text(
|
await update.message.reply_text(
|
||||||
"Mándame tu ubicación para buscar un reco privado.",
|
"🎯 Para solicitar *Reco Privado* dentro del *Estadio Banorte*, comparte tu ubicación.\n"
|
||||||
reply_markup=markup)
|
"Usa el botón de abajo para fijar tu punto.",
|
||||||
|
reply_markup=markup,
|
||||||
|
parse_mode="Markdown",
|
||||||
|
)
|
||||||
|
|
||||||
async def green_balance(update: Update):
|
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",
|
||||||
|
)
|
||||||
|
@ -1,13 +1,42 @@
|
|||||||
from telegram import Update
|
from telegram import Update
|
||||||
|
|
||||||
async def next_route(update: 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):
|
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):
|
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):
|
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",
|
||||||
|
)
|
||||||
|
@ -1,16 +1,49 @@
|
|||||||
from telegram import Update
|
from telegram import Update
|
||||||
|
|
||||||
async def available_jobs(update: 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):
|
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):
|
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):
|
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):
|
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",
|
||||||
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user