private async Task <TUser> GetUser(ITelegramClient client) { var normalizedNumber = NumberToSendMessage.StartsWith("+") ? NumberToSendMessage.Substring(1, NumberToSendMessage.Length - 1) : NumberToSendMessage; var result = await client.ContactsService.GetContactsAsync(); return(result.Cast <TContacts>().Users.Items .OfType <TUser>() .FirstOrDefault(x => x.Phone == normalizedNumber)); }
public virtual async Task SendMessageTest() { var settings = GetConfig(); NumberToSendMessage = settings[nameof(NumberToSendMessage)]; if (string.IsNullOrWhiteSpace(NumberToSendMessage)) { throw new Exception($"Please fill the '{nameof(NumberToSendMessage)}' setting in app.config file first"); } // this is because the contacts in the address come without the "+" prefix var normalizedNumber = NumberToSendMessage.StartsWith("+") ? NumberToSendMessage.Substring(1, NumberToSendMessage.Length - 1) : NumberToSendMessage; var client = NewClient(); await client.ConnectAsync(); var result = await client.GetContactsAsync(); var user = result.Users .OfType <TLUser>() .FirstOrDefault(x => x.Phone == normalizedNumber); if (user == null) { throw new System.Exception("Number was not found in Contacts List of user: "******"TEST"); }
/// <summary> /// Отправка сообщения пользовател. их контактов /// </summary> /// <returns></returns> public virtual async Task SendMessageTest() { NumberToSendMessage = ConfigurationManager.AppSettings[nameof(NumberToSendMessage)]; if (string.IsNullOrWhiteSpace(NumberToSendMessage)) { throw new Exception($"Пожалуйста, заполните '{nameof(NumberToSendMessage)}' сначала настройка в файле app. config"); } // это происходит потому, что контакты в адресе приходят без префикса"+". var normalizedNumber = NumberToSendMessage.StartsWith("+") ? NumberToSendMessage.Substring(1, NumberToSendMessage.Length - 1) : NumberToSendMessage; var client = NewClient(); await client.ConnectAsync(); var result = await client.GetContactsAsync(); var user = result.Users .OfType <TLUser>() .FirstOrDefault(x => x.Phone == normalizedNumber); if (user == null) { throw new System.Exception("Номер не был найден в списке контактов пользователя: " + NumberToSendMessage); } await client.SendTypingAsync(new TLInputPeerUser() { UserId = user.Id }); Thread.Sleep(3000); await client.SendMessageAsync(new TLInputPeerUser() { UserId = user.Id }, "TEST"); }
public virtual async Task addMemmberTest() { NumberToSendMessage = ConfigurationManager.AppSettings[MemberInfoGetting.GetMemberName(() => NumberToSendMessage)]; if (string.IsNullOrWhiteSpace(NumberToSendMessage)) { throw new Exception("Please fill the" + MemberInfoGetting.GetMemberName(() => NumberToSendMessage) + " setting in app.config file first"); } // this is because the contacts in the address come without the "+" prefix var normalizedNumber = NumberToSendMessage.StartsWith("+") ? NumberToSendMessage.Substring(1, NumberToSendMessage.Length - 1) : NumberToSendMessage; var client = NewClient(); await client.ConnectAsync(); var result = await client.GetContactsAsync(); var user = result.Users .OfType <TLUser>() .FirstOrDefault(x => x.Phone == normalizedNumber); if (user == null) { throw new System.Exception("Number was not found in Contacts List of user: "******"khune"); int b = 5; TLInputUser u = new TLInputUser() { UserId = user.Id, AccessHash = (long)user.AccessHash }; int a = 5; await client.ConnectAsync(); //var req = new TLRequestAddChatUser() //{ // ChatId = chat.Id, // UserId = u, // FwdLimit = 100 //}; TLVector <TLAbsInputUser> u2 = new TLVector <TLAbsInputUser>(); TLVector <TLAbsInputChannel> c2 = new TLVector <TLAbsInputChannel>(); u2.Add(u); c2.Add(new TLInputChannel() { ChannelId = chat.Id, AccessHash = (long)chat.AccessHash }); var req2 = new TLRequestInviteToChannel() { //Channel = new TLInputChannel() { ChannelId = chat.Id }, Channel = c2[0], Users = u2 }; await client.ConnectAsync(); try { var update = await client.SendRequestAsync <TLUpdates>(req2); } catch (Exception e) { //MessageBox.Show(e.ToString()); } int a2 = 5; }