Example #1
0
        public bool PlayGame(string gameName)
        {
            var request = new ClientMsgProtobuf <CMsgClientGamesPlayed>(EMsg.ClientGamesPlayed);

            var gamePlayed = new CMsgClientGamesPlayed.GamePlayed();

            if (!string.IsNullOrEmpty(gameName))
            {
                gamePlayed.game_id = new GameID()
                {
                    AppType = GameID.GameType.Shortcut,
                    ModID   = uint.MaxValue
                };
                gamePlayed.game_extra_info = gameName;
            }

            request.Body.games_played.Add(gamePlayed);
            if (!steamClient.IsConnected)
            {
                return(false);
            }

            steamClient.Send(request);
            return(true);
        }
Example #2
0
        public void Play(CMsgClientGamesPlayed.GamePlayed game)
        {
            var msg = new ClientMsgProtobuf <CMsgClientGamesPlayed>(EMsg.ClientGamesPlayed);

            msg.Body.games_played.Add(game);
            msg.Body.client_os_type = 14;
            Client.Send(msg);
        }
Example #3
0
        public void ConnectToGC(ulong appId)
        {
            var playMsg = new ClientMsgProtobuf <CMsgClientGamesPlayed>(
                EMsg.ClientGamesPlayedWithDataBlob);
            var game = new CMsgClientGamesPlayed.GamePlayed
            {
                game_id         = new GameID(appId),
                game_extra_info = "Mist - Portable Steam Client",
            };

            playMsg.Body.games_played.Add(game);
            SteamClient.Send(playMsg);
        }
Example #4
0
        void ConnectToGC(int appId)
        {
            var playMsg = new ClientMsgProtobuf <CMsgClientGamesPlayed>(
                EMsg.ClientGamesPlayed);

            var game = new CMsgClientGamesPlayed.GamePlayed
            {
                game_id = new GameID(appId)
            };

            playMsg.Body.games_played.Add(game);

            SteamClient.Send(playMsg);
        }
Example #5
0
        public void Launch(uint appId)
        {
            App = appId;

            var playing = new CMsgClientGamesPlayed.GamePlayed {
                game_id         = appId,
                game_extra_info = "Dota 2",
                process_id      = 6421,
                game_flags      = 0,
//                owner_id = Bot.User.SteamID.AccountID
            };

            Bot.Play(playing);
        }
Example #6
0
        static void OnLoggedOn(SteamUser.LoggedOnCallback callback)
        {
            bool isSteamGuard = callback.Result == EResult.AccountLogonDenied;
            bool is2FA        = callback.Result == EResult.AccountLoginDeniedNeedTwoFactor;

            if (isSteamGuard || is2FA)
            {
                Console.WriteLine("This account is SteamGuard protected!");

                if (is2FA)
                {
                    Console.Write("Please enter your 2 factor auth code from your authenticator app: ");
                    twoFactorAuth = Console.ReadLine();
                }
                else
                {
                    Console.Write("Please enter the auth code sent to the email at {0}: ", callback.EmailDomain);
                    authCode = Console.ReadLine();
                }

                return;
            }

            if (callback.Result != EResult.OK)
            {
                Console.WriteLine("Unable to logon to Steam: {0} / {1}", callback.Result, callback.ExtendedResult);

                isRunning = false;
                return;
            }

            Console.WriteLine("Successfully logged on!");

            // at this point, we'd be able to perform actions on Steam
            ClientMsgProtobuf <CMsgClientGamesPlayed> msg = new ClientMsgProtobuf <CMsgClientGamesPlayed>(EMsg.ClientGamesPlayed, 64);

            CMsgClientGamesPlayed.GamePlayed item = new CMsgClientGamesPlayed.GamePlayed
            {
                game_id = (ulong)new GameID(730)
            };
            msg.Body.games_played.Add(item);

            steamClient.Send(msg);
            Thread.Sleep(5000);

            var clienthello = new ClientGCMsgProtobuf <CMsgClientHello>(4006);

            gameCoordinator.Send(clienthello, 730);
        }
        public override void SetStatusMessage(object sender, string message)
        {
            var request = new ClientMsgProtobuf <CMsgClientGamesPlayed>(EMsg.ClientGamesPlayed);

            var gamePlayed = new CMsgClientGamesPlayed.GamePlayed();

            if (!string.IsNullOrEmpty(message))
            {
                gamePlayed.game_id         = 12350489788975939584;
                gamePlayed.game_extra_info = message;
            }

            request.Body.games_played.Add(gamePlayed);

            steamClient.Send(request);
        }
Example #8
0
        static void OnLoggedOn(SteamUser.LoggedOnCallback callback)
        {
            bool isSteamGuard = callback.Result == EResult.AccountLogonDenied;
            bool is2FA        = callback.Result == EResult.AccountLoginDeniedNeedTwoFactor;

            if (isSteamGuard || is2FA)
            {
                if (is2FA)
                {
                    twoFactorAuth = Console.ReadLine();
                }
                else
                {
                    authCode = Console.ReadLine();
                }

                return;
            }

            if (callback.Result != EResult.OK)
            {
                mainform.isjoinlobby = false;
                return;
            }

            statusteam = "Зашел в аккаунт!";

            // at this point, we'd be able to perform actions on Steam
            ClientMsgProtobuf <CMsgClientGamesPlayed> msg = new ClientMsgProtobuf <CMsgClientGamesPlayed>(EMsg.ClientGamesPlayed, 64);

            CMsgClientGamesPlayed.GamePlayed item = new CMsgClientGamesPlayed.GamePlayed
            {
                game_id = (ulong)new GameID(730)
            };
            msg.Body.games_played.Add(item);

            steamClient.Send(msg);
            Thread.Sleep(5000);

            var clienthello = new ClientGCMsgProtobuf <CMsgClientHello>(4006);

            gameCoordinator.Send(clienthello, 730);
        }
Example #9
0
        public void ConnectToGC(ulong appId)
        {
            var playMsg = new ClientMsgProtobuf <CMsgClientGamesPlayed>(
                EMsg.ClientGamesPlayedWithDataBlob);
            var game = new CMsgClientGamesPlayed.GamePlayed
            {
                game_id         = new GameID(appId),
                game_extra_info = "Mist - Portable Steam Client",
            };

            playMsg.Body.games_played.Add(game);
            SteamClient.Send(playMsg);
            if (appId == 570)
            {
                Thread.Sleep(1000);
                var helloMsg = new ClientGCMsgProtobuf <CMsgClientHello>(4006);
                SteamGC.Send(helloMsg, 570);
            }
        }
Example #10
0
        public void OpenDota()
        {
            CMsgClientGamesPlayed.GamePlayed playingDota2 = new CMsgClientGamesPlayed.GamePlayed();
            playingDota2.game_id = new GameID(DOTA_APP_ID);
            ClientMsgProtobuf <CMsgClientGamesPlayed> playMsg = new ClientMsgProtobuf <CMsgClientGamesPlayed>(EMsg.ClientGamesPlayed);

            playMsg.Body.games_played.Add(playingDota2);
            steam.Send(playMsg);

            Thread.Sleep(5000); // TODO: Can we not wait for something a bit more reliable? Like a callback or something?

            ClientGCMsgProtobuf <CMsgClientHello> dotaHello = new ClientGCMsgProtobuf <CMsgClientHello>((uint)EGCBaseClientMsg.k_EMsgGCClientHello);

            dotaHello.Body.engine = ESourceEngine.k_ESE_Source2;
            gameCoordinator.Send(dotaHello, DOTA_APP_ID);

            while (!welcomed)
            {
                manager.RunWaitCallbacks(TimeSpan.FromMilliseconds(100));
            }
        }
Example #11
0
        public void SetGamePlayingNormal2(uint _gameID, string _game)//ver
        {
            ClientMsgProtobuf <CMsgClientGamesPlayed> gamePlaying = new ClientMsgProtobuf <CMsgClientGamesPlayed>(EMsg.ClientGamesPlayed);

            CMsgClientGamesPlayed.GamePlayed teste = new CMsgClientGamesPlayed.GamePlayed();
            GameID game_id = new GameID(_gameID);

            if (_game.Length < 1)//nao
            {
                // gamePlaying.Body.games_played.Add();
                gamePlaying.Body.games_played.Add(new CMsgClientGamesPlayed.GamePlayed {
                    game_id = new GameID(_gameID)
                });
            }
            else
            {
                gamePlaying.Body.games_played.Add(new CMsgClientGamesPlayed.GamePlayed {
                    game_id = 12350489788975939584, game_extra_info = _game
                });
            }


            Client.Send(gamePlaying);
        }
Example #12
0
        public override void OnLoggedOn(SteamUser.LoggedOnCallback callback)
        {
            switch (callback.Result)
            {
            case EResult.OK:
                _log.Debug("Successfully logged in. Checking for any VAC or game bans...");

                if (Titan.Instance.WebHandle.RequestBanInfo(_steamUser.SteamID.ConvertToUInt64(), out var banInfo))
                {
                    if (banInfo.VacBanned || banInfo.GameBanCount > 0)
                    {
                        _log.Warning("The account has a ban on record. " +
                                     "If the VAC/Game ban ban is from CS:GO, a {Mode} is not possible. " +
                                     "Proceeding with caution.", _reportInfo != null ? "report" :"commend");
                        Result = Result.AccountBanned;
                    }
                }

                _log.Debug("Registering that we're playing CS:GO...");

                _steamFriends.SetPersonaState(EPersonaState.Online);

                var playGames = new ClientMsgProtobuf <CMsgClientGamesPlayed>(EMsg.ClientGamesPlayed);
                if (_idleInfo != null)
                {
                    foreach (var gameID in _idleInfo.GameID)
                    {
                        var gamesPlayed = new CMsgClientGamesPlayed.GamePlayed
                        {
                            game_id = Convert.ToUInt64(gameID)
                        };

                        if (gameID == 0)
                        {
                            gamesPlayed.game_extra_info = Titan.Instance.UIManager.GetForm <General>(UIType.General)
                                                          .CustomGameName;
                        }

                        playGames.Body.games_played.Add(gamesPlayed);
                    }
                }
                else
                {
                    playGames.Body.games_played.Add(new CMsgClientGamesPlayed.GamePlayed
                    {
                        game_id = 730
                    });
                }
                _steamClient.Send(playGames);

                Thread.Sleep(5000);


                if (_idleInfo == null)
                {
                    _log.Debug("Successfully registered playing CS:GO. Sending client hello to CS:GO services.");

                    var clientHello =
                        new ClientGCMsgProtobuf <CMsgClientHello>((uint)EGCBaseClientMsg.k_EMsgGCClientHello);
                    _gameCoordinator.Send(clientHello, 730);
                }
                else
                {
                    Trigger = TriggerBuilder.Create()
                              .WithIdentity("Idle Trigger - " + JsonAccount.Username + " (Unprotected)", "Titan")
                              .StartNow()
                              .WithSimpleSchedule(x => x
                                                  .WithIntervalInMinutes(_idleInfo.Minutes)
                                                  .WithRepeatCount(1))
                              .Build();

                    Titan.Instance.Scheduler.ScheduleJob(Job, Trigger);

                    _idleInfo.StartTick = DateTime.Now.Ticks;

                    _log.Debug("Successfully registered idling in requested games. Starting scheduler.");
                }
                break;

            case EResult.AccountLoginDeniedNeedTwoFactor:
            case EResult.AccountLogonDenied:
                _log.Debug("Two Factor Authentification is activated on this account. Please set " +
                           "Sentry to {true} in the accounts.json for this account.", true);

                Stop();

                IsRunning = false;
                Result    = Result.SentryRequired;
                break;

            case EResult.InvalidPassword:
            case EResult.NoConnection:
            case EResult.Timeout:
            case EResult.TryAnotherCM:
            case EResult.TwoFactorCodeMismatch:
            case EResult.ServiceUnavailable:
                _log.Error("Unable to connect to Steam: {Reason}. Retrying...", callback.ExtendedResult);

                break;

            case EResult.RateLimitExceeded:
                _log.Debug("Steam Rate Limit has been reached. Please try it again in a few minutes...");

                Stop();

                IsRunning = false;
                Result    = Result.RateLimit;
                break;

            case EResult.AccountDisabled:
                _log.Error("This account has been permanently disabled by the Steam network.");

                Stop();

                IsRunning = false;
                Result    = Result.AccountBanned;
                break;

            default:
                _log.Error("Unable to logon to account: {Result}: {ExtendedResult}", callback.Result, callback.ExtendedResult);

                Stop();
                IsRunning = false;
                break;
            }
        }
Example #13
0
        static void OnChatMessage(SteamFriends.FriendMsgCallback callback)
        {
            string[] args;

            if (callback.EntryType == EChatEntryType.ChatMsg)
            {
                if (callback.Message.Length > 1)
                {
                    if (callback.Message.Remove(1) == "!")
                    {
                        string command = callback.Message;
                        if (callback.Message.Contains(" "))
                        {
                            command = callback.Message.Remove(callback.Message.IndexOf(' '));
                        }

                        switch (command)
                        {
                        case "!coder":
                            args = seperate(0, ' ', callback.Message);
                            Console.WriteLine("[i] Your Steamfriend {0} has used the command !coder", steamFriends.GetFriendPersonaName(callback.Sender));
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "Coder: Logan.");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "Coded in: C#");

                            break;

                            #region Clear
                        case "!clear":
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, " ");
                            break;

                            #endregion
                        case "!send":
                            args = seperate(2, ' ', callback.Message);

                            if (args[0] == "-1")
                            {
                                steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "Correct Syntax: !send [Friend] [message]");
                                steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "Please write the name in lower cases!");
                                return;
                            }
                            Console.WriteLine("[i] Your Steamfriend {0} has orderd you to send " + args[1] + " " + args[2] + " !", steamFriends.GetFriendPersonaName(callback.Sender));
                            for (int i = 0; i < steamFriends.GetFriendCount(); i++)
                            {
                                SteamID friend = steamFriends.GetFriendByIndex(i);
                                if (steamFriends.GetFriendPersonaName(friend).ToLower().Contains(args[1]))
                                {
                                    steamFriends.SendChatMessage(friend, EChatEntryType.ChatMsg, args[2]);
                                }
                            }
                            break;

                        case "!help":
                            Console.WriteLine("[i] Your Steamfriend {0} has used the Command !help", steamFriends.GetFriendPersonaName(callback.Sender));
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "Welcome friend. So you need help? Type !ger for german help or !eng for english help.");
                            break;

                        case "!ger":
                            Console.WriteLine("[i] Your Steamfriend {0} has used the Command !ger", steamFriends.GetFriendPersonaName(callback.Sender));
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "Hallo, Du hast die ehre mit dem wundervollen Steambot von mir zu schreiben! Achtung: Ich bin KEIN Tradebot. Ich mach diesen BOT an wenn ich den Account gerade nicht benutze / AFK bin. Also kannst du dich mit ihm unterhalten :) Benutze !commands für eine volle commands liste. Viel Spaß :)");
                            break;

                        case "!eng":
                            Console.WriteLine("[i] Your Steamfriend {0} has used the Command !eng", steamFriends.GetFriendPersonaName(callback.Sender));
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "Nothing to see here. Wait for an Update! :)");
                            break;

                        case "!steamID":
                            Console.WriteLine("[i] Your Steamfriend {0} has used the Command !steamID", steamFriends.GetFriendPersonaName(callback.Sender));
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "Your SteamID is: " + callback.Sender);

                            break;

                        case "!friends":
                            Console.WriteLine("[i] Your Steamfriend {0} has used !friends", steamFriends.GetFriendPersonaName(callback.Sender));
                            for (int i = 0; i < steamFriends.GetFriendCount(); i++)
                            {
                                SteamID friend = steamFriends.GetFriendByIndex(i);
                                steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "Friend: " + steamFriends.GetFriendPersonaName(friend) + " State: " + steamFriends.GetFriendPersonaState(friend));
                            }
                            break;

                        case "!music":
                            Console.WriteLine("[i] Your Steamfriend {0} has used !music", steamFriends.GetFriendPersonaName(callback.Sender));
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "The music I often listen to:");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "https://www.youtube.com/watch?v=GSWJ21L4SfQ");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "https://www.youtube.com/watch?v=O81P0dWo6yg");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "https://www.youtube.com/watch?v=cEU1NV3efDo");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "https://www.youtube.com/watch?v=09wdQP1FFR0");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "https://www.youtube.com/watch?v=_y8p6uQDH4s");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "https://www.youtube.com/watch?v=pVLmZMjxfjw");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "Stay tuned for updates :)");

                            break;

                        case "!teamspeak":
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "XXXXXXXXX");
                            break;

                        case "!imp":
                            args = seperate(1, ' ', callback.Message);
                            for (int i = 0; i < steamFriends.GetFriendCount(); i++)
                            {
                                SteamID friend = steamFriends.GetFriendByIndex(i);
                                if (args[0] == "-1")
                                {
                                    steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "Correct Syntax: !imp [message]");
                                    return;
                                }
                                if (steamFriends.GetFriendPersonaName(friend).Contains("Logan"))
                                {
                                    steamFriends.SendChatMessage(friend, EChatEntryType.ChatMsg, "Important message from: " + steamFriends.GetFriendPersonaName(callback.Sender) + ": " + args[1]);
                                    Console.Beep();
                                }
                            }
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "Message sent succesfully!");
                            Console.WriteLine("\n\n==============================================================");
                            Console.WriteLine("IMPORTANT: You have recieved an IMPORTANT message from {0}", steamFriends.GetFriendPersonaName(callback.Sender));
                            Console.WriteLine("{0}: " + args[1], steamFriends.GetFriendPersonaName(callback.Sender));
                            Console.WriteLine("[i] End of message.");
                            Console.WriteLine("==============================================================\n");
                            break;

                        case "!commands":
                            Console.WriteLine("[i] I listed some commands to {0}", steamFriends.GetFriendPersonaName(callback.Sender));
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "Commandlist:");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "!help - For more help");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "!ger - Help in german");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "!eng - Help in english");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "!steamID - Get your SteamID");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "!friends - Get my Friendslist");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "!music - Get my fav. music atm");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "!coder - Get the coder of this bot");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "!send - Send any friend of mine a message");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "!teamspeak - Get my teamspeak IP");
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, "!commands - Get the full command list");
                            break;

                        case "!rename":
                            args = seperate(1, ' ', callback.Message);

                            steamFriends.SetPersonaName(args[1]);
                            break;

                        case "!news":
                            News();

                            break;

                        case "!dev":
                            ClientMsgProtobuf <CMsgClientGamesPlayed> msg  = new ClientMsgProtobuf <CMsgClientGamesPlayed>(EMsg.ClientGamesPlayed);
                            CMsgClientGamesPlayed.GamePlayed          item = new CMsgClientGamesPlayed.GamePlayed
                            {
                                game_id = (ulong)new GameID(730)
                            };
                            msg.Body.games_played.Add(item);
                            steamClient.Send(msg);
                            Thread.Sleep(5000);
                            ClientGCMsgProtobuf <CMsgClientHello> Servus = new ClientGCMsgProtobuf <CMsgClientHello>(4006, 64);
                            gameCoordinator.Send(Servus, 730);
                            break;
                        }
                    }

                    string rLine;
                    string trimmed = callback.Message;
                    char[] trim    = { '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '-', '_', '=', '+', '[', ']', '{', '}', '\\', '|', ';', ':', '"', '\'', ',', '<', '.', '>', '/', '?' };
                    for (int i = 0; i < 30; i++)
                    {
                        trimmed = trimmed.Replace(trim[i].ToString(), "");
                    }
                    StreamReader sReader = new StreamReader("chat.txt");
                    while ((rLine = sReader.ReadLine()) != null)
                    {
                        string text     = rLine.Remove(rLine.IndexOf('|') - 1);
                        string response = rLine.Remove(0, rLine.IndexOf('|') + 2);

                        if (callback.Message.Contains(text))
                        {
                            steamFriends.SendChatMessage(callback.Sender, EChatEntryType.ChatMsg, response);
                            sReader.Close();
                            return;
                        }
                    }
                }
            }
        }