Ejemplo n.º 1
0
        /// <summary>
        /// 연락처를 가져 온다.
        /// </summary>
        /// <returns></returns>
        public async Task <DataTable> ContactsGet()
        {
            isAuth(true);

            //연락처를 받아 온다
            TeleSharp.TL.Contacts.TLContacts rst = await client.GetContactsAsync();

            if (_contacts == null)
            {
                _contacts = Fnc.DataTable_SchemaByObject("TelegramContacts", new TLUser());
            }

            _contacts.Rows.Clear();
            //DataRow dr;

            Fnc.DataTable_InsDataFromObject(_contacts, rst.users.lists);


            //foreach (TLUser u in rst.users.lists)
            //{
            //	dr = _contacts.NewRow();
            //	Fnc.DataRow_InsDataFromObject(dr, u);

            //	_contacts.Rows.Add(dr);
            //}


            return(_contacts);
        }
Ejemplo n.º 2
0
        protected async System.Threading.Tasks.Task SendMessaggioTelegram(string numeroTelefono, string code, string messaggio)
        {
            var client = new TLSharp.Core.TelegramClient(106191, "2a5c0da8fcb3acfdf501c3f17fb0fa5f");
            await client.ConnectAsync();

            var hash = await client.SendCodeRequestAsync(numeroTelefono);

            var user = await client.MakeAuthAsync(numeroTelefono, hash, code);

            //get available contacts
            var result = await client.GetContactsAsync();

            //find recipient in contacts
            var customer = result.Users
                           .Where(x => x.GetType() == typeof(TeleSharp.TL.TLUser))
                           .Cast <TeleSharp.TL.TLUser>()
                           .FirstOrDefault(x => x.Phone == numeroTelefono);

            /*if (user.ToList().Count != 0)
             * {
             *  foreach (var u in user)
             *  {
             *      if (u.phone.Contains("3965604"))
             *      {
             *          //send message
             *          await client.SendMessageAsync(new TLInputPeerUser() { user_id = u.id }, textBox3.Text);
             *      }
             *  }
             * }*/
            // @channelname or chat_id, messaggio da inviare
            await client.SendMessageAsync(new TeleSharp.TL.TLInputPeerUser()
            {
                UserId = customer.Id
            }, messaggio);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 전화 번호로
        /// </summary>
        /// <param name="client"></param>
        /// <param name="PhoneNumber"></param>
        /// <param name="msg"></param>
        private async void SendMessageByPhoneNumber(TLSharp.Core.TelegramClient client, string PhoneNumber, string msg)
        {
            //연락처를 받아 온다
            var rst = await client.GetContactsAsync();

            //사용자를 찾는다.
            var usr = rst.users.lists
                      .Where(x => x.GetType() == typeof(TLUser))
                      .Cast <TLUser>()
                      .FirstOrDefault(x => x.phone.EndsWith(PhoneNumber));


            TLUser tl;


            await client.SendMessageAsync(new TLInputPeerUser()
            {
                user_id = usr.id
            }, msg);
        }