// This is the source code of AyuGram for Desktop. // // We do not and cannot prevent the use of our code, // but be respectful and credit the original author. // // Copyright @Radolyn, 2025 #pragma once #include "apiwrap.h" #include "base/random.h" #include "data/data_document.h" #include "data/data_media_types.h" #include "data/data_photo.h" #include "history/history_item.h" #include "storage/file_download.h" #include "storage/file_upload.h" #include "storage/storage_account.h" #include "ui/chat/attach/attach_prepare.h" namespace AyuSync { QString pathForSave(not_null session); QString filePath(not_null session, const Data::Media *media); void loadDocuments(not_null session, const std::vector> &items); bool isMediaDownloadable(Data::Media *media); void sendMessageSync(not_null session, Api::MessageToSend &message); void sendDocumentSync(not_null session, Ui::PreparedGroup &group, SendMediaType type, TextWithTags &&caption, const Api::SendAction &action); void sendStickerSync(not_null session, Api::MessageToSend &message, not_null document); void waitForMsgSync(not_null session, const Api::SendAction &action); void loadPhotoSync(not_null session, const std::pair, FullMsgId> &photos); void loadDocumentSync(not_null session, DocumentData *data, not_null item); void forwardMessagesSync(not_null session, const std::vector> &items, const ApiWrap::SendAction &action, Data::ForwardOptions options); void sendVoiceSync(not_null session, const QByteArray &data, int64_t duration, bool video, const Api::SendAction &action); }