def get_until_date(chat_id, date): last_offset_id = 0 all_messages = [] while 1: try: messages = app.get_history( chat_id = chat_id, offset_id = last_offset_id ) last_offset_id = messages[-1].message_id for msg in messages: if msg.date >= date: all_messages.append(msg) else: break else: continue break except FloodWait as e: print(f"Sleeping for {e.x}") time.sleep(e.x) else: break return all_messages