public void OnPrivateChannelMessageEvent(BotShell bot, PrivateChannelMessageArgs e) { if (e.Items.Length < 1) { return; } if (e.Self) { return; } if (!e.Local) { return; } foreach (AoItem item in e.Items) { lock (this._items) { if (!this._items.ContainsKey(item.LowID)) { continue; } this._database.ExecuteNonQuery(String.Format("INSERT INTO glyphs SET item = {0}, looter = '{1}', time = {2}, visible = 'true'", item.LowID, e.Sender, TimeStamp.Now)); bot.SendPrivateChannelMessage(bot.ColorHeader + this._items[item.LowID] + bot.ColorHighlight + " has been looted by " + bot.ColorHeader + e.Sender); } } }
private void Events_PrivateChannelMessageEvent(BotShell bot, PrivateChannelMessageArgs e) { if (this.AutoAFK) { if (e.Message.ToLower().StartsWith("afk")) { lock (this.Afk) { if (this.Afk.ContainsKey(e.Sender)) { this.Afk.Remove(e.Sender); bot.SendPrivateChannelMessage(bot.ColorHighlight + e.Sender + " is back"); } else { this.Afk.Add(e.Sender, "AFK"); bot.SendPrivateChannelMessage(bot.ColorHighlight + e.Sender + " is afk."); } } return; } } if (e.Command) { return; } this.RemoveAfk(bot, e.Sender); }
internal void OnPrivateChannelMessage(BotShell bot, PrivateChannelMessageArgs e) { if (this.PrivateChannelMessageEvent != null) { try { this.PrivateChannelMessageEvent(bot, e); } catch { } } }
internal void OnPrivateChannelMessage(BotShell sender, SlaveArgs slave, PrivateChannelMessageArgs e) { if (this.PrivateChannelMessageEvent != null) { try { this.PrivateChannelMessageEvent(sender, slave, e); } catch { } } }
private void Events_PrivateChannelMessageEvent(BotShell bot, PrivateChannelMessageArgs e) { if (e.Command) { return; } if (e.Self) { return; } if (e.Local) { if (this.RelayMode == "both" || this.RelayMode == "guest") { string message = e.Message; if (this.ConnectSyntaxAo != "off") { if (message.StartsWith(this.ConnectSyntaxAo, StringComparison.CurrentCultureIgnoreCase)) { message = message.Substring(this.ConnectSyntaxAo.Length); } else { return; } } string formattedMessage = String.Format(this.BOLD + this.BOLD + this.BOLD + "[{0}'s Guest]" + this.BOLD + " {1}: {2}", bot.Character, e.Sender, message); this.SendMessage(formattedMessage, "guild"); if (e.Items != null && e.Items.Length > 0) { foreach (AoItem item in e.Items) { formattedMessage = formattedMessage.Replace(item.Raw, string.Format(this.ItemFormat, item.Name, item.LowID, item.HighID, item.QL)); } } this.SendMessage(formattedMessage, "irc"); } } }
private void Events_PrivateChannelMessageEvent(BotShell bot, PrivateChannelMessageArgs e) { if (e.Self == true) { return; } if (bot.Configuration.GetBoolean(this.InternalName, "inccommands", true) == false) { if (e.Command == true) { return; } } if (bot.Configuration.GetBoolean(this.InternalName, "limmune", true) == true) { if (bot.Users.GetUser(e.Sender) == UserLevel.Leader) { return; } } if (bot.Configuration.GetBoolean(this.InternalName, "aimmune", true) == true) { if (bot.Users.GetUser(e.Sender) == UserLevel.Admin) { return; } } if (bot.Configuration.GetBoolean(this.InternalName, "saimmune", true) == true) { if (bot.Users.GetUser(e.Sender) == UserLevel.SuperAdmin) { return; } } if (Flooder.ContainsKey(e.SenderID)) { Flooder[e.SenderID].FloodCount += 1; Flooder[e.SenderID].LastSaid = TimeStamp.Now; // Handles the Pure FloodPart long TimeDiff = Flooder[e.SenderID].LastSaid - Flooder[e.SenderID].FirstSaid; if (TimeDiff <= bot.Configuration.GetInteger(this.InternalName, "flooddelay", 5) && bot.Configuration.GetInteger(this.InternalName, "flooddelay", 5) != 0) { if (bot.Configuration.GetInteger(this.InternalName, "floodkick", 7) != 0 && Flooder[e.SenderID].Kick == false && Flooder[e.SenderID].FloodCount >= bot.Configuration.GetInteger(this.InternalName, "floodkick", 7)) { Flooder[e.SenderID].Kick = true; if (bot.PrivateChannel.IsOn(e.SenderID)) { bot.PrivateChannel.Kick(e.Sender); bot.SendPrivateChannelMessage(bot.ColorHighlight + HTML.CreateColorString(bot.ColorHeaderHex, e.Sender) + " has been removed from the private channel for flooding"); bot.SendPrivateMessage(e.Sender, bot.ColorHighlight + "You have been removed from the private channel for flooding!", false); } } else if (bot.Configuration.GetInteger(this.InternalName, "floodwarning", 5) != 0 && Flooder[e.SenderID].FloodCount >= bot.Configuration.GetInteger(this.InternalName, "floodwarning", 5) && Flooder[e.SenderID].Warning == false && Flooder[e.SenderID].Kick == false) { Flooder[e.SenderID].Warning = true; bot.SendPrivateMessage(e.Sender, bot.ColorHighlight + "Warning! You're close to being kicked for flooding", false); } } else { Flooder[e.SenderID].FloodCount = 0; Flooder[e.SenderID].FirstSaid = TimeStamp.Now; Flooder[e.SenderID].Warning = false; } // End of flood part // Handles the Repeation part if (e.Message.ToLower() == Flooder[e.SenderID].LastLine.ToLower()) { Flooder[e.SenderID].RepeatCount += 1; if (bot.Configuration.GetInteger(this.InternalName, "repeatkick", 4) != 0 && Flooder[e.SenderID].RepeatCount >= bot.Configuration.GetInteger(this.InternalName, "repeatkick", 4) && Flooder[e.SenderID].Kick == false) { Flooder[e.SenderID].Kick = true; if (bot.PrivateChannel.IsOn(e.SenderID)) { bot.PrivateChannel.Kick(e.Sender); bot.SendPrivateChannelMessage(bot.ColorHighlight + HTML.CreateColorString(bot.ColorHeaderHex, e.Sender) + " has been removed from the private channel for repeating"); bot.SendPrivateMessage(e.Sender, bot.ColorHighlight + "You have been removed from the private channel for repeating!", false); } } else if (bot.Configuration.GetInteger(this.InternalName, "repeatwarning", 3) != 0 && Flooder[e.SenderID].RepeatCount >= bot.Configuration.GetInteger(this.InternalName, "repeatwarning", 3) && Flooder[e.SenderID].Warning == false && Flooder[e.SenderID].Kick == false) { Flooder[e.SenderID].Warning = true; bot.SendPrivateMessage(e.Sender, bot.ColorHighlight + "Warning! You're close to being kicked for repeating", false); } } else { Flooder[e.SenderID].RepeatCount = 1; } Flooder[e.SenderID].LastLine = e.Message; // End of repeat part } else { Flooder.Add(e.SenderID, new Flooders(e.Sender, TimeStamp.Now, TimeStamp.Now, 1, false, false, e.Message, 1)); } }
private void SlaveEvents_PrivateChannelMessageEvent(BotShell bot, SlaveArgs slave, PrivateChannelMessageArgs e) { this.Output(e.Channel, String.Format("[{0}] {1}: {2}", slave.Slave, e.Sender, HTML.UnescapeString(HTML.StripTags(e.Message)))); }