/* 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; class PhotoData; class DocumentData; struct FilePrepareResult; namespace Data { struct InputVenue; } // namespace Data namespace Main { class Session; } // namespace Main namespace Api { struct MessageToSend; struct SendAction; void SendExistingDocument( MessageToSend &&message, not_null document, std::optional localMessageId = std::nullopt); void SendExistingPhoto( MessageToSend &&message, not_null photo, std::optional localMessageId = std::nullopt); bool SendDice(MessageToSend &message); // We can't create Data::LocationPoint() and use it // for a local sending message, because we can't request // map thumbnail in messages history without access hash. void SendLocation(SendAction action, float64 lat, float64 lon); void SendVenue(SendAction action, Data::InputVenue venue); void FillMessagePostFlags( const SendAction &action, not_null peer, MessageFlags &flags); void SendConfirmedFile( not_null session, const std::shared_ptr &file); } // namespace Api