diff --git a/conjuntasbot/conjuntasbot.py b/conjuntasbot/conjuntasbot.py
index 6194236..2dff98d 100644
--- a/conjuntasbot/conjuntasbot.py
+++ b/conjuntasbot/conjuntasbot.py
@@ -387,7 +387,8 @@ async def update_conjunta(update: Update, context: CallbackContext, conjunta_id)
if conjunta:
conjunta_id, message_id_general, message_id_vip, product_name, product_description, limit, limit_per_user, price, price_member, closed, photo_id, message_date = conjunta
- message = f"Conjunta para 🛒 {product_name}\n\n"
+ message = f'📖 Normas de conjuntas 📖\n\n'
+ message += f"Conjunta para 🛒 {product_name}\n\n"
if limit:
message += f"#️⃣ Límite de {limit} productos.\n"
message += f"#️⃣ Límite de {limit_per_user} por usuario.\n"
@@ -402,7 +403,8 @@ async def update_conjunta(update: Update, context: CallbackContext, conjunta_id)
message += f"\n💰 Precio para socios: {price_member}€\n"
message += f"💰 Precio para NO socios: {price}€\n"
message += f"\nPuedes unirte respondiendo a este mensaje con me apunto {{cantidad}}, en números.\n"
- message += f"Para borrarte responde a este mensaje y di me borro.\n"
+ message += f"Para borrarte responde a este mensaje y di me borro.\n\n"
+ message += f'📖 Normas de conjuntas 📖\n'
cursor.execute("SELECT * FROM conjunta_users WHERE conjunta_id=?", (conjunta_id,))
users = cursor.fetchall()
@@ -416,7 +418,7 @@ async def update_conjunta(update: Update, context: CallbackContext, conjunta_id)
if int(message_id_vip) != 0:
if (int(time.time()) - int(message_date)) < (24 * 3600 * 2): # borramos el mensaje si tiene más de 1 día
- logging.info(f"Updating message for {product_name} - {conjunta_id}")
+ logging.info(f"Updating message for {product_name} - {conjunta_id} in vip group")
try:
await context.bot.edit_message_caption(chat_id=vip_group_chat_id, message_id=message_id_vip, caption=message, parse_mode=ParseMode.HTML)
except Exception as e:
@@ -446,7 +448,7 @@ async def update_conjunta(update: Update, context: CallbackContext, conjunta_id)
if int(message_id_general) != 0: # si existe un mensaje en el chat general, comprobamos y actualizamos
if (int(time.time()) - int(message_date)) < (24 * 3600 * 2): # borramos el mensaje si tiene más de 1 día
- logging.info(f"Updating message for {product_name} - {conjunta_id}")
+ logging.info(f"Updating message for {product_name} - {conjunta_id} in general group")
try:
await context.bot.edit_message_caption(chat_id=general_group_chat_id, message_id=message_id_general, caption=message, parse_mode=ParseMode.HTML)
except Exception as e:
@@ -476,10 +478,8 @@ async def handle_conjunta(update: Update, context: CallbackContext):
logging.info(f"{user_name} replied to message {reply_message_id} in group {group_id}")
if group_id == int(general_group_chat_id):
- logging.info(f"Retrieving data for general group")
cursor.execute("SELECT id, message_id_general, message_id_vip, product_name, product_description, limite, limit_per_user, price, price_member, closed, photo_id, message_date FROM conjuntas WHERE message_id_general=?", (reply_message_id,))
elif group_id == int(vip_group_chat_id):
- logging.info(f"Retrieving data for vip group")
cursor.execute("SELECT id, message_id_general, message_id_vip, product_name, product_description, limite, limit_per_user, price, price_member, closed, photo_id, message_date FROM conjuntas WHERE message_id_vip=?", (reply_message_id,))
conjunta = cursor.fetchone()
@@ -502,7 +502,7 @@ async def handle_conjunta(update: Update, context: CallbackContext):
conn.commit()
worksheet = spreadsheet.worksheet(f"{product_name} - {conjunta_id}")
- found_cell = worksheet.find(user_name)
+ found_cell = worksheet.find(user_name, case_sensitive=False)
if found_cell:
worksheet.delete_rows(found_cell.row)
@@ -545,7 +545,7 @@ async def handle_conjunta(update: Update, context: CallbackContext):
conn.commit()
socios_worksheet = spreadsheet.worksheet("Socios")
- socio = socios_worksheet.find(user_name)
+ socio = socios_worksheet.find(user_name, case_sensitive=False)
worksheet = spreadsheet.worksheet(f"{product_name} - {conjunta_id}")
worksheet.append_row([user_name, quantity, "SÍ" if socio else "NO"])
@@ -576,7 +576,7 @@ async def handle_conjunta(update: Update, context: CallbackContext):
logging.error(f"Error handling message: {e}")
async def close_conjunta(update: Update, context: CallbackContext):
- user_id = update.effective_user.id
+ message_user_id = update.effective_user.id
query = update.callback_query
await query.answer(text="Cerrando conjunta")
await query.edit_message_reply_markup(None)
@@ -589,10 +589,11 @@ async def close_conjunta(update: Update, context: CallbackContext):
if conjunta:
conjunta_id, message_id_general, message_id_vip, product_name, product_description, limit, limit_per_user, price, price_member, closed, photo_id, message_date = conjunta
- if user_id in admin_ids:
+ if message_user_id in admin_ids:
cursor.execute("UPDATE conjuntas SET closed=1 WHERE id=?", (conjunta_id,))
conn.commit()
message = f"La conjunta para {product_name} ha sido cerrada.\n"
+ message_public = f"La conjunta para {product_name} ha sido cerrada.\n"
message += f"La lista de apuntados es la siguiente:\n\n"
cursor.execute("SELECT * FROM conjunta_users WHERE conjunta_id = ?", (conjunta_id,))
@@ -607,22 +608,24 @@ async def close_conjunta(update: Update, context: CallbackContext):
message += f"\n💰 Precio para socios: {price_member}€\n"
message += f"💰 Precio para NO socios: {price}€\n"
- await context.bot.send_message(chat_id=vip_group_chat_id, text=message, parse_mode=ParseMode.HTML)
+ await context.bot.send_message(chat_id=vip_group_chat_id, text=message_public, parse_mode=ParseMode.HTML)
# Desanclamos el mensaje del grupo vip
await context.bot.unpin_chat_message(vip_group_chat_id, message_id_vip)
if message_id_general != 0:
- await context.bot.send_message(chat_id=general_group_chat_id, text=message, parse_mode=ParseMode.HTML)
+ await context.bot.send_message(chat_id=general_group_chat_id, text=message_public, parse_mode=ParseMode.HTML)
# Desanclamos el mensaje del grupo general
await context.bot.unpin_chat_message(general_group_chat_id, message_id_general)
- await context.bot.send_message(chat_id=user_id, text=f"La conjunta para {product_name} ha sido cerrada correctamente.")
+ await context.bot.send_message(chat_id=message_user_id, text=f"La conjunta para {product_name} ha sido cerrada correctamente.")
+
+ send_message_to_admins(message)
else:
- await context.bot.send_message(chat_id=user_id, text="Solo el administrador puede cerrar la conjunta.")
+ await context.bot.send_message(chat_id=message_user_id, text="Solo el administrador puede cerrar la conjunta.")
else:
- await context.bot.send_message(chat_id=user_id, text="La conjunta no existe.")
+ await context.bot.send_message(chat_id=message_user_id, text="La conjunta no existe.")
async def general_conjunta(update: Update, context: CallbackContext):
user_id = update.effective_user.id
@@ -732,7 +735,8 @@ async def show_conjunta_details(update: Update, context: CallbackContext):
url = spreadsheet.worksheet(f"{product_name} - {conjunta_id}").url
selected_conjunta_details += f"\n💻 URL en Google Sheets\n"
- await context.bot.send_photo(chat_id=update.effective_chat.id, photo=photo_id, caption=selected_conjunta_details, parse_mode=ParseMode.HTML)
+ await context.bot.send_photo(chat_id=update.effective_chat.id, photo=photo_id, caption=product_name, parse_mode=ParseMode.HTML)
+ await context.bot.send_message(chat_id=update.effective_chat.id, text=selected_conjunta_details, parse_mode=ParseMode.HTML)
# Función para enviar un mensaje a todos los administradores
async def send_message_to_admins(update: Update, context: CallbackContext, message):