Add by userName

This commit is contained in:
Ilya Pirozhneko 2016-02-01 23:58:51 +03:00
parent 1dce594e43
commit c77cfc064d
4 changed files with 31 additions and 5 deletions

View file

@ -7,6 +7,7 @@ namespace TLSharp.Core.Requests
public class ImportByUserName : MTProtoRequest public class ImportByUserName : MTProtoRequest
{ {
private readonly string _userName; private readonly string _userName;
public int id { get; private set; }
public ImportByUserName(string userName) public ImportByUserName(string userName)
{ {
_userName = userName; _userName = userName;
@ -14,14 +15,14 @@ namespace TLSharp.Core.Requests
public override void OnSend(BinaryWriter writer) public override void OnSend(BinaryWriter writer)
{ {
writer.Write(0xf93ccba3); writer.Write(0xBF0131C);
Serializers.String.write(writer, _userName); Serializers.String.write(writer, _userName);
} }
public override void OnResponse(BinaryReader reader) public override void OnResponse(BinaryReader reader)
{ {
var code = reader.ReadUInt32(); var code = reader.ReadUInt32();
var peer = TL.Parse<Peer>(reader); id = reader.ReadInt32();
} }
public override void OnException(Exception exception) public override void OnException(Exception exception)
@ -29,7 +30,7 @@ namespace TLSharp.Core.Requests
throw new NotImplementedException(); throw new NotImplementedException();
} }
public override bool Confirmed { get; } public override bool Confirmed => true;
public override bool Responded { get; } public override bool Responded { get; }
} }
} }

View file

@ -216,7 +216,7 @@ namespace TLSharp.Core
await _sender.Send(request); await _sender.Send(request);
await _sender.Recieve(request); await _sender.Recieve(request);
return null; return request.id;
} }
public async Task SendMessage(int id, string message) public async Task SendMessage(int id, string message)

View file

@ -15,6 +15,8 @@ namespace TLSharp.Tests
private string NumberToAuthenticate { get; set; } private string NumberToAuthenticate { get; set; }
private string UserNameToSendMessage { get; set; }
[TestInitialize] [TestInitialize]
public void Init() public void Init()
{ {
@ -26,6 +28,11 @@ namespace TLSharp.Tests
NumberToSendMessage = ConfigurationManager.AppSettings["numberToSendMessage"]; NumberToSendMessage = ConfigurationManager.AppSettings["numberToSendMessage"];
if (string.IsNullOrEmpty(NumberToSendMessage)) if (string.IsNullOrEmpty(NumberToSendMessage))
throw new InvalidOperationException("NumberToSendMessage is null. Specify number in app.config"); throw new InvalidOperationException("NumberToSendMessage is null. Specify number in app.config");
UserNameToSendMessage = ConfigurationManager.AppSettings["userNameToSendMessage"];
if (string.IsNullOrEmpty(UserNameToSendMessage))
throw new InvalidOperationException("UserNameToSendMessage is null. Specify userName in app.config");
} }
[TestMethod] [TestMethod]
@ -82,11 +89,28 @@ namespace TLSharp.Tests
Assert.IsTrue(client.IsUserAuthorized()); Assert.IsTrue(client.IsUserAuthorized());
var res = await client.ImportByUserName(NumberToSendMessage); var res = await client.ImportByUserName(UserNameToSendMessage);
Assert.IsNotNull(res); Assert.IsNotNull(res);
} }
[TestMethod]
public async Task ImportByUserNameAndSendMessage()
{
var store = new FileSessionStore();
var client = new TelegramClient(store, "session");
await client.Connect();
Assert.IsTrue(client.IsUserAuthorized());
var res = await client.ImportByUserName(UserNameToSendMessage);
Assert.IsNotNull(res);
await client.SendMessage(res.Value, "Test message from TelegramClient");
}
[TestMethod] [TestMethod]
public async Task SendMessage() public async Task SendMessage()
{ {

View file

@ -3,5 +3,6 @@
<appSettings> <appSettings>
<add key="numberToAuthenticate" value="" /> <add key="numberToAuthenticate" value="" />
<add key="numberToSendMessage" value=""/> <add key="numberToSendMessage" value=""/>
<add key="userNameToSendMessage" value=""/>
</appSettings> </appSettings>
</configuration> </configuration>