tdesktop/Telegram/SourceFiles/api/api_common.h

60 lines
1.1 KiB
C
Raw Normal View History

/*
This file is part of Telegram Desktop,
the official desktop application for the Telegram messaging service.
For license and copyright information please follow this link:
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/
#pragma once
class History;
namespace Api {
struct SendOptions {
2021-11-09 15:24:13 +00:00
PeerData *sendAs = nullptr;
TimeId scheduled = 0;
bool silent = false;
bool handleSupportSwitch = false;
bool removeWebPageId = false;
};
2019-08-20 13:21:10 +00:00
enum class SendType {
Normal,
Scheduled,
ScheduledToUser, // For "Send when online".
2019-08-20 13:21:10 +00:00
};
struct SendAction {
2021-11-09 15:24:13 +00:00
explicit SendAction(
not_null<History*> history,
SendOptions options = SendOptions())
: history(history)
, options(options) {
}
not_null<History*> history;
SendOptions options;
MsgId replyTo = 0;
bool clearDraft = true;
bool generateLocal = true;
MsgId replaceMediaOf = 0;
};
struct MessageToSend {
2021-11-09 15:24:13 +00:00
explicit MessageToSend(SendAction action) : action(action) {
}
SendAction action;
TextWithTags textWithTags;
WebPageId webPageId = 0;
};
struct RemoteFileInfo {
MTPInputFile file;
std::optional<MTPInputFile> thumb;
std::vector<MTPInputDocument> attachedStickers;
};
} // namespace Api