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); } }
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); } }
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); } }