Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2020
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.79 KB | None | 0 0
  1.  
  2. from threading      import Lock
  3.  
  4. msg_lock = Lock()
  5. media_group_ignore = set()
  6.  
  7. with shelve.open('lineDB') as db:
  8.     app = Client("user", apiId, apiHash)
  9.  
  10.     @app.on_message(Filters.channel & ~Filters.edited)
  11.     def lineBot(Client, message):
  12.                     msg_lock.acquire()
  13.                     if msg.media_group_id:  
  14.                         if msg.media_group_id in media_group_ignore:
  15.                             return False
  16.                         else:
  17.                             media_group = []
  18.                             for media in app.iter_history(msg.chat.id, limit=10):
  19.                                 if msg.media_group_id == media.media_group_id:
  20.                                     caption = f'{msg.chat.title}\n{media.caption}' if media.caption else msg.chat.title
  21.                                     if media.photo:
  22.                                         media_group.append(InputMediaPhoto(media=media.photo.file_id, file_ref=media.photo.file_ref, caption=caption))
  23.                                     elif media.video:
  24.                                         media_group.append(InputMediaVideo(media=media.video.file_id, file_ref=media.video.file_ref, caption=caption))
  25.                            
  26.                             print('send')
  27.                             send(app, msg, msg_id, line, media_group, spam_chan)
  28.                             media_group = []
  29.                             media_group_ignore.add(msg.media_group_id)
  30.                             print(msg.chat.id, msg.message_id, media_group_ignore, msg.media_group_id)
  31.  
  32.                         if len(media_group_ignore) > 20: media_group_ignore.clear()
  33.                     else:
  34.                         send(app, msg, msg_id, line, msg_txt, spam_chan)
  35.                     msg_lock.release()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement