mirror of
https://github.com/wiz0u/WTelegramClient.git
synced 2025-12-06 06:52:01 +01:00
MessageMedia.ToInputMedia helper
This commit is contained in:
parent
3f3ff4cb9b
commit
a071c993d5
2
.github/dev.yml
vendored
2
.github/dev.yml
vendored
|
|
@ -2,7 +2,7 @@ pr: none
|
||||||
trigger:
|
trigger:
|
||||||
- master
|
- master
|
||||||
|
|
||||||
name: 2.6.3-dev.$(Rev:r)
|
name: 2.6.4-dev.$(Rev:r)
|
||||||
|
|
||||||
pool:
|
pool:
|
||||||
vmImage: ubuntu-latest
|
vmImage: ubuntu-latest
|
||||||
|
|
|
||||||
|
|
@ -208,6 +208,21 @@ namespace TL
|
||||||
partial class ChatParticipantsForbidden { public override ChatParticipantBase[] Participants => Array.Empty<ChatParticipantBase>(); }
|
partial class ChatParticipantsForbidden { public override ChatParticipantBase[] Participants => Array.Empty<ChatParticipantBase>(); }
|
||||||
partial class ChatParticipants { public override ChatParticipantBase[] Participants => participants; }
|
partial class ChatParticipants { public override ChatParticipantBase[] Participants => participants; }
|
||||||
|
|
||||||
|
partial class MessageMedia { ///<summary>Use this helper method to send a copy of the media without downloading it</summary>
|
||||||
|
///<remarks>Quiz poll may need to be voted before obtaining the correct answers. Dice will not replicate same value.<br/>May return <see langword="null"/> for Invoice and other unsupported media types</remarks>
|
||||||
|
public virtual InputMedia ToInputMedia() => null; }
|
||||||
|
partial class MessageMediaPhoto { public override InputMedia ToInputMedia() => new InputMediaPhoto { id = photo }; }
|
||||||
|
partial class MessageMediaGeo { public override InputMedia ToInputMedia() => new InputMediaGeoPoint { geo_point = geo }; }
|
||||||
|
partial class MessageMediaContact { public override InputMedia ToInputMedia() => new InputMediaContact { first_name = first_name, last_name = last_name, phone_number = phone_number, vcard = vcard }; }
|
||||||
|
partial class MessageMediaDocument { public override InputMedia ToInputMedia() => new InputMediaDocument { id = document }; }
|
||||||
|
partial class MessageMediaVenue { public override InputMedia ToInputMedia() => new InputMediaVenue { geo_point = geo, title = title, address = address, provider = provider, venue_id = venue_id, venue_type = venue_type }; }
|
||||||
|
partial class MessageMediaGame { public override InputMedia ToInputMedia() => new InputMediaGame { id = game }; }
|
||||||
|
partial class MessageMediaGeoLive { public override InputMedia ToInputMedia() => new InputMediaGeoLive { geo_point = geo, heading = heading, period = period, proximity_notification_radius = proximity_notification_radius,
|
||||||
|
flags = (period != 0 ? InputMediaGeoLive.Flags.has_period : 0) | (flags.HasFlag(Flags.has_heading) ? InputMediaGeoLive.Flags.has_heading : 0) | (flags.HasFlag(Flags.has_proximity_notification_radius) ? InputMediaGeoLive.Flags.has_proximity_notification_radius : 0) }; }
|
||||||
|
partial class MessageMediaPoll { public override InputMedia ToInputMedia() => new InputMediaPoll { poll = poll, correct_answers = results.results?.Where(pav => pav.flags.HasFlag(PollAnswerVoters.Flags.correct)).Select(pav => pav.option).ToArray(), solution = results.solution, solution_entities = results.solution_entities,
|
||||||
|
flags = (results.results != null ? InputMediaPoll.Flags.has_correct_answers : 0) | (results.solution != null ? InputMediaPoll.Flags.has_solution : 0) }; }
|
||||||
|
partial class MessageMediaDice { public override InputMedia ToInputMedia() => new InputMediaDice { emoticon = emoticon }; }
|
||||||
|
|
||||||
partial class PhotoBase
|
partial class PhotoBase
|
||||||
{
|
{
|
||||||
public abstract long ID { get; }
|
public abstract long ID { get; }
|
||||||
|
|
@ -287,7 +302,12 @@ namespace TL
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public partial class InputMediaUploadedDocument
|
partial class GeoPoint
|
||||||
|
{
|
||||||
|
public static implicit operator InputGeoPoint(GeoPoint geo) => new() { lat = geo.lat, lon = geo.lon, accuracy_radius = geo.accuracy_radius, flags = (InputGeoPoint.Flags)geo.flags };
|
||||||
|
}
|
||||||
|
|
||||||
|
partial class InputMediaUploadedDocument
|
||||||
{
|
{
|
||||||
public InputMediaUploadedDocument() { }
|
public InputMediaUploadedDocument() { }
|
||||||
public InputMediaUploadedDocument(InputFileBase inputFile, string mimeType)
|
public InputMediaUploadedDocument(InputFileBase inputFile, string mimeType)
|
||||||
|
|
@ -495,7 +515,8 @@ namespace TL
|
||||||
|
|
||||||
partial class Messages_PeerDialogs { public IPeerInfo UserOrChat(DialogBase dialog) => dialog.Peer?.UserOrChat(users, chats); }
|
partial class Messages_PeerDialogs { public IPeerInfo UserOrChat(DialogBase dialog) => dialog.Peer?.UserOrChat(users, chats); }
|
||||||
|
|
||||||
partial class WebDocument { public static implicit operator InputWebFileLocation(WebDocument doc) => new() { url = doc.url, access_hash = doc.access_hash }; }
|
partial class Game { public static implicit operator InputGameID(Game game) => new() { id = game.id, access_hash = game.access_hash }; }
|
||||||
|
partial class WebDocument { public static implicit operator InputWebFileLocation(WebDocument doc) => new() { url = doc.url, access_hash = doc.access_hash }; }
|
||||||
|
|
||||||
partial class InputMessage
|
partial class InputMessage
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1673,10 +1673,10 @@ namespace TL
|
||||||
|
|
||||||
/// <summary>Media <para>Derived classes: <see cref="MessageMediaPhoto"/>, <see cref="MessageMediaGeo"/>, <see cref="MessageMediaContact"/>, <see cref="MessageMediaUnsupported"/>, <see cref="MessageMediaDocument"/>, <see cref="MessageMediaWebPage"/>, <see cref="MessageMediaVenue"/>, <see cref="MessageMediaGame"/>, <see cref="MessageMediaInvoice"/>, <see cref="MessageMediaGeoLive"/>, <see cref="MessageMediaPoll"/>, <see cref="MessageMediaDice"/></para> <para>See <a href="https://corefork.telegram.org/type/MessageMedia"/></para></summary>
|
/// <summary>Media <para>Derived classes: <see cref="MessageMediaPhoto"/>, <see cref="MessageMediaGeo"/>, <see cref="MessageMediaContact"/>, <see cref="MessageMediaUnsupported"/>, <see cref="MessageMediaDocument"/>, <see cref="MessageMediaWebPage"/>, <see cref="MessageMediaVenue"/>, <see cref="MessageMediaGame"/>, <see cref="MessageMediaInvoice"/>, <see cref="MessageMediaGeoLive"/>, <see cref="MessageMediaPoll"/>, <see cref="MessageMediaDice"/></para> <para>See <a href="https://corefork.telegram.org/type/MessageMedia"/></para></summary>
|
||||||
/// <remarks>a <c>null</c> value means <a href="https://corefork.telegram.org/constructor/messageMediaEmpty">messageMediaEmpty</a></remarks>
|
/// <remarks>a <c>null</c> value means <a href="https://corefork.telegram.org/constructor/messageMediaEmpty">messageMediaEmpty</a></remarks>
|
||||||
public abstract class MessageMedia : IObject { }
|
public abstract partial class MessageMedia : IObject { }
|
||||||
/// <summary>Attached photo. <para>See <a href="https://corefork.telegram.org/constructor/messageMediaPhoto"/></para></summary>
|
/// <summary>Attached photo. <para>See <a href="https://corefork.telegram.org/constructor/messageMediaPhoto"/></para></summary>
|
||||||
[TLDef(0x695150D7)]
|
[TLDef(0x695150D7)]
|
||||||
public class MessageMediaPhoto : MessageMedia
|
public partial class MessageMediaPhoto : MessageMedia
|
||||||
{
|
{
|
||||||
/// <summary>Flags, see <a href="https://corefork.telegram.org/mtproto/TL-combinators#conditional-fields">TL conditional fields</a></summary>
|
/// <summary>Flags, see <a href="https://corefork.telegram.org/mtproto/TL-combinators#conditional-fields">TL conditional fields</a></summary>
|
||||||
public Flags flags;
|
public Flags flags;
|
||||||
|
|
@ -1695,14 +1695,14 @@ namespace TL
|
||||||
}
|
}
|
||||||
/// <summary>Attached map. <para>See <a href="https://corefork.telegram.org/constructor/messageMediaGeo"/></para></summary>
|
/// <summary>Attached map. <para>See <a href="https://corefork.telegram.org/constructor/messageMediaGeo"/></para></summary>
|
||||||
[TLDef(0x56E0D474)]
|
[TLDef(0x56E0D474)]
|
||||||
public class MessageMediaGeo : MessageMedia
|
public partial class MessageMediaGeo : MessageMedia
|
||||||
{
|
{
|
||||||
/// <summary>GeoPoint</summary>
|
/// <summary>GeoPoint</summary>
|
||||||
public GeoPoint geo;
|
public GeoPoint geo;
|
||||||
}
|
}
|
||||||
/// <summary>Attached contact. <para>See <a href="https://corefork.telegram.org/constructor/messageMediaContact"/></para></summary>
|
/// <summary>Attached contact. <para>See <a href="https://corefork.telegram.org/constructor/messageMediaContact"/></para></summary>
|
||||||
[TLDef(0x70322949)]
|
[TLDef(0x70322949)]
|
||||||
public class MessageMediaContact : MessageMedia
|
public partial class MessageMediaContact : MessageMedia
|
||||||
{
|
{
|
||||||
/// <summary>Phone number</summary>
|
/// <summary>Phone number</summary>
|
||||||
public string phone_number;
|
public string phone_number;
|
||||||
|
|
@ -1720,7 +1720,7 @@ namespace TL
|
||||||
public class MessageMediaUnsupported : MessageMedia { }
|
public class MessageMediaUnsupported : MessageMedia { }
|
||||||
/// <summary>Document (video, audio, voice, sticker, any media type except photo) <para>See <a href="https://corefork.telegram.org/constructor/messageMediaDocument"/></para></summary>
|
/// <summary>Document (video, audio, voice, sticker, any media type except photo) <para>See <a href="https://corefork.telegram.org/constructor/messageMediaDocument"/></para></summary>
|
||||||
[TLDef(0x9CB070D7)]
|
[TLDef(0x9CB070D7)]
|
||||||
public class MessageMediaDocument : MessageMedia
|
public partial class MessageMediaDocument : MessageMedia
|
||||||
{
|
{
|
||||||
/// <summary>Flags, see <a href="https://corefork.telegram.org/mtproto/TL-combinators#conditional-fields">TL conditional fields</a></summary>
|
/// <summary>Flags, see <a href="https://corefork.telegram.org/mtproto/TL-combinators#conditional-fields">TL conditional fields</a></summary>
|
||||||
public Flags flags;
|
public Flags flags;
|
||||||
|
|
@ -1748,7 +1748,7 @@ namespace TL
|
||||||
}
|
}
|
||||||
/// <summary>Venue <para>See <a href="https://corefork.telegram.org/constructor/messageMediaVenue"/></para></summary>
|
/// <summary>Venue <para>See <a href="https://corefork.telegram.org/constructor/messageMediaVenue"/></para></summary>
|
||||||
[TLDef(0x2EC0533F)]
|
[TLDef(0x2EC0533F)]
|
||||||
public class MessageMediaVenue : MessageMedia
|
public partial class MessageMediaVenue : MessageMedia
|
||||||
{
|
{
|
||||||
/// <summary>Geolocation of venue</summary>
|
/// <summary>Geolocation of venue</summary>
|
||||||
public GeoPoint geo;
|
public GeoPoint geo;
|
||||||
|
|
@ -1765,7 +1765,7 @@ namespace TL
|
||||||
}
|
}
|
||||||
/// <summary>Telegram game <para>See <a href="https://corefork.telegram.org/constructor/messageMediaGame"/></para></summary>
|
/// <summary>Telegram game <para>See <a href="https://corefork.telegram.org/constructor/messageMediaGame"/></para></summary>
|
||||||
[TLDef(0xFDB19008)]
|
[TLDef(0xFDB19008)]
|
||||||
public class MessageMediaGame : MessageMedia
|
public partial class MessageMediaGame : MessageMedia
|
||||||
{
|
{
|
||||||
/// <summary>Game</summary>
|
/// <summary>Game</summary>
|
||||||
public Game game;
|
public Game game;
|
||||||
|
|
@ -1805,7 +1805,7 @@ namespace TL
|
||||||
}
|
}
|
||||||
/// <summary>Indicates a <a href="https://corefork.telegram.org/api/live-location">live geolocation</a> <para>See <a href="https://corefork.telegram.org/constructor/messageMediaGeoLive"/></para></summary>
|
/// <summary>Indicates a <a href="https://corefork.telegram.org/api/live-location">live geolocation</a> <para>See <a href="https://corefork.telegram.org/constructor/messageMediaGeoLive"/></para></summary>
|
||||||
[TLDef(0xB940C666)]
|
[TLDef(0xB940C666)]
|
||||||
public class MessageMediaGeoLive : MessageMedia
|
public partial class MessageMediaGeoLive : MessageMedia
|
||||||
{
|
{
|
||||||
/// <summary>Flags, see <a href="https://corefork.telegram.org/mtproto/TL-combinators#conditional-fields">TL conditional fields</a></summary>
|
/// <summary>Flags, see <a href="https://corefork.telegram.org/mtproto/TL-combinators#conditional-fields">TL conditional fields</a></summary>
|
||||||
public Flags flags;
|
public Flags flags;
|
||||||
|
|
@ -1828,7 +1828,7 @@ namespace TL
|
||||||
}
|
}
|
||||||
/// <summary>Poll <para>See <a href="https://corefork.telegram.org/constructor/messageMediaPoll"/></para></summary>
|
/// <summary>Poll <para>See <a href="https://corefork.telegram.org/constructor/messageMediaPoll"/></para></summary>
|
||||||
[TLDef(0x4BD6E798)]
|
[TLDef(0x4BD6E798)]
|
||||||
public class MessageMediaPoll : MessageMedia
|
public partial class MessageMediaPoll : MessageMedia
|
||||||
{
|
{
|
||||||
/// <summary>The poll</summary>
|
/// <summary>The poll</summary>
|
||||||
public Poll poll;
|
public Poll poll;
|
||||||
|
|
@ -1837,7 +1837,7 @@ namespace TL
|
||||||
}
|
}
|
||||||
/// <summary><a href="https://corefork.telegram.org/api/dice">Dice-based animated sticker</a> <para>See <a href="https://corefork.telegram.org/constructor/messageMediaDice"/></para></summary>
|
/// <summary><a href="https://corefork.telegram.org/api/dice">Dice-based animated sticker</a> <para>See <a href="https://corefork.telegram.org/constructor/messageMediaDice"/></para></summary>
|
||||||
[TLDef(0x3F7EE58B)]
|
[TLDef(0x3F7EE58B)]
|
||||||
public class MessageMediaDice : MessageMedia
|
public partial class MessageMediaDice : MessageMedia
|
||||||
{
|
{
|
||||||
/// <summary><a href="https://corefork.telegram.org/api/dice">Dice value</a></summary>
|
/// <summary><a href="https://corefork.telegram.org/api/dice">Dice value</a></summary>
|
||||||
public int value;
|
public int value;
|
||||||
|
|
@ -2355,7 +2355,7 @@ namespace TL
|
||||||
/// <summary>GeoPoint. <para>See <a href="https://corefork.telegram.org/constructor/geoPoint"/></para></summary>
|
/// <summary>GeoPoint. <para>See <a href="https://corefork.telegram.org/constructor/geoPoint"/></para></summary>
|
||||||
/// <remarks>a <c>null</c> value means <a href="https://corefork.telegram.org/constructor/geoPointEmpty">geoPointEmpty</a></remarks>
|
/// <remarks>a <c>null</c> value means <a href="https://corefork.telegram.org/constructor/geoPointEmpty">geoPointEmpty</a></remarks>
|
||||||
[TLDef(0xB2A2F663)]
|
[TLDef(0xB2A2F663)]
|
||||||
public class GeoPoint : IObject
|
public partial class GeoPoint : IObject
|
||||||
{
|
{
|
||||||
/// <summary>Flags, see <a href="https://corefork.telegram.org/mtproto/TL-combinators#conditional-fields">TL conditional fields</a></summary>
|
/// <summary>Flags, see <a href="https://corefork.telegram.org/mtproto/TL-combinators#conditional-fields">TL conditional fields</a></summary>
|
||||||
public Flags flags;
|
public Flags flags;
|
||||||
|
|
@ -8029,7 +8029,7 @@ namespace TL
|
||||||
|
|
||||||
/// <summary>Indicates an already sent game <para>See <a href="https://corefork.telegram.org/constructor/game"/></para></summary>
|
/// <summary>Indicates an already sent game <para>See <a href="https://corefork.telegram.org/constructor/game"/></para></summary>
|
||||||
[TLDef(0xBDF9653B)]
|
[TLDef(0xBDF9653B)]
|
||||||
public class Game : IObject
|
public partial class Game : IObject
|
||||||
{
|
{
|
||||||
/// <summary>Flags, see <a href="https://corefork.telegram.org/mtproto/TL-combinators#conditional-fields">TL conditional fields</a></summary>
|
/// <summary>Flags, see <a href="https://corefork.telegram.org/mtproto/TL-combinators#conditional-fields">TL conditional fields</a></summary>
|
||||||
public Flags flags;
|
public Flags flags;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue