public void OnGroupChatMessage(SteamFriends.ChatMsgCallback e) { Bot._getUserHandler(e.ChatterID).OnChatRoomMessage( e.ChatRoomID, e.ChatterID, e.Message); Log.Info("Group chat message from {0}: {1}", Bot.SteamFriends .GetFriendPersonaName(e.ChatterID), e.Message); }
private void OnChatMsg(SteamFriends.ChatMsgCallback callback) { Kraxbot.Log($"{kraxbot.GetFriendPersonaName(callback.ChatterID)} ({callback.ChatRoomID}): {callback.Message}"); // TODO: We could launch this in another thread to let it do heavy stuff cmnd.Handle(callback.ChatRoomID, callback.ChatterID, callback.Message); }
public void CheckForLetter(SteamFriends.ChatMsgCallback callback, string[] args) { if (_inProgress && callback.Message.Contains(_bannedLetter.ToString())) { SteamNerd.SteamFriends.KickChatMember(callback.ChatRoomID, callback.ChatterID); } }
public void OnBChatMessage(SteamFriends.ChatMsgCallback callback) { if (callback.Message == ".sleep") { steamFriends.SendChatMessage(callback.ChatterID, EChatEntryType.ChatMsg, "hehe xd bye"); steamClient.Disconnect(); Environment.Exit(0); } if (callback.Message == ".ping") { steamFriends.SendChatMessage(callback.ChatterID, EChatEntryType.ChatMsg, "pong!:chocola3:"); } if (callback.Message == ".help") { steamFriends.SendChatMessage(callback.ChatterID, EChatEntryType.ChatMsg, "\n.ping:chocola3:\n.sleep:chocola3:\n.say (text):chocola3:"); } if (callback.Message.Contains(".say")) { string xd = callback.Message.Replace(".say ", ""); steamFriends.SendChatMessage(callback.ChatterID, EChatEntryType.ChatMsg, xd); } UInt64 IDD = 76561198044693012; if (callback.ChatterID == IDD) { steamFriends.SendChatMessage(callback.ChatterID, EChatEntryType.ChatMsg, "test"); } }
/// <summary> /// Starts a vote on a question or whatever. /// </summary> /// <param name="callback"></param> /// <param name="args"></param> public void Vote(SteamFriends.ChatMsgCallback callback, string[] args) { if (_voting || args.Length < 2) { return; } var sentence = args.Skip(1).Aggregate((current, next) => current + " " + next); sentence = sentence.Trim(); SteamNerd.SendMessage("Voting has started! Type aye or nay to vote.", callback.ChatRoomID); SteamNerd.SendMessage(sentence, callback.ChatRoomID); // Reset ayes and nays _ayes = _nays = 0; _voters = new List <SteamID>(); _voting = true; _voteTimer = new Timer(30000); _voteTimer.AutoReset = false; _voteTimer.Elapsed += (src, e) => TallyVotes(callback); _voteTimer.Start(); }
public void AddAnime(SteamFriends.ChatMsgCallback callback, string[] args) { var anime = args.Skip(2).Aggregate((current, next) => current + " " + next); _animes.Add(anime); _changed = true; }
public void Spin(SteamFriends.ChatMsgCallback callback, string[] args) { if (_inProgress && _betTimerOver && !_spinning && callback.ChatterID == _players[_currentSpinner]) { PlayerSpin(callback.ChatterID, callback.ChatRoomID); } }
private void chatMessageCallback(SteamFriends.ChatMsgCallback callback) { if (base.listenCallback != null && callback.ChatRoomID.AccountID == this.id.AccountID) { base.ListenCallback(base.createMessageLabel(this.getPrifix(callback.ChatterID) + callback.Message)); } }
public void DoTheBet(SteamFriends.ChatMsgCallback callback, string[] args) { var chat = callback.ChatRoomID; var chatter = callback.ChatterID; var name = SteamNerd.ChatterNames[chatter]; // If someone bets early if (!_inProgress) { SteamNerd.SendMessage(string.Format("There's no match to bet on, {0}. Good job, idiot.", name), chat); } else if (!_betTimerOver) { if (args.Length < 3) { SteamNerd.SendMessage(string.Format("Usage: {0}bet [player] [money]", SteamNerd.CommandChar), chat); return; } int bet; if (!int.TryParse(args[2], out bet)) { SteamNerd.SendMessage(string.Format("Usage: {0}bet [player] [money]", SteamNerd.CommandChar), chat); return; } AddBet(callback.ChatterID, callback.ChatRoomID, args[1], bet); } }
public void GetLoan(SteamFriends.ChatMsgCallback callback, string[] args) { if (args.Length < 2) { SteamNerd.SendMessage(string.Format("Usage: {0}loan [money]", SteamNerd.CommandChar), callback.ChatRoomID); return; } var chatter = callback.ChatterID; if (!_money.ContainsKey(chatter)) { AddSteamID(chatter); } var name = SteamNerd.ChatterNames[chatter]; var money = _money[chatter]; var loans = _loans[chatter]; int amount; if (!int.TryParse(args[1], out amount)) { SteamNerd.SendMessage(string.Format("{0}, that's not a number", name), callback.ChatRoomID); return; } if (amount < 0) { SteamNerd.SendMessage(string.Format("{0}, you can't borrow negative money", name), callback.ChatRoomID); return; } AddMoney(chatter, callback.ChatRoomID, amount); AddLoan(chatter, callback.ChatRoomID, amount); }
public void OnSteamChatMessage(SteamFriends.ChatMsgCallback callback) { if (callback.ChatMsgType != EChatEntryType.ChatMsg || callback.ChatterID == Steam.Instance.Client.SteamID) { return; } var commandData = new CommandArguments { CommandType = ECommandType.SteamChatRoom, SenderID = callback.ChatterID, ChatRoomID = callback.ChatRoomID, Message = callback.Message }; PubFileHandler.OnMessage(commandData); LinkExpander.OnMessage(commandData); if (callback.Message[0] != Settings.Current.IRC.CommandPrefix || callback.Message.Contains('\n')) { return; } Log.WriteInfo("CommandHandler", "Handling Steam command \"{0}\" for {1}", callback.Message, commandData); HandleSteamMessage(commandData); }
public void GetHelp(SteamFriends.ChatMsgCallback callback, string[] args) { //var chat = callback.ChatRoomID; //if (args.Length == 1) //{ // var message = "Help is here to help you.\nModules:\n"; // foreach (var module in SteamNerd.Modules) // { // if (module.Name != null && module.Name != "") // { // message += module.Name + "\n"; // } // } // message += "\nIf you would like more help on a certain module, type {0}help [module]"; // SteamNerd.SendMessage(string.Format(message, SteamNerd.CommandChar), chat); //} //else //{ // var modString = args.Skip(1).Aggregate((mod, next) => mod + " " + next); // var module = SteamNerd.GetModule(modString); // if (module == null) // { // SteamNerd.SendMessage(string.Format("Module {0} not found!", args[1]), chat); // return; // } // ModuleHelp(module, chat); //} }
public void GetTodo(SteamFriends.ChatMsgCallback callback, string[] args) { if (args.Length == 1) { PrintTodo(callback); } else { var subcommand = args[1]; switch (subcommand) { case "add": AddTodo(callback.ChatRoomID, args); break; case "remove": RemoveTodo(callback.ChatRoomID, args); break; default: var message = string.Format("Unknown subcommand. Use {0}help for help.", SteamNerd.CommandChar); SteamNerd.SendMessage(message, callback.ChatRoomID); break; } } }
public void Insure(SteamFriends.ChatMsgCallback callback, string[] args) { if (!_canInsure) { return; } var chat = callback.ChatRoomID; var playerID = callback.ChatterID; var name = SteamNerd.ChatterNames[playerID]; var player = _players[playerID]; var bet = player.Bet / 2; if (player.HasInsurance == false) { if (_moneyModule.GetPlayerMoney(playerID) < bet) { SteamNerd.SendMessage(string.Format("{0}, you don't have ${1}! You can't buy insurance!", name, bet), chat); return; } player.HasInsurance = true; SteamNerd.SendMessage(string.Format("{0} bought insurance for ${1}.", name, bet), chat); _moneyModule.AddMoney(playerID, chat, -bet); } // Done paying out _canInsure = false; }
/// <summary> /// When a chat message is received, signal the modules. Also checks /// against every module's commands. /// </summary> /// <param name="callback"></param> /// <param name="args"></param> public void ChatMessageSent(SteamFriends.ChatMsgCallback callback, string[] args) { // Get both the global modules and the modules specific to that chatroom. var modules = _globalModules.Values.ToList(); modules.AddRange(_chatroomModules[callback.ChatRoomID].Values); foreach (var module in modules) { // Find the command var command = module.FindCommand(args); // If FindCommand returned something, execute it. if (command.HasValue) { try { command.Value.Callback(callback, args); } catch (Exception e) { PrintStackFrame(e); } } } foreach (var module in modules) { module.OnChatMessage(callback, args); } }
public void DoubleDown(SteamFriends.ChatMsgCallback callback, string[] args) { var playerID = callback.ChatterID; var player = _players[playerID]; var name = SteamNerd.ChatterNames[playerID]; var handNum = ParseHand(player, args); var hand = player.Hands[handNum]; if (hand.State != HandState.None || hand.Cards.Count > 2) { var errMsg = string.Format("{0}, you can't double down with this hand.", name); SteamNerd.SendMessage(errMsg, _chat); return; } if (_moneyModule.GetPlayerMoney(playerID) < player.Bet) { var errMsg = string.Format("{0}, don't have enough money to double down!", name); SteamNerd.SendMessage(errMsg, _chat); return; } _moneyModule.AddMoney(playerID, _chat, -player.Bet); Deal(hand); var value = hand.GetValue(); hand.State = value > 21 ? HandState.Bust : HandState.DoubleDown; PrintPlayersHands(playerID); CheckHands(); }
/// <summary> /// Checks if what a person typed was a vote and counts them. /// </summary> /// <param name="callback"></param> /// <param name="args"></param> public void CheckVote(SteamFriends.ChatMsgCallback callback, string[] args) { var name = SteamNerd.ChatterNames[callback.ChatterID]; var message = callback.Message.ToLower(); if (!_voting || _voters.Contains(callback.ChatterID)) { return; } if (message == "aye") { _ayes++; SteamNerd.SendMessage(string.Format("{0} voted aye", name), callback.ChatRoomID); } else if (message == "nay") { _nays++; SteamNerd.SendMessage(string.Format("{0} voted nay", name), callback.ChatRoomID); } else { return; } _voters.Add(callback.ChatterID); if (_voters.Count == SteamNerd.ChatterNames.Count - 1) { _voteTimer.Stop(); TallyVotes(callback); } }
public void PlayingCommands(SteamFriends.ChatMsgCallback callback, string[] args) { if (!_players.ContainsKey(callback.ChatterID)) { return; } var command = args[0].ToLower(); if (_gameState == State.Betting) { switch (command) { case "bet": PlayerBet(callback, args); break; case "quit": Quit(callback, args); break; } } else if (_gameState == State.PlayerTurn) { switch (command) { case "hit": case "twist": Hit(callback, args); break; case "stand": case "stick": case "stay": Stand(callback, args); break; case "double": DoubleDown(callback, args); break; case "split": Split(callback, args); break; case "surrender": Surrender(callback, args); break; case "insurance": Insure(callback, args); break; case "hand": PrintPlayersHands(callback.ChatterID); break; } } }
static void OnGroupChatMsg(SteamFriends.ChatMsgCallback callback) { if (callback.ChatMsgType == EChatEntryType.ChatMsg) { // Console.WriteLine("Message received in {0}'s group chat: {1} says: {2}", callback.ChatRoomID, callback.ChatterID, callback.Message); UserHandler.steamBotCommandsHandling(callback.Message, callback.ChatterID, callback.ChatRoomID); } }
public override void OnChatMsg(SteamFriends.ChatMsgCallback callback) { Console.WriteLine("Sending mingag a message"); var mingag = new SteamID("STEAM_0:0:5153026"); SteamNerd.SendMessage(string.Format("{0}: {1}", SteamNerd.ChatterNames[callback.ChatterID], callback.Message), mingag); }
void OnChatMessage(SteamFriends.ChatMsgCallback cb) { Log.WriteLine("OnChatMessage {0}", cb.ChatRoomID); var room = ChatRoom.Active.FindOrCreate(cb.ChatRoomID); room.Messages.Add(new ChatMessage { Message = cb.Message, Sender = cb.ChatterID, Type = cb.ChatMsgType }); }
static void OnChatRoomMsg(SteamFriends.ChatMsgCallback callback)// ver isto nao alterado para grupos , id steamid name { if (callback.ChatMsgType == EChatEntryType.ChatMsg) { var Settingslist = JsonConvert.DeserializeObject <ChatLoggerSettings>(File.ReadAllText(Program.SettingsJsonFile)); string GroupName = Extensions.ResolveGroupName(callback.ChatRoomID); ulong FriendID = callback.ChatterID; string Message = callback.Message; string FriendName = steamFriends.GetFriendPersonaName(FriendID); string nameClean = Regex.Replace(FriendName, "[^A-Za-z0-9 _]", ""); string FriendIDName = @"\[" + FriendID + "] - " + nameClean + ".txt"; string pathLog = Settingslist.PathLogs + @"\" + steamClient.SteamID.ConvertToUInt64() + FriendIDName; string FinalMsg = "[" + DateTime.Now + "] " + steamFriends.GetPersonaName() + ": " + Message; LastMessageSent = "[" + DateTime.Now.ToString("HH:mm:ss") + "] " + steamFriends.GetFriendPersonaName(CurrentSteamID).Replace(":", "") + ": " + Message; Console.WriteLine("\nYou sent a message to " + FriendName + "\n Saying: " + Message); if (!Directory.Exists(Settingslist.PathLogs + @"\" + steamClient.SteamID.ConvertToUInt64())) { Directory.CreateDirectory(Settingslist.PathLogs + @"\" + steamClient.SteamID.ConvertToUInt64()); } string[] files = Directory.GetFiles(Settingslist.PathLogs + @"\" + steamClient.SteamID.ConvertToUInt64(), "[" + FriendID + "]*.txt"); if (files.Length > 0)//file exist { string[] LastDate = File.ReadLines(files[0]).Last().Split(' '); LastDate[0] = LastDate[0].Substring(1); using (var tw = new StreamWriter(files[0], true)) { if (LastDate[0] != DateTime.Now.Date.ToShortDateString()) { tw.WriteLine(Settingslist.Separator + "\n" + FinalMsg); } else { tw.WriteLine(FinalMsg); } } } else { FileInfo file = new FileInfo(pathLog); file.Directory.Create(); File.WriteAllText(pathLog, FinalMsg + "\n"); } } }
private static void OnChatMsg(SteamFriends.ChatMsgCallback callback) { Log.Instance.Info("Chat Msg " + callback.ChatMsgType + " " + callback.ChatRoomID + ": " + callback.Message); if (callback.ChatMsgType == EChatEntryType.ChatMsg) { foreach (BaseTrigger trigger in triggers) { trigger.OnChatMessage(callback.ChatRoomID, callback.ChatterID, callback.Message, true); } } }
private void OnChatMsg(SteamFriends.ChatMsgCallback callback) { if (callback.ChatMsgType != EChatEntryType.ChatMsg) { return; } var args = MessageToArgs(callback.Message); ModuleManager.ChatMessageSent(callback, args); }
public void Rules(SteamFriends.ChatMsgCallback callback) { if (_inProgress) { SteamNerd.SendMessage(string.Format("If you type '{0}', you die!", _bannedLetter), callback.ChatRoomID); } else { SteamNerd.SendMessage("No game in progress.", callback.ChatRoomID); } }
public void Stop(SteamFriends.ChatMsgCallback callback) { if (!_inProgress) { return; } _inProgress = false; SteamNerd.SendMessage("The Letter Game is over!", callback.ChatRoomID); _changeTimer.Stop(); }
public void Recommend(SteamFriends.ChatMsgCallback callback, string[] args) { if (args.Length > 1) { return; } var name = SteamNerd.ChatterNames[callback.ChatterID]; var randomAnime = _animes[_rand.Next(_animes.Count)]; SteamNerd.SendMessage(string.Format("{0}, watch {1}!", name, randomAnime), callback.ChatRoomID); }
public void Split(SteamFriends.ChatMsgCallback callback, string[] args) { var playerID = callback.ChatterID; var player = _players[playerID]; var name = SteamNerd.ChatterNames[playerID]; var handNum = ParseHand(player, args); var hand1 = player.Hands[handNum]; var bet = player.Bet; if (hand1.State != HandState.None || hand1.Cards.Count != 2 || hand1.Cards[0].GetValue() != hand1.Cards[1].GetValue()) { var errMsg = string.Format("{0}, you can't split this hand.", name); SteamNerd.SendMessage(errMsg, _chat); return; } if (_moneyModule.GetPlayerMoney(playerID) < player.Bet) { var errMsg = string.Format("{0}, don't have enough money to split!", name); SteamNerd.SendMessage(errMsg, _chat); return; } _moneyModule.AddMoney(playerID, _chat, -player.Bet); // Split the hand var hand2 = new Hand(); player.Hands.Add(hand2); hand2.Cards.Add(hand1.Cards[1]); hand1.Cards.RemoveAt(1); // Check if aces var aceSplit = hand1.Cards[0].Rank == Deck.Rank.Ace; // Deal to both hands Deal(hand1); Deal(hand2); foreach (var hand in new[] { hand1, hand2 }) { if (aceSplit) { // Splits aren't considered natural blackjacks hand.State = hand.GetValue() == 21 ? HandState.Stand : HandState.AceSplit; } } PrintPlayersHands(playerID); CheckHands(); }
public void PrintLoans(SteamFriends.ChatMsgCallback callback, string[] args) { var chatter = callback.ChatterID; var name = SteamNerd.ChatterNames[chatter]; if (!_money.ContainsKey(chatter)) { AddSteamID(chatter); } SteamNerd.SendMessage(string.Format("{0} has ${1} in loans", name, _loans[chatter]), callback.ChatRoomID); }
public void Payback(SteamFriends.ChatMsgCallback callback, string[] args) { var chatter = callback.ChatterID; if (args.Length < 2) { SteamNerd.SendMessage(string.Format("Usage: {0}payback [money]", SteamNerd.CommandChar), callback.ChatRoomID); return; } if (!_money.ContainsKey(chatter)) { AddSteamID(chatter); } var name = SteamNerd.ChatterNames[chatter]; var money = _money[chatter]; var loans = _loans[chatter]; long amount; if (loans == 0) { SteamNerd.SendMessage(string.Format("{0}, you don't have any loans to payback!", name), callback.ChatRoomID); return; } if (!long.TryParse(args[1], out amount)) { SteamNerd.SendMessage(string.Format("{0}, that's not a number", name), callback.ChatRoomID); return; } if (amount < 0) { SteamNerd.SendMessage(string.Format("{0}, you can't payback negative money", name), callback.ChatRoomID); return; } if (amount > loans) { amount = loans; } if (amount > money) { SteamNerd.SendMessage(string.Format("{0}, you don't have ${1}!", name, amount), callback.ChatRoomID); return; } AddMoney(chatter, callback.ChatRoomID, -(int)amount); AddLoan(chatter, callback.ChatRoomID, -(int)amount); }