warp-beacon 2.1.11__py3-none-any.whl → 2.1.12__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- __version__ = "2.1.11"
1
+ __version__ = "2.1.12"
2
2
 
@@ -146,12 +146,28 @@ class Bot(object):
146
146
 
147
147
  return []
148
148
 
149
+ def build_signature_caption(self, job: UploadJob) -> str:
150
+ caption = ""
151
+ if job.chat_type in (ChatType.GROUP, ChatType.SUPERGROUP):
152
+ if job.source_usename:
153
+ caption += f"Requested by **@{job.source_usename}**"
154
+ if job.source_usename and job.url:
155
+ caption += " | "
156
+ if job.url:
157
+ caption += f"[Source link]({job.url})"
158
+
159
+ return caption
160
+
149
161
  def build_tg_args(self, job: UploadJob) -> dict:
150
162
  args = {}
151
163
  if job.media_type == JobType.VIDEO:
152
164
  if job.tg_file_id:
153
165
  if job.placeholder_message_id:
154
- args["media"] = InputMediaVideo(media=job.tg_file_id.replace(":video", ''), supports_streaming=True)
166
+ args["media"] = InputMediaVideo(
167
+ media=job.tg_file_id.replace(":video", ''),
168
+ supports_streaming=True,
169
+ caption=self.build_signature_caption(job)
170
+ )
155
171
  else:
156
172
  args["video"] = job.tg_file_id.replace(":video", '')
157
173
  else:
@@ -162,7 +178,8 @@ class Bot(object):
162
178
  width=job.media_info["width"],
163
179
  height=job.media_info["height"],
164
180
  duration=round(job.media_info["duration"]),
165
- thumb=job.media_info["thumb"]
181
+ thumb=job.media_info["thumb"],
182
+ caption=self.build_signature_caption(job)
166
183
  )
167
184
  else:
168
185
  args["video"] = job.local_media_path
@@ -171,18 +188,23 @@ class Bot(object):
171
188
  args["height"] = job.media_info["height"]
172
189
  args["duration"] = round(job.media_info["duration"])
173
190
  args["thumb"] = job.media_info["thumb"]
191
+ args["caption"] = self.build_signature_caption(job)
174
192
 
175
193
  args["file_name"] = "downloaded_via_warp_beacon_bot%s" % (os.path.splitext(job.local_media_path)[-1])
176
194
  elif job.media_type == JobType.IMAGE:
177
195
  if job.tg_file_id:
178
196
  if job.placeholder_message_id:
179
- args["media"] = InputMediaPhoto(media=job.tg_file_id.replace(":image", ''))
197
+ args["media"] = InputMediaPhoto(
198
+ media=job.tg_file_id.replace(":image", ''),
199
+ caption=self.build_signature_caption(job)
200
+ )
180
201
  else:
181
202
  args["photo"] = job.tg_file_id.replace(":image", '')
182
203
  else:
183
204
  if job.placeholder_message_id:
184
205
  args["media"] = InputMediaPhoto(
185
- media=job.local_media_path
206
+ media=job.local_media_path,
207
+ caption=self.build_signature_caption(job)
186
208
  )
187
209
  else:
188
210
  args["photo"] = job.local_media_path
@@ -190,7 +212,8 @@ class Bot(object):
190
212
  if job.tg_file_id:
191
213
  if job.placeholder_message_id:
192
214
  args["media"] = InputMediaAudio(
193
- media=job.tg_file_id.replace(":audio", '')
215
+ media=job.tg_file_id.replace(":audio", ''),
216
+ caption=self.build_signature_caption(job)
194
217
  )
195
218
  else:
196
219
  args["audio"] = job.tg_file_id.replace(":audio", '')
@@ -202,6 +225,7 @@ class Bot(object):
202
225
  thumb=job.media_info["thumb"],
203
226
  duration=round(job.media_info["duration"]),
204
227
  title=job.canonical_name,
228
+ caption=self.build_signature_caption(job)
205
229
  )
206
230
  else:
207
231
  args["audio"] = job.local_media_path
@@ -209,6 +233,7 @@ class Bot(object):
209
233
  args["thumb"] = job.media_info["thumb"]
210
234
  args["duration"] = round(job.media_info["duration"])
211
235
  args["title"] = job.canonical_name
236
+ args["caption"] = self.build_signature_caption(job)
212
237
  #args["file_name"] = "%s%s" % (job.canonical_name, os.path.splitext(job.local_media_path)[-1]),
213
238
  elif job.media_type == JobType.ANIMATION:
214
239
  if job.tg_file_id:
@@ -225,7 +250,8 @@ class Bot(object):
225
250
  thumb=job.media_info["thumb"],
226
251
  duration=round(job.media_info["duration"]),
227
252
  width=job.media_info["width"],
228
- height=job.media_info["height"]
253
+ height=job.media_info["height"],
254
+ caption=self.build_signature_caption(job)
229
255
  )
230
256
  else:
231
257
  args["animation"] = job.local_media_path
@@ -233,6 +259,7 @@ class Bot(object):
233
259
  args["height"] = job.media_info["height"]
234
260
  args["duration"] = round(job.media_info["duration"])
235
261
  args["thumb"] = job.media_info["thumb"]
262
+ args["caption"] = self.build_signature_caption(job)
236
263
  elif job.media_type == JobType.COLLECTION:
237
264
  if job.tg_file_id:
238
265
  args["media"] = []
@@ -243,11 +270,11 @@ class Bot(object):
243
270
  ctype = JobType[mtype.upper()]
244
271
  ptr = None
245
272
  if ctype == JobType.VIDEO:
246
- ptr = InputMediaVideo(media=tg_id)
273
+ ptr = InputMediaVideo(media=tg_id, caption=self.build_signature_caption(job))
247
274
  elif ctype == JobType.IMAGE:
248
- ptr = InputMediaPhoto(media=tg_id)
275
+ ptr = InputMediaPhoto(media=tg_id, caption=self.build_signature_caption(job))
249
276
  elif ctype == JobType.ANIMATION:
250
- ptr = InputMediaAnimation(media=tg_id)
277
+ ptr = InputMediaAnimation(media=tg_id, caption=self.build_signature_caption(job))
251
278
  tg_chunk.append(ptr)
252
279
 
253
280
  args["media"].append(tg_chunk)
@@ -264,11 +291,13 @@ class Bot(object):
264
291
  height=j.media_info["height"],
265
292
  duration=round(j.media_info["duration"]),
266
293
  thumb=j.media_info["thumb"],
294
+ caption=self.build_signature_caption(job)
267
295
  )
268
296
  tg_chunk.append(vid)
269
297
  elif j.media_type == JobType.IMAGE:
270
298
  photo = InputMediaPhoto(
271
- media=j.local_media_path
299
+ media=j.local_media_path,
300
+ caption=self.build_signature_caption(job)
272
301
  )
273
302
  tg_chunk.append(photo)
274
303
  mediafs.append(tg_chunk)
@@ -276,15 +305,6 @@ class Bot(object):
276
305
 
277
306
  args["chat_id"] = job.chat_id
278
307
 
279
- if job.chat_type in (ChatType.GROUP, ChatType.SUPERGROUP):
280
- args["caption"] = ""
281
- if job.source_usename:
282
- args["caption"] += f"Requested by **@{job.source_usename}**"
283
- if job.source_usename and job.url:
284
- args["caption"] += " | "
285
- if job.url:
286
- args["caption"] += f"[Source link]({job.url})"
287
-
288
308
  # common args
289
309
  if job.placeholder_message_id and job.media_type is not JobType.COLLECTION:
290
310
  args["message_id"] = job.placeholder_message_id
@@ -343,7 +363,7 @@ class Bot(object):
343
363
  messages = await self.client.send_media_group(
344
364
  chat_id=job.chat_id,
345
365
  reply_to_message_id=job.message_id,
346
- media=media_chunk,
366
+ media=media_chunk
347
367
  )
348
368
  sent_messages += messages
349
369
  if job.media_collection:
@@ -390,7 +410,7 @@ class Bot(object):
390
410
 
391
411
  if job.chat_type in (ChatType.GROUP, ChatType.SUPERGROUP):
392
412
  try:
393
- self.client.delete_messages(job.chat_id, (job.message_id,))
413
+ await self.client.delete_messages(job.chat_id, (job.message_id,))
394
414
  except Exception as e:
395
415
  logging.warning("Failed to delete source message. Check bot permissions in Telegram chat settings.")
396
416
  logging.exception(e)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: warp_beacon
3
- Version: 2.1.11
3
+ Version: 2.1.12
4
4
  Summary: Telegram bot for expanding external media links
5
5
  Home-page: https://github.com/sb0y/warp_beacon
6
6
  Author: Andrey Bagrintsev
@@ -3,7 +3,7 @@ lib/systemd/system/warp_beacon.service,sha256=lPmHqLqcI2eIV7nwHS0qcALQrznixqJuww
3
3
  var/warp_beacon/accounts.json,sha256=rKFQM_b9eoDS4mJ1B_SZNolPLXx1SQdQMdY2F_ZcBt8,1523
4
4
  var/warp_beacon/placeholder.gif,sha256=cE5CGJVaop4Sx21zx6j4AyoHU0ncmvQuS2o6hJfEH88,6064
5
5
  warp_beacon/__init__.py,sha256=_rThNODmz0nDp_n4mWo_HKaNFE5jk1_7cRhHyYaencI,163
6
- warp_beacon/__version__.py,sha256=wiW76pTWCmfLdnpKj9UWKrYcKbwp4MO8rkgmyMKEM3Q,24
6
+ warp_beacon/__version__.py,sha256=fvnVLCMKtvzONpqcFCrZo4HrUEtArCwJghjH2toLovk,24
7
7
  warp_beacon/warp_beacon.py,sha256=7KEtZDj-pdhtl6m-zFLsSojs1ZR4o7L0xbqtdmYPvfE,342
8
8
  warp_beacon/compress/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  warp_beacon/compress/video.py,sha256=_PDMVYCyzLYxHv1uZmmzGcG_8rjaZr7BTXsXTTy_oS4,2846
@@ -32,14 +32,14 @@ warp_beacon/scraper/youtube/shorts.py,sha256=pHfvEBau8Zp7Ar3LBuPmjqYq8fmjJUQvzeZ
32
32
  warp_beacon/scraper/youtube/youtube.py,sha256=K98n2TSJaDZt-xT7mADZL1UEf2exIYm0Wnenn2GAYfI,2250
33
33
  warp_beacon/storage/__init__.py,sha256=8XsJXq9X7GDlTaWREF4W1PDX9PH5utwhjf5c5M8Bb7o,3378
34
34
  warp_beacon/telegram/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
- warp_beacon/telegram/bot.py,sha256=tJh3EbtrOebRG4fj1uh5CiJ8CUzjDywQGoSMlX-AK9s,13965
35
+ warp_beacon/telegram/bot.py,sha256=QTLNeOTMHOMs2W7mAY_ygVzxJu7N-IMBrBvPDHMLCCI,14789
36
36
  warp_beacon/telegram/handlers.py,sha256=8MeLgnhaucLc7ptsKV3NXecsGN7kItwrU5xIoJ1Eik8,6645
37
37
  warp_beacon/telegram/placeholder_message.py,sha256=u5kVfTjGmVYkwA5opniRltHXGpsdSxI41WEde8J5os0,6418
38
38
  warp_beacon/telegram/utils.py,sha256=LdCU4ChJHyzpCvyG5v3XcUtUgK3v5by_v8D56VsPeI0,2171
39
39
  warp_beacon/uploader/__init__.py,sha256=BQ5rli0soLf0FGqCpivVh9w6lyoGM10-ck2mUjnoOLU,4777
40
- warp_beacon-2.1.11.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
41
- warp_beacon-2.1.11.dist-info/METADATA,sha256=T9UzGN4gcYl_puYM0KXJGkI9C7C9uxY_FJi54dlyG0E,21251
42
- warp_beacon-2.1.11.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
43
- warp_beacon-2.1.11.dist-info/entry_points.txt,sha256=eSB61Rb89d56WY0O-vEIQwkn18J-4CMrJcLA_R_8h3g,119
44
- warp_beacon-2.1.11.dist-info/top_level.txt,sha256=ALb_Ft_eG-OY4_m0TWUifNUOZsrx483L-zw7G7vqXoc,971
45
- warp_beacon-2.1.11.dist-info/RECORD,,
40
+ warp_beacon-2.1.12.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
41
+ warp_beacon-2.1.12.dist-info/METADATA,sha256=QoScSZBGQfB8owQeFNd2Q0XDlcOecc9Kzt-3-Ur34J8,21251
42
+ warp_beacon-2.1.12.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
43
+ warp_beacon-2.1.12.dist-info/entry_points.txt,sha256=eSB61Rb89d56WY0O-vEIQwkn18J-4CMrJcLA_R_8h3g,119
44
+ warp_beacon-2.1.12.dist-info/top_level.txt,sha256=ALb_Ft_eG-OY4_m0TWUifNUOZsrx483L-zw7G7vqXoc,971
45
+ warp_beacon-2.1.12.dist-info/RECORD,,