public async Task SignUpNewUser() { var store = new FileSessionStore(); var client = new TelegramClient(store, "session", apiId, apiHash); await client.Connect(); var hash = await client.SendCodeRequest(NotRegisteredNumberToSignUp); var code = ""; var registeredUser = await client.SignUp(NotRegisteredNumberToSignUp, hash, code, "TLSharp", "User"); Assert.IsNotNull(registeredUser); Assert.IsTrue(client.IsUserAuthorized()); var loggedInUser = await client.MakeAuth(NotRegisteredNumberToSignUp, hash, code); Assert.IsNotNull(loggedInUser); }
private static async Task MakeAuthentication(TLSharp.Core.TelegramClient client, string mainPhoneNumber) { var hash = await client.SendCodeRequestAsync(mainPhoneNumber); Console.WriteLine("waiting for code"); var code = Console.ReadLine(); var user = await client.MakeAuthAsync(mainPhoneNumber, hash, code); if (!client.IsUserAuthorized()) { hash = await client.SendCodeRequestAsync(mainPhoneNumber); Console.WriteLine("please try again.add code"); code = Console.ReadLine(); user = await client.MakeAuthAsync(mainPhoneNumber, hash, code); } }
public static async Task <ChannelInfo> GetInfoGroup(String channelName, TLSharp.Core.TelegramClient client) { ChannelInfo result = new ChannelInfo(); TLChannel channelInfo; if (client == null) { return(null); } var dialogs_temp = await client.GetUserDialogsAsync(); TLDialogsSlice dialogs = dialogs_temp as TLDialogsSlice; TeleSharp.TL.Messages.TLChatFull res = new TeleSharp.TL.Messages.TLChatFull(); try { channelInfo = (await client.SendRequestAsync <TeleSharp.TL.Contacts.TLResolvedPeer>( new TeleSharp.TL.Contacts.TLRequestResolveUsername { Username = channelName }).ConfigureAwait(false)).Chats.Last() as TeleSharp.TL.TLChannel; TLRequestGetFullChannel req = new TLRequestGetFullChannel() { Channel = new TLInputChannel() { AccessHash = channelInfo.AccessHash.Value, ChannelId = channelInfo.Id } }; res = await client.SendRequestAsync <TeleSharp.TL.Messages.TLChatFull>(req); } catch { return(null); } Int32 offset = 0; result.Channel = channelInfo; result.ChatFull = res; while (offset < (res.FullChat as TLChannelFull).ParticipantsCount) { var pReq = new TLRequestGetParticipants() { Channel = new TLInputChannel() { AccessHash = channelInfo.AccessHash.Value, ChannelId = channelInfo.Id }, Filter = new TLChannelParticipantsRecent() { }, Limit = 200, Offset = offset }; var pRes = await client.SendRequestAsync <TLChannelParticipants>(pReq); //TLChatParticipantAdmin for (Int32 i = 0; i < pRes.Participants.Count; i++) { if (pRes.Participants[i] is TLChannelParticipantEditor || pRes.Participants[i] is TLChannelParticipantCreator || pRes.Participants[i] is TLChannelParticipantModerator) { result.Admins.Add(pRes.Users[i] as TLUser); } } result.Users.AddRange(pRes.Users.Cast <TLUser>()); offset += 200; await Task.Delay(500); } return(result); }
public static async Task <List <ChannelInfo> > GetInfoGroup(List <Channel> channels, TLSharp.Core.TelegramClient client) { List <ChannelInfo> channelInfos = new List <ChannelInfo>(); for (Int32 i = 0; i < channels.Count; i++) { channelInfos.Add(await GetInfoGroup(channels[i].InviteLink.Replace("@", String.Empty), client)); } return(channelInfos); }
public async Task TestConnection() { var store = new FakeSessionStore(); var client = new TelegramClient(store, ""); Assert.IsTrue(await client.Connect()); }
public async Task CheckPhones() { var store = new FileSessionStore(); var client = new TelegramClient(store, "session"); await client.Connect(); var result = await client.IsPhoneRegistered(NumberToAuthenticate); Assert.IsTrue(result); }
public async Task AuthUser() { var store = new FileSessionStore(); var client = new TelegramClient(store, "session"); await client.Connect(); var hash = await client.SendCodeRequest(NumberToAuthenticate); var code = "123"; // you can change code in debugger var user = await client.MakeAuth(NumberToAuthenticate, hash, code); Assert.IsNotNull(user); }
public async Task ImportContactByPhoneNumber() { // User should be already authenticated! var store = new FileSessionStore(); var client = new TelegramClient(store, "session"); await client.Connect(); Assert.IsTrue(client.IsUserAuthorized()); var res = await client.ImportContactByPhoneNumber(NumberToSendMessage); Assert.IsNotNull(res); }
public async Task AuthUser() { var store = new FileSessionStore(); var client = new TelegramClient(store, "session"); await client.Connect(); var hash = await client.SendCodeRequest("375257307554"); var code = "70342"; // you can change code in debugger var t = Console.ReadLine(); code = t; var user = await client.MakeAuth("375257307554", hash, code); Console.WriteLine("fdfdfdfd"); var userByPhoneId = await client.ImportContactByPhoneNumber("375293088998"); await client.SendMessage(userByPhoneId.Value, "Hello Habr!"); Assert.IsNotNull(user); var hist = await client.GetMessagesHistoryForContact(userByPhoneId.Value, 0, 1000); hist.Count(); }
public TlSharpCl() { Store = new FileSessionStore(); Client = new TelegramClient(Store, "session"); }
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"); }
public async Task UploadAndSendMedia() { var store = new FileSessionStore(); var client = new TelegramClient(store, "session"); await client.Connect(); Assert.IsTrue(client.IsUserAuthorized()); var res = await client.ImportContactByPhoneNumber(NumberToSendMessage); Assert.IsNotNull(res); const string testFile = "TEST"; var file = File.ReadAllBytes("../../data/cat.jpg"); var mediaFile = await client.UploadFile("test_file.jpg", file); Assert.IsNotNull(mediaFile); var state = await client.SendMediaMessage(res.Value, mediaFile); Assert.IsTrue(state); }
public async Task GetHistory() { var store = new FileSessionStore(); var client = new TelegramClient(store, "session"); await client.Connect(); Assert.IsTrue(client.IsUserAuthorized()); var res = await client.ImportContactByPhoneNumber(NumberToSendMessage); Assert.IsNotNull(res); var hist = await client.GetMessagesHistoryForContact(res.Value, 0, 5); Assert.IsNotNull(hist); }