mirror of
https://github.com/sochix/TLSharp.git
synced 2025-12-06 08:02:00 +01:00
Add by userName
This commit is contained in:
parent
1dce594e43
commit
c77cfc064d
|
|
@ -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; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue