mirror of
https://github.com/sochix/TLSharp.git
synced 2026-04-09 08:25:13 +00:00
UploadFile and SendMediaMessage
This commit is contained in:
parent
5427983429
commit
7e18b68d72
4 changed files with 166 additions and 0 deletions
53
TLSharp.Core/Requests/Message_SendMediaRequest.cs
Normal file
53
TLSharp.Core/Requests/Message_SendMediaRequest.cs
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
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; }
|
||||
}
|
||||
}
|
||||
53
TLSharp.Core/Requests/Upload_SaveFilePartRequest.cs
Normal file
53
TLSharp.Core/Requests/Upload_SaveFilePartRequest.cs
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using TLSharp.Core.MTProto;
|
||||
|
||||
namespace TLSharp.Core.Requests
|
||||
{
|
||||
//upload.saveFilePart#b304a621 file_id:long file_part:int bytes:bytes = Bool;
|
||||
public class Upload_SaveFilePartRequest : MTProtoRequest
|
||||
{
|
||||
long file_id;
|
||||
int file_part;
|
||||
byte[] bytes;
|
||||
|
||||
public bool Done { get; set; }
|
||||
|
||||
public Upload_SaveFilePartRequest(long file_id, int file_part, byte[] bytes)
|
||||
{
|
||||
this.file_id = file_id;
|
||||
this.file_part = file_part;
|
||||
this.bytes = bytes;
|
||||
}
|
||||
|
||||
public override void OnResponse(BinaryReader reader)
|
||||
{
|
||||
var code = reader.ReadUInt32();
|
||||
|
||||
if (code != 0xbc799737 && code != 0x997275b5)
|
||||
throw new InvalidOperationException($"Expected Tl Bool type");
|
||||
|
||||
Done = code == 0x997275b5 ? true : false;
|
||||
}
|
||||
|
||||
public override void OnSend(BinaryWriter writer)
|
||||
{
|
||||
writer.Write(0xb304a621);
|
||||
writer.Write(file_id);
|
||||
writer.Write(file_part);
|
||||
Serializers.Bytes.write(writer, bytes);
|
||||
}
|
||||
|
||||
public override void OnException(Exception exception)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override bool Confirmed => true;
|
||||
public override bool Responded { get; }
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue