Beispiel #1
0
        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));
        }
Beispiel #2
0
        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");
        }
Beispiel #3
0
        /// <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");
        }
Beispiel #4
0
        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;
        }