Пример #1
0
        /// <summary>
        /// Accepts a trade, retrying 5 times if neccessary
        /// </summary>
        /// <returns>True if successful.</returns>
        protected bool AcceptTrade()
        {
            Log.Debug("Accepting Trade");
            int x = 0;

            Success = false;
            while (Success == false && x < 5)
            {
                x++;
                Log.Debug("Loop #" + x);
                try
                {
                    Success = Trade.AcceptTrade();
                }
                catch (TradeException te)
                {
                    Log.Warn("Accept Trade failed.");
                    var s = string.Format("Loop #{0}{1}Exception:{2}", x, Environment.NewLine, te);
                    Log.Debug(s);
                    Thread.Sleep(250);
                }
                catch (Exception e)
                {
                    Log.Warn("Accept Trade failed");
                    var s = string.Format("Loop #{0}{1}Exception:{2}", x, Environment.NewLine, e);
                    Log.Debug(s);
                    Thread.Sleep(250);
                }
            }
            if (!Success)
            {
                Log.Error("Could not accept trade");
            }
            return(Success);
        }
 public override void OnTradeAccept()
 {
     if (Validate())
     {
         Bot.log.Success("Accepting trade...");
         bool success;
         lock (this)
         {
             success = Trade.AcceptTrade();//see if trade went through
         }
         if (success)
         {
             Log.Success("Trade was successful!");//log
             Bot.SteamFriends.SendChatMessage(OtherSID, EChatEntryType.ChatMsg, clsFunctions.KEYBANK_TRADE_COMPLETED_MESSAGE);
             clsFunctions.AddToTradeNumber(this.Bot);
             //Random rnd = new Random();
             //if (rnd.Next(1, 10) <= 2)
             //{
             //    Bot.SteamFriends.SendChatMessage(OtherSID, EChatEntryType.ChatMsg, "If you are part of the Gamem Trading Services group, code: KeysMate may mean something to you... PLEASE DO NOT SHARE THIS!");
             //}
         }//if (success)
         else
         {
             Log.Warn("Trade might have failed.");                                                                            //log
             Bot.SteamFriends.SendChatMessage(OtherSID, EChatEntryType.ChatMsg, "Did something go wrong with the trade? =C"); //send ItemRemovedMsg
         }//else
     }//if (Validate())
     OnTradeClose();
 }
Пример #3
0
 public override void OnTradeAccept() 
 {
     if (IsAdmin)
     {
         //Even if it is successful, AcceptTrade can fail on
         //trades with a lot of items so we use a try-catch
         try {
             if (Trade.AcceptTrade())
                 Log.Success("Trade Accepted!");
         }
         catch {
             Log.Warn ("The trade might have failed, but we can't be sure.");
         }
     }
 }
Пример #4
0
        public override void OnTradeAccept()
        {
            if (IsAdmin)
            {
                bool ok = Trade.AcceptTrade();

                if (ok)
                {
                    Log.Success("Trade was Successful!");
                }
                else
                {
                    Log.Warn("Trade might have failed.");
                }
            }
        }
Пример #5
0
        public override void OnTradeAccept()
        {
            if (Validate() || IsAdmin)
            {
                //Even if it is successful, AcceptTrade can fail on
                //trades with a lot of items so we use a try-catch
                try {
                    Trade.AcceptTrade();
                }
                catch {
                    Log.Warn("The trade might have failed, but we can't be sure.");
                }

                Log.Success("Trade Complete!");
            }

            OnTradeClose();
        }
Пример #6
0
        public override void OnTradeAccept()
        {
            if (Validate() || IsAdmin)
            {
                bool success = Trade.AcceptTrade();

                if (success)
                {
                    Log.Success("Trade was Successful!");
                }
                else
                {
                    Log.Warn("Trade might have failed.");
                }
            }

            OnTradeClose();
        }
Пример #7
0
 public override void OnTradeAccept()
 {
     if (Validate() || IsAdmin)
     {
         bool success = Trade.AcceptTrade();
         if (success)
         {
             Log.Success("Trade was successful!");
             Bot.SteamFriends.SendChatMessage(OtherSID, EChatEntryType.ChatMsg, "Thanks for a successful trade!  Got comments or suggestions?  Leave a message on my profile!");
             Bot.SteamFriends.SetPersonaState(EPersonaState.Online);
         }
         else
         {
             Log.Warn("Trade might have failed.");
             Bot.SteamFriends.SetPersonaState(EPersonaState.Online);
         }
     }
     OnTradeClose();
 }
Пример #8
0
 public override void OnTradeAccept()
 {
     if (Validate() || IsAdmin)
     {
         bool success = Trade.AcceptTrade();
         if (success)
         {
             Bot.SteamFriends.SendChatMessage(OtherSID, EChatEntryType.ChatMsg, "Thanks for the trade! I had fun, so let's do it again sometime :) Please leave a +rep on my profile if you think I deserve one!");
             Log.Success("Trade was successful!");
             Bot.SteamFriends.SetPersonaState(EPersonaState.LookingToTrade);
         }
         else
         {
             Log.Warn("Trade might have failed.");
             Bot.SteamFriends.SetPersonaState(EPersonaState.LookingToTrade);
         }
     }
     OnTradeClose();
 }
Пример #9
0
 public override void OnTradeAccept()
 {
     if (Validate() || IsAdmin)
     {
         bool success = Trade.AcceptTrade();
         if (success)
         {
             Log.Success("Trade was successful!");
             Bot.SteamFriends.SendChatMessage(OtherSID, EChatEntryType.ChatMsg, "Thanks for a successful trade! Please leave a +rep on my profile if you'd like. :) You're the best!");
             Bot.SteamFriends.SendChatMessage(OtherSID, EChatEntryType.ChatMsg, "This bot was coded by http://steamcommunity.com/id/waylaidwanderer");
             Bot.SteamFriends.SetPersonaState(EPersonaState.Online);
         }
         else
         {
             Log.Warn("Trade might have failed.");
             Bot.SteamFriends.SetPersonaState(EPersonaState.Online);
         }
     }
     OnTradeClose();
 }
Пример #10
0
 public override void OnTradeAccept()
 {
     if (Validate() || IsAdmin)
     {
         //Even if it is successful, AcceptTrade can fail on
         //trades with a lot of items so we use a try-catch
         try
         {
             if (Trade.AcceptTrade())
             {
                 Log.Success("Trade Accepted!");
                 SendChatMessage("Thank you for trading with me.");
                 Console.Beep();
             }
         }
         catch
         {
             Log.Warn("The trade might have failed, but we can't be sure.");
         }
     }
 }
Пример #11
0
        public override void OnTradeAccept()
        {
            if (Validate() || IsAdmin)
            {
                bool success = Trade.AcceptTrade();
                if (success)
                {
                    Log.Success("Trade was successful!");

                    Bot.SteamFriends.SendChatMessage(OtherSID, EChatEntryType.ChatMsg, "Trade was successful! ");
                    Bot.SteamFriends.SendChatMessage(OtherSID, EChatEntryType.ChatMsg, "your the best!");
                    Bot.SteamFriends.SendChatMessage(OtherSID, EChatEntryType.ChatMsg, "If you had a issue or concern please leave a comment on my profile!");
                    Bot.SteamFriends.SetPersonaState(EPersonaState.Online);
                }
                else
                {
                    Log.Warn("Trade might have failed.");
                    Bot.SteamFriends.SetPersonaState(EPersonaState.Online);
                }
            }
            OnTradeClose();
        }
Пример #12
0
        public override void OnTradeAccept()
        {
            if (Validate() || IsAdmin)
            {
                Bot.log.Success("Accepting trade...");
                try
                {
                    Trade.AcceptTrade();
                    if (!IsAdmin)
                    {
                        string fileDirectory = "Donation";
                        string fileName      = OtherSID.ConvertToUInt64().ToString();
                        string fullPath      = Path.Combine(fileDirectory, fileName + ".log");
                        fullPath = FileToCreate;
                        string sPastDonation = string.Empty;
                        string sSpacer       = @"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\";
                        if (File.Exists(fullPath))
                        {
                            TextReader reader = new StreamReader(fullPath);
                            sPastDonation = reader.ReadToEnd();
                            reader.Close();
                        }
                        else
                        {
                            File.Create(fullPath);
                        }

                        StreamWriter writer = new StreamWriter(fullPath, false);
                        writer.WriteLine(sSpacer);
                        List <Inventory.Item> items = new List <Inventory.Item>();
                        foreach (TradeUserAssets id in Trade.OtherOfferedItems)
                        {
                            if (id.appid == 440)
                            {
                                items.Add(Trade.OtherInventory.GetItem(id.assetid));//Get item
                            }
                        }//foreach (ulong id in Trade.OtherOfferedItems)
                        foreach (Inventory.Item id in items)
                        {
                            Schema      schema       = Trade.CurrentSchema;
                            Inventory   inventory    = Trade.OtherInventory;
                            Schema.Item schemaItem   = schema.GetItem(id.Defindex);
                            string      ItemAddedMsg = String.Format("User added {0} {1} {2} {3}", id.IsNotCraftable.ToString().ToLower() == "true" ? "NonCraftable" : "Craftable", clsFunctions.ConvertQualityToString(schemaItem.ItemQuality), schemaItem.ItemName, schemaItem.CraftMaterialType); //ready ItemRemovedMsg
                            writer.WriteLine("Donated: " + ItemAddedMsg);
                        }
                        writer.WriteLine(Bot.SteamFriends.GetFriendPersonaName(OtherSID));
                        writer.WriteLine(OtherSID.ConvertToUInt64().ToString());
                        writer.WriteLine(System.DateTime.Now.ToShortTimeString());
                        if (sPastDonation != null)
                        {
                            writer.Write(sPastDonation);
                        }
                        writer.Close();


                        Bot.SteamFriends.SendChatMessage(OtherSID, EChatEntryType.ChatMsg, "Thank you for donating!");
                        Bot.SteamFriends.SendChatMessage(clsFunctions.BotsOwnerID, EChatEntryType.ChatMsg, "A user just donated!");
                    }

                    Log.Success("Trade Complete!");
                }
                catch (System.Exception ex)
                {
                    Log.Warn("The trade might have failed, but we can't be sure.");
                    Log.Warn(ex.Message);
                }
            }
            Bot.SteamFriends.SetPersonaState(EPersonaState.Online);

            OnTradeClose();
        }