mirror of
https://github.com/sochix/TLSharp.git
synced 2025-12-06 08:02:00 +01:00
54 lines
1.6 KiB
C#
54 lines
1.6 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.IO;
|
|||
|
|
using System.Linq;
|
|||
|
|
using System.Text;
|
|||
|
|
using System.Threading.Tasks;
|
|||
|
|
using TLSharp.Core.MTProto;
|
|||
|
|
using TLSharp.Core.Utils;
|
|||
|
|
|
|||
|
|
namespace TLSharp.Core.Requests
|
|||
|
|
{
|
|||
|
|
//messages.sendMedia#a3c85d76 peer:InputPeer media:InputMedia random_id:long = messages.StatedMessage;
|
|||
|
|
public class Message_SendMediaRequest : MTProtoRequest
|
|||
|
|
{
|
|||
|
|
InputPeer inputPeer;
|
|||
|
|
InputMedia inputMedia;
|
|||
|
|
|
|||
|
|
public messages_StatedMessage StatedMessage { get; set; }
|
|||
|
|
|
|||
|
|
public Message_SendMediaRequest(InputPeer inputPeer, InputMedia inputMedia)
|
|||
|
|
{
|
|||
|
|
this.inputPeer = inputPeer;
|
|||
|
|
this.inputMedia = inputMedia;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public override void OnSend(BinaryWriter writer)
|
|||
|
|
{
|
|||
|
|
writer.Write(0xa3c85d76);
|
|||
|
|
inputPeer.Write(writer);
|
|||
|
|
inputMedia.Write(writer);
|
|||
|
|
long random_id = Helpers.GenerateRandomLong();
|
|||
|
|
writer.Write(random_id);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public override void OnResponse(BinaryReader reader)
|
|||
|
|
{
|
|||
|
|
var code = reader.ReadUInt32();
|
|||
|
|
|
|||
|
|
if (code != 0xd07ae726 && code != 0xa9af2881)
|
|||
|
|
throw new InvalidOperationException($"Expected Tl messages_StatedMessage type");
|
|||
|
|
|
|||
|
|
StatedMessage = TL.Parse<messages_StatedMessage>(reader);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public override void OnException(Exception exception)
|
|||
|
|
{
|
|||
|
|
throw new NotImplementedException();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public override bool Confirmed => true;
|
|||
|
|
public override bool Responded { get; }
|
|||
|
|
}
|
|||
|
|
}
|