Fixed unlimited conjuntas

This commit is contained in:
Joan
2024-02-11 19:47:44 +01:00
parent 792ee49593
commit 4b30aa30f5

View File

@@ -367,12 +367,15 @@ def quantity_left(conjunta_id):
cursor.execute("SELECT limite FROM conjuntas WHERE id = ?", (conjunta_id,)) cursor.execute("SELECT limite FROM conjuntas WHERE id = ?", (conjunta_id,))
limit = cursor.fetchone()[0] limit = cursor.fetchone()[0]
cursor.execute("SELECT quantity FROM conjunta_users WHERE conjunta_id = ?", (conjunta_id,)) if limit:
total_quantity = 0 cursor.execute("SELECT quantity FROM conjunta_users WHERE conjunta_id = ?", (conjunta_id,))
for quantity in cursor.fetchall(): total_quantity = 0
total_quantity += quantity[0] for quantity in cursor.fetchall():
total_quantity += quantity[0]
return limit - total_quantity return limit - total_quantity
else:
return 1000
# Función para actualizar la cantidad el anclado # Función para actualizar la cantidad el anclado
async def update_conjunta(update: Update, context: CallbackContext, conjunta_id): async def update_conjunta(update: Update, context: CallbackContext, conjunta_id):
@@ -394,8 +397,8 @@ async def update_conjunta(update: Update, context: CallbackContext, conjunta_id)
else: else:
message += f"✅ No hay límite de productos por usuario.\n" message += f"✅ No hay límite de productos por usuario.\n"
message += f"\n🗒️ {product_description}\n" message += f"\n🗒️ {product_description}\n"
message += f"\n💰 Precio para socios: <b>{price_member}€</b> (envío incluido)\n" message += f"\n💰 Precio para socios: <b>{price_member}€</b>\n"
message += f"💰 Precio para NO socios: <b>{price}€</b> (envío a parte)\n" message += f"💰 Precio para NO socios: <b>{price}€</b>\n"
message += f"\nPuedes unirte respondiendo a este mensaje con <code>me apunto {{cantidad}}</code>, en números.\n" message += f"\nPuedes unirte respondiendo a este mensaje con <code>me apunto {{cantidad}}</code>, en números.\n"
message += f"Para borrarte responde a este mensaje y di <code>me borro</code>.\n" message += f"Para borrarte responde a este mensaje y di <code>me borro</code>.\n"
@@ -506,7 +509,9 @@ async def handle_conjunta(update: Update, context: CallbackContext):
my_quantity_left = quantity_left(conjunta_id) my_quantity_left = quantity_left(conjunta_id)
quantity_string = "unidades" if my_quantity_left > 1 else "unidad" quantity_string = "unidades" if my_quantity_left > 1 else "unidad"
message = f"Te has unido a la conjunta para '{product_name}' con {quantity} {quantity_string}." message = f"Te has unido a la conjunta para '{product_name}' con {quantity} {quantity_string}."
if my_quantity_left > 0: if not limit:
message += f"\n\n¡Todavía quedan unidades disponibles!"
elif my_quantity_left > 0:
message += f"\n\n¡Todavía quedan {my_quantity_left} {quantity_string} disponibles!" message += f"\n\n¡Todavía quedan {my_quantity_left} {quantity_string} disponibles!"
else: else:
message += f"\n\n¡Ya no quedan unidades disponibles!" message += f"\n\n¡Ya no quedan unidades disponibles!"
@@ -555,8 +560,8 @@ async def close_conjunta(update: Update, context: CallbackContext):
message += "</code>" message += "</code>"
message += f"\n\n🗒️ <b>{product_description}</b>\n" message += f"\n\n🗒️ <b>{product_description}</b>\n"
message += f"\n💰 Precio para socios: <b>{price_member}€</b> (envío incluido)\n" message += f"\n💰 Precio para socios: <b>{price_member}€</b>\n"
message += f"💰 Precio para NO socios: <b>{price}€</b> (envío a parte)\n" message += f"💰 Precio para NO socios: <b>{price}€</b>\n"
await context.bot.send_message(chat_id=group_chat_id, text=message, parse_mode=ParseMode.HTML) await context.bot.send_message(chat_id=group_chat_id, text=message, parse_mode=ParseMode.HTML)