Cxops commited on
Commit
84e557a
·
verified ·
1 Parent(s): 5d1a3df

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -8
app.py CHANGED
@@ -660,9 +660,6 @@ async def process_album_group(media_group_id: str):
660
  if token:
661
  # Will be handled separately
662
  data['msg_id'] = msg_id # store msg_id for later use
663
- # Don't send prompt here, we'll do it after
664
- # We'll add to a list and process later
665
- pass
666
  else:
667
  non_dup.append((msg_id, filename, file_id, size))
668
 
@@ -958,7 +955,15 @@ async def cb_dup_keep(_, query: CallbackQuery):
958
  data = duplicate_prompt_map.pop(token, None)
959
  if not data:
960
  return await query.answer("This prompt is no longer valid.", show_alert=True)
961
- # Rename the file to avoid collision
 
 
 
 
 
 
 
 
962
  base, ext = os.path.splitext(data['orig_filename'])
963
  new_filename = f"{base}_1{ext}"
964
  job_id = data['job_id']
@@ -966,7 +971,7 @@ async def cb_dup_keep(_, query: CallbackQuery):
966
  await upload_queue.put((
967
  data['user_id'],
968
  data['chat_id'],
969
- data['file_obj'],
970
  new_filename,
971
  job_id,
972
  data['file_id'],
@@ -1058,8 +1063,12 @@ async def cb_upload(_, query: CallbackQuery):
1058
  )
1059
  continue
1060
  else:
1061
- # Remote file: (user_id, file_id, filename, expected_size)
1062
- file_id, filename, expected_size = entry[1], entry[2], entry[3] if len(entry) == 4 else (entry[1], entry[2], None)
 
 
 
 
1063
  limit_err = check_file_size_limit(filename, expected_size)
1064
  if limit_err:
1065
  await query.message.reply_text(limit_err)
@@ -1102,7 +1111,12 @@ async def cb_upload_all(_, query: CallbackQuery):
1102
  )
1103
  continue
1104
  else:
1105
- file_id, filename, expected_size = entry[1], entry[2], entry[3] if len(entry) == 4 else (entry[1], entry[2], None)
 
 
 
 
 
1106
  limit_err = check_file_size_limit(filename, expected_size)
1107
  if limit_err:
1108
  await query.message.reply_text(limit_err)
 
660
  if token:
661
  # Will be handled separately
662
  data['msg_id'] = msg_id # store msg_id for later use
 
 
 
663
  else:
664
  non_dup.append((msg_id, filename, file_id, size))
665
 
 
955
  data = duplicate_prompt_map.pop(token, None)
956
  if not data:
957
  return await query.answer("This prompt is no longer valid.", show_alert=True)
958
+
959
+ # FIXED: If file_obj is None (from album prompt), retrieve the actual message
960
+ file_obj = data.get('file_obj')
961
+ if file_obj is None:
962
+ try:
963
+ file_obj = await app.get_messages(data['chat_id'], data['msg_id'])
964
+ except Exception:
965
+ return await query.answer("Original message no longer available.", show_alert=True)
966
+
967
  base, ext = os.path.splitext(data['orig_filename'])
968
  new_filename = f"{base}_1{ext}"
969
  job_id = data['job_id']
 
971
  await upload_queue.put((
972
  data['user_id'],
973
  data['chat_id'],
974
+ file_obj,
975
  new_filename,
976
  job_id,
977
  data['file_id'],
 
1063
  )
1064
  continue
1065
  else:
1066
+ # FIXED: Correctly handle remote file entries
1067
+ if len(entry) == 4:
1068
+ file_id, filename, expected_size = entry[1], entry[2], entry[3]
1069
+ else:
1070
+ file_id, filename = entry[1], entry[2]
1071
+ expected_size = None
1072
  limit_err = check_file_size_limit(filename, expected_size)
1073
  if limit_err:
1074
  await query.message.reply_text(limit_err)
 
1111
  )
1112
  continue
1113
  else:
1114
+ # FIXED: Correctly handle remote file entries
1115
+ if len(entry) == 4:
1116
+ file_id, filename, expected_size = entry[1], entry[2], entry[3]
1117
+ else:
1118
+ file_id, filename = entry[1], entry[2]
1119
+ expected_size = None
1120
  limit_err = check_file_size_limit(filename, expected_size)
1121
  if limit_err:
1122
  await query.message.reply_text(limit_err)