Beispiel #1
0
        private void removeFriendToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string name = bot.SteamFriends.GetFriendPersonaName(userSteamId);
            var    dr   = MetroFramework.MetroMessageBox.Show(this, "Are you sure you want to remove " + name + "?",
                                                              "Remove Friend",
                                                              MessageBoxButtons.YesNo,
                                                              MessageBoxIcon.Exclamation,
                                                              MessageBoxDefaultButton.Button1);

            if (dr == System.Windows.Forms.DialogResult.Yes)
            {
                ListFriends.Remove(userSteamId);
                bot.friends.Remove(userSteamId);
                bot.SteamFriends.RemoveFriend(userSteamId);
                UpdateChat("[" + DateTime.Now + "] You have removed " + steam_name.Text + " from your friends list." + Environment.NewLine, false);
                if (Friends.keepLog)
                {
                    AppendLog(userSteamId, "[" + DateTime.Now + "] You have removed " + steam_name.Text + " from your friends list." + Environment.NewLine);
                }
                MetroFramework.MetroMessageBox.Show(this, "You have removed " + name + ".",
                                                    "Remove Friend",
                                                    MessageBoxButtons.OK,
                                                    MessageBoxIcon.Information,
                                                    MessageBoxDefaultButton.Button1);
            }
        }
Beispiel #2
0
        public static void Remove(ulong sid)
        {
            ListFriends item = list.Find(x => x.SID == sid);

            list.Remove(item);
            friends.SetObject(Get(MistClient.Properties.Settings.Default.OnlineOnly));
        }
Beispiel #3
0
        void OnTimerElapsed(object sender, ElapsedEventArgs e)
        {
            byte[] avatarHash = bot.SteamFriends.GetFriendAvatar(bot.SteamUser.SteamID);
            bool   validHash  = avatarHash != null && !IsZeros(avatarHash);

            if ((AvatarHash == null && !validHash && avatarBox.Image != null) || (AvatarHash != null && AvatarHash.SequenceEqual(avatarHash)))
            {
                // avatar is already up to date, no operations necessary
            }
            else if (validHash)
            {
                AvatarHash = avatarHash;
                CDNCache.DownloadAvatar(bot.SteamUser.SteamID, avatarHash, AvatarDownloaded);
            }
            else
            {
                AvatarHash      = null;
                avatarBox.Image = ComposeAvatar(null);
            }
            bot.LoadFriends();
            if (Application.OpenForms.Count < 1)
            {
                Friends friends = new Friends(bot, steam_name.Text);
                friends.Show();
                friends.Activate();
            }
            friends_list.SetObjects(ListFriends.Get(showOnlineFriendsOnlyToolStripMenuItem.Checked));
            Console.WriteLine("Friends list refreshed.");
        }
Beispiel #4
0
        private void showOnlineFriendsOnlyToolStripMenuItem_Click(object sender, EventArgs e)
        {
            bool checkState = showOnlineFriendsOnlyToolStripMenuItem.Checked;

            Properties.Settings.Default.OnlineOnly = checkState;
            Properties.Settings.Default.Save();
            friends_list.SetObjects(ListFriends.Get(checkState));
        }
Beispiel #5
0
 private void text_search_KeyPress(object sender, KeyPressEventArgs e)
 {
     if (e.KeyChar == 27)
     {
         text_search.Clear();
         this.friends_list.SetObjects(ListFriends.Get(showOnlineFriendsOnlyToolStripMenuItem.Checked));
     }
 }
Beispiel #6
0
 public static void Add(string name, ulong sid, string nickname = "", string status = "Offline")
 {
     lock (locker)
     {
         ListFriends item = new ListFriends(name, sid, nickname, status);
         list.Add(item);
     }
 }
Beispiel #7
0
 public static void Remove(ulong sid)
 {
     lock (locker)
     {
         ListFriends item = list.Find(x => x.SID == sid);
         list.Remove(item);
     }
 }
Beispiel #8
0
 public static void Add(string name, ulong sid, string nickname = "", string status = "Offline")
 {
     lock (locker)
     {
         ListFriends item = new ListFriends(name, sid, nickname, status);
         list.Add(item);
     }
 }
Beispiel #9
0
 private void text_search_Leave(object sender, EventArgs e)
 {
     if (text_search.Text == "")
     {
         text_search.Font      = new Font(text_search.Font, FontStyle.Italic);
         text_search.ForeColor = SystemColors.ControlDark;
         text_search.Text      = "Search";
         this.friends_list.SetObjects(ListFriends.Get(showOnlineFriendsOnlyToolStripMenuItem.Checked));
     }
 }
Beispiel #10
0
 private void removeFriendToolStripMenuItem_Click(object sender, EventArgs e)
 {
     bot.SteamFriends.RemoveFriend(sid);
     UpdateChat("[" + DateTime.Now + "] You have removed " + steam_name.Text + " from your friends list.\r\n", false);
     if (Friends.keepLog)
     {
         AppendLog(sid, "[" + DateTime.Now + "] You have removed " + steam_name.Text + " from your friends list.\r\n");
     }
     ListFriends.Remove(sid);
 }
Beispiel #11
0
 private void text_search_TextChanged(object sender, EventArgs e)
 {
     if (text_search.Text == "")
     {
         this.friends_list.SetObjects(ListFriends.Get(showOnlineFriendsOnlyToolStripMenuItem.Checked));
     }
     else
     {
         this.friends_list.SetObjects(ListFriends.Get(text_search.Text));
     }
 }
Beispiel #12
0
        private void status_update_DoWork(object sender, DoWorkEventArgs e)
        {
            while (!status_update.CancellationPending)
            {
                try
                {
                    this.steam_name.Text   = bot.SteamFriends.GetFriendPersonaName(userSteamId);
                    this.steam_status.Text = bot.SteamFriends.GetFriendPersonaState(userSteamId).ToString();
                    SteamKit2.SteamID SteamID    = userSteamId;
                    byte[]            avatarHash = bot.SteamFriends.GetFriendAvatar(SteamID);
                    bool validHash = avatarHash != null && !IsZeros(avatarHash);

                    if ((AvatarHash == null && !validHash && avatarBox.Image != null) || (AvatarHash != null && AvatarHash.SequenceEqual(avatarHash)))
                    {
                        // avatar is already up to date, no operations necessary
                    }
                    else if (validHash)
                    {
                        AvatarHash = avatarHash;
                        CDNCache.DownloadAvatar(SteamID, avatarHash, AvatarDownloaded);
                    }
                    else
                    {
                        AvatarHash      = null;
                        avatarBox.Image = ComposeAvatar(null);
                    }
                    if (this.steam_status.Text != prevStatus)
                    {
                        UpdateChat("[" + DateTime.Now + "] " + steam_name.Text + " is now " + steam_status.Text + "." + Environment.NewLine, false);
                        if (Friends.keepLog)
                        {
                            AppendLog(userSteamId, "[" + DateTime.Now + "] " + steam_name.Text + " is now " + steam_status.Text + "." + Environment.NewLine);
                        }
                        prevStatus = this.steam_status.Text;
                    }
                    if (this.steam_name.Text != prevName)
                    {
                        UpdateChat("[" + DateTime.Now + "] " + prevName + " has changed their name to " + steam_name.Text + "." + Environment.NewLine, false);
                        if (Friends.keepLog)
                        {
                            AppendLog(userSteamId, "[" + DateTime.Now + "] " + prevName + " has changed their name to " + steam_name.Text + "." + Environment.NewLine);
                        }
                        ListFriends.UpdateName(userSteamId, steam_name.Text);
                        prevName = this.steam_name.Text;
                    }
                    System.Threading.Thread.Sleep(2000);
                }
                catch
                {
                }
            }
        }
Beispiel #13
0
        public static ulong GetSID(string name)
        {
            ListFriends item = null;

            try
            {
                item = list.Find(x => x.name == name);
                return(item.sid);
            }
            catch
            {
            }
            return(0);
        }
Beispiel #14
0
        public static void UpdateName(ulong sid, string name)
        {
            ListFriends item = null;

            try
            {
                item      = list.Find(x => x.SID == sid);
                item.Name = name;
                friends.SetObject(list);
            }
            catch
            {
                // Friends form hasn't been initialized yet, so let's not worry about it
            }
        }
Beispiel #15
0
 private void removeFriendToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (friends_list.SelectedItem != null)
     {
         ulong sid = Convert.ToUInt64(column_sid.GetValue(friends_list.SelectedItem.RowObject));
         bot.SteamFriends.RemoveFriend(sid);
         bot.friends.Remove(sid);
         ListFriends.Remove(sid);
         friends_list.RemoveObject(friends_list.SelectedItem.RowObject);
         MessageBox.Show("You have removed " + bot.SteamFriends.GetFriendPersonaName(sid),
                         "Remove Friend",
                         MessageBoxButtons.OK,
                         MessageBoxIcon.Exclamation,
                         MessageBoxDefaultButton.Button1);
     }
 }
Beispiel #16
0
 public static void UpdateStatus(ulong sid, string status)
 {
     lock (locker)
     {
         ListFriends item = null;
         try
         {
             item        = list.Find(x => x.SID == sid);
             item.Status = status;
         }
         catch
         {
             // Friends form hasn't been initialized yet, so let's not worry about it
         }
     }
 }
Beispiel #17
0
 static internal ListFriends GetFriend(ulong steamId)
 {
     lock (locker)
     {
         var item = list.Find(x => x.SID == steamId);
         if (item != null)
         {
             if (item.status == "LookingToTrade")
             {
                 var temp = new ListFriends(item.Name, item.SID, item.Nickname, item.Status);
                 temp.status = "Looking to Trade";
                 return(temp);
             }
             else if (item.status == "LookingToPlay")
             {
                 var temp = new ListFriends(item.Name, item.SID, item.Nickname, item.Status);
                 temp.status = "Looking to Play";
                 return(temp);
             }
         }
         return(item);
     }
 }
Beispiel #18
0
 internal static List<ListFriends> Get(bool onlineOnly = false)
 {
     lock (locker)
     {
         List<ListFriends> returnList = new List<ListFriends>();
         foreach (ListFriends item in list)
         {
             if (item.status == "Online")
                 returnList.Add(item);
         }
         foreach (ListFriends item in list)
         {
             if (item.status == "LookingToTrade")
             {
                 var temp = new ListFriends(item.Name, item.SID, item.Nickname, item.Status);
                 temp.status = "Looking to Trade";
                 returnList.Add(temp);
             }
         }
         foreach (ListFriends item in list)
         {
             if (item.status == "LookingToPlay")
             {
                 var temp = new ListFriends(item.Name, item.SID, item.Nickname, item.Status);
                 temp.status = "Looking to Play";
                 returnList.Add(temp);
             }
         }
         foreach (ListFriends item in list)
         {
             if (item.status == "Busy")
                 returnList.Add(item);
         }
         foreach (ListFriends item in list)
         {
             if (item.status == "Away")
                 returnList.Add(item);
         }
         foreach (ListFriends item in list)
         {
             if (item.status == "Snooze")
                 returnList.Add(item);
         }
         if (!onlineOnly)
         {
             foreach (ListFriends item in list)
             {
                 if (item.status == "Offline")
                     returnList.Add(item);
             }
         }
         return returnList;
     }
 }
Beispiel #19
0
        public static void Add(string name, ulong sid, string status = "Offline")
        {
            ListFriends item = new ListFriends(name, sid, status);

            list.Add(item);
        }
Beispiel #20
0
 internal static ListFriends GetFriend(ulong steamId)
 {
     lock (locker)
     {
         var item = list.Find(x => x.SID == steamId);
         if (item != null)
         {
             if (item.status == "LookingToTrade")
             {
                 var temp = new ListFriends(item.Name, item.SID, item.Nickname, item.Status);
                 temp.status = "Looking to Trade";
                 return temp;
             }
             else if (item.status == "LookingToPlay")
             {
                 var temp = new ListFriends(item.Name, item.SID, item.Nickname, item.Status);
                 temp.status = "Looking to Play";
                 return temp;
             }
         }
         return item;
     }
 }
Beispiel #21
0
 static internal List <ListFriends> Get(bool onlineOnly = false)
 {
     lock (locker)
     {
         List <ListFriends> returnList = new List <ListFriends>();
         foreach (ListFriends item in list)
         {
             if (item.status == "Online")
             {
                 returnList.Add(item);
             }
         }
         foreach (ListFriends item in list)
         {
             if (item.status == "LookingToTrade")
             {
                 var temp = new ListFriends(item.Name, item.SID, item.Nickname, item.Status);
                 temp.status = "Looking to Trade";
                 returnList.Add(temp);
             }
         }
         foreach (ListFriends item in list)
         {
             if (item.status == "LookingToPlay")
             {
                 var temp = new ListFriends(item.Name, item.SID, item.Nickname, item.Status);
                 temp.status = "Looking to Play";
                 returnList.Add(temp);
             }
         }
         foreach (ListFriends item in list)
         {
             if (item.status == "Busy")
             {
                 returnList.Add(item);
             }
         }
         foreach (ListFriends item in list)
         {
             if (item.status == "Away")
             {
                 returnList.Add(item);
             }
         }
         foreach (ListFriends item in list)
         {
             if (item.status == "Snooze")
             {
                 returnList.Add(item);
             }
         }
         if (!onlineOnly)
         {
             foreach (ListFriends item in list)
             {
                 if (item.status == "Offline")
                 {
                     returnList.Add(item);
                 }
             }
         }
         return(returnList);
     }
 }
Beispiel #22
0
 private void Friends_Leave(object sender, EventArgs e)
 {
     text_search.Text = "";
     this.friends_list.SetObjects(ListFriends.Get(showOnlineFriendsOnlyToolStripMenuItem.Checked));
     label1.Select();
 }
Beispiel #23
0
 public static void Add(string name, ulong sid, string status = "Offline")
 {
     ListFriends item = new ListFriends(name, sid, status);
     list.Add(item);
 }