import config def login(user_id, du, db): user_id = int(user_id) if not du.user_exists(user_id): du.add_user(user_id) user_id = du.get_user_id(user_id) if not db.infoUser_exists(user_id): db.add_infoUser(user_id) return user_id def pars_post(types, output): media, video, url, audio, poll, link = [], [], [], [], [], [] for group in output[0]: if group[0] == "poll": poll = group[1] elif group[0] == "link": link.append(group[1]) elif group[0] == "video": video.append(group[1]) elif group[0] == "doc" and group[1][2] != 4: url.append([group[1][0], group[1][1], group[1][3]]) elif group[0] == "audio": audio.append(types.InputMediaAudio( media=group[1][1], caption=f"Название: {group[1][0]} / Автор: {group[1][2]}")) if output[1] != "": post = [elem_2 for elem_1 in output[1].split("[") for elem_2 in elem_1.split("]")] for i, elem in enumerate(post): if "|" in elem and i != 0: elem = elem.split("|") post[i] = f"{elem[1]}" text = f"{output[2]}\n\n{''.join(post)}\n" else: text = f"{output[2]}\n" if poll: text += f"\n> Проводиться {config.anonymous[poll[3]]} {config.unvote[poll[2]]}! Вопрос: {poll[0]} [{poll[1]}]\n" text += ''.join([f'{i + 1}. Ответ: {ans[0]} [{ans[1]}]\n' for i, ans in enumerate(poll[4])]) + "\n" if video: for frame in video: text += f"\nВидео « {frame[0]} »\n" k, dura = 0, frame[1] while k < 1: if dura > 60: dura = dura // 60; k += 1 else: break text += f"Длительность: {dura} {config.dura[k]}; Лайков: {frame[2]};\n" if url: for data in url: k, dt = 0, data[2] while True: if dt > 1024: dt = dt // 1024; k += 1 else: break text += f"\nДокумент - [ {data[0]} ({dt} {config.data[k]}) ]" text += "\n" if link: text += ''.join([f"\nСсылка - [ [{s[0]}]({s[1]}) ]" for s in link]) + "\n" if audio: text += '\n« Также присутствуют аудио файлы »' for i, group in enumerate(output[0]): if group[0] == "photo": if i: media.append(types.InputMediaPhoto(media=group[1])) else: media.append(types.InputMediaPhoto(media=group[1], caption=text)) elif group[0] == "video": if i: media.append(types.InputMediaPhoto(media=group[1][3])) else: media.append(types.InputMediaPhoto(media=group[1][3], caption=text)) elif group[0] == "doc": if group[1][2] == 4: if i: media.append(types.InputMediaPhoto(media=group[1][1])) else: media.append(types.InputMediaPhoto(media=group[1][1], caption=text)) return text, audio, media