Ejemplo n.º 1
0
        public void ReloadImportant(CommandHandler.CommandArguments command = null)
        {
            using (MySqlDataReader Reader = DbWorker.ExecuteReader("SELECT `AppID` FROM `ImportantApps` WHERE `Announce` = 1"))
            {
                ImportantApps.Clear();

                while (Reader.Read())
                {
                    ImportantApps.Add(Reader.GetUInt32("AppID"));
                }
            }

            using (MySqlDataReader Reader = DbWorker.ExecuteReader("SELECT `SubID` FROM `ImportantSubs`"))
            {
                ImportantSubs.Clear();

                while (Reader.Read())
                {
                    ImportantSubs.Add(Reader.GetUInt32("SubID"));
                }
            }

            if (command == null)
            {
                Log.WriteInfo("IRC Proxy", "Loaded {0} important apps and {1} packages", ImportantApps.Count, ImportantSubs.Count);
            }
            else
            {
                CommandHandler.ReplyToCommand(command, "{0}{1}{2}: Reloaded {3} important apps and {4} packages", Colors.OLIVE, command.Nickname, Colors.NORMAL, ImportantApps.Count, ImportantSubs.Count);
            }
        }
Ejemplo n.º 2
0
        public void OnChatMessage(SteamFriends.ChatMsgCallback callback)
        {
            if (callback.ChatMsgType != EChatEntryType.ChatMsg || callback.Message[0] != '!' || callback.Message.Contains('\n'))
            {
                return;
            }

            var i            = callback.Message.IndexOf(' ');
            var inputCommand = i == -1 ? callback.Message : callback.Message.Substring(0, i);

            Action <CommandHandler.CommandArguments> callbackFunction;

            if (CommandHandler.Commands.TryGetValue(inputCommand, out callbackFunction))
            {
                var input = i == -1 ? string.Empty : callback.Message.Substring(i).Trim();

                var command = new CommandHandler.CommandArguments
                {
                    SenderID   = callback.ChatterID,
                    ChatRoomID = callback.ChatRoomID,
                    Nickname   = Steam.Instance.Friends.GetFriendPersonaName(callback.ChatterID),
                    Message    = input
                };

                if (SteamDB.IsBusy())
                {
                    CommandHandler.ReplyToCommand(command, "{0}{1}{2}: The bot is currently busy.", Colors.OLIVE, command.Nickname, Colors.NORMAL);

                    return;
                }

                Log.WriteInfo("Steam", "Handling command {0} for user {1} in chatroom {2}", inputCommand, callback.ChatterID, callback.ChatRoomID);

                callbackFunction(command);
            }
        }
Ejemplo n.º 3
0
        public void OnChatMessage(SteamFriends.ChatMsgCallback callback)
        {
            if (callback.ChatMsgType != EChatEntryType.ChatMsg || callback.Message[0] != '!' || callback.Message.Contains('\n'))
            {
                return;
            }

            Action<CommandHandler.CommandArguments> callbackFunction;
            var messageArray = callback.Message.Split(' ');

            if (CommandHandler.Commands.TryGetValue(messageArray[0], out callbackFunction))
            {
                var command = new CommandHandler.CommandArguments
                {
                    SenderID = callback.ChatterID,
                    ChatRoomID = callback.ChatRoomID,
                    Nickname = Steam.Instance.Friends.GetFriendPersonaName(callback.ChatterID),
                    MessageArray = messageArray
                };

                if (SteamDB.IsBusy())
                {
                    CommandHandler.ReplyToCommand(command, "{0}{1}{2}: The bot is currently busy.", Colors.OLIVE, command.Nickname, Colors.NORMAL);

                    return;
                }

                Log.WriteInfo("Steam", "Handling command {0} for user {1} in chatroom {2}", messageArray[0], callback.ChatterID, callback.ChatRoomID);

                callbackFunction(command);
            }
        }