Exemplo n.º 1
0
        private async Task AddMessagesToExcel()
        {
            for (int i = 1; i <= Iterations; i++)
            {
                lblWorking.Text = String.Format("Adding messages...x{0}{1}", i, i > 5 ? "\n holy shiit :P" : "");
                var history = await mClient.GetMessages(Enumerable.Range(mStartId, MsgCount).ToList());

                if (history.Count <= 0)
                {
                    break;
                }

                foreach (var msg in history)
                {
                    Type t = msg.GetType();
                    if (t == typeof(MessageServiceConstructor))
                    {
                        continue;
                    }
                    else if (t == typeof(MessageForwardedConstructor))
                    {
                        MessageForwardedConstructor m = (MessageForwardedConstructor)msg;
                        var def           = new SimpleUser(m.fwd_from_id);
                        int fwd_from_user = mUsers.BinarySearch(def);

                        var sm = await ToSimpleMessage(m.id, m.to_id, m.from_id, m.date, m.output,
                                                       Utils.Combine(Utils.Forwarded(m.message, m.fwd_date, fwd_from_user >= 0 ? mUsers[fwd_from_user] : def), m.media));

                        xl.AddMessage(sm);
                    }
                    else if (t == typeof(MessageEmptyConstructor))
                    {
                        continue;
                    }
                    else if (t == typeof(MessageConstructor))
                    {
                        MessageConstructor m = (MessageConstructor)msg;
                        var sm = await ToSimpleMessage(m.id, m.to_id, m.from_id, m.date, m.output, Utils.Combine(m.message, m.media));

                        xl.AddMessage(sm);
                    }
                }
                UpdateStartIdFromExcel();
            }
            xl.Close();
            Close();
        }
Exemplo n.º 2
0
        private async Task <List <SimpleUser> > GetUsers()
        {
            var ids = (await mClient.GetContacts()).Cast <ContactConstructor>();
            var ius = ids.Select(r => TL.inputUserContact(r.user_id)).ToList();

            var users = new List <SimpleUser>(ius.Count);

            foreach (var user in ius)
            {
                var su = new SimpleUser(await mClient.GetFullUser(user));
                if (su.Self)
                {
                    mSelfUserId = su.Id;
                }
                users.Add(su);
            }
            users.Sort();
            return(users);
        }
Exemplo n.º 3
0
 internal static string Forwarded(string message, int fwd_date, SimpleUser fwd_from_user)
 {
     return(String.Format("<Quoted message by {0} on {1}>\n{2}", fwd_from_user.Name, FromUnixTime(fwd_date).ToShortDateString(), message));
 }