--[[ * Copyright (c) 2011-2012 by Adam Hellberg. * * This file is part of Command. * * Command is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Command is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Command. If not, see . --]] -- Upvalues local select = select -- API Upvalues local BNET_CLIENT_WOW = BNET_CLIENT_WOW local UnitFactionGroup = UnitFactionGroup local C = Command local CM = C.ChatManager local AC = C.AddonComm local BNT = C.BattleNetTools function C.Events.CHAT_MSG_SYSTEM(self, event, ...) local message = (select(1, ...)) if C.RollManager.Running then C.RollManager:ParseMessage(message) end C.PlayerManager:ParseMessage(message) end function C.Events.CHAT_MSG_ADDON(self, event, ...) local msgType = (select(1, ...)) local msg = (select(2, ...)) local channel = (select(3, ...)) local sender = (select(4, ...)) AC:Receive(msgType, msg, channel, sender) end --[[ function C.Events.CHAT_MSG_BATTLEGROUND(self, event, ...) local chan = CM:GetRespondChannelByEvent(event) local msg = (select(1, ...)) local sender = (select(2, ...)) CM:HandleMessage(msg, sender, chan) end function C.Events.CHAT_MSG_BATTLEGROUND_LEADER(self, event, ...) local chan = CM:GetRespondChannelByEvent(event) local msg = (select(1, ...)) local sender = (select(2, ...)) CM:HandleMessage(msg, sender, chan) end function C.Events.CHAT_MSG_BN_CONVERSATION(self, event, ...) end --]] --- Event handler for CHAT_MSG_BN_WHISPER. -- @name Command.Events.CHAT_MSG_BN_WHISPER -- @param self Reference to Command object. -- @param event Full name of event. -- @param ... Event arguments. -- function C.Events.CHAT_MSG_BN_WHISPER(self, event, ...) local chan = "BNET" local msg = (select(1, ...)) local id = (select(13, ...)) local toon = BNT:GetToon(id) if not toon then return end if toon.Client ~= BNET_CLIENT_WOW then return end if toon.Realm:lower() == GetRealmName():lower() and toon.Faction:lower() == (select(1, UnitFactionGroup("player"))):lower() then CM:HandleMessage(msg, toon.Name, chan, id, chan, true, id) end end --[[ --- Event handler for CHAT_MSG_CHANNEL. -- @name Command.Events.CHAT_MSG_CHANNEL -- @param self Reference to Command object. -- @param event Full name of event. -- @param ... Event arguments. -- function C.Events.CHAT_MSG_CHANNEL(self, event, ...) local chan = CM:GetRespondChannelByEvent(event) local msg = (select(1, ...)) local sender = (select(2, ...)) local target = (select(8, ...)) CM:HandleMessage(msg, sender, chan, nil, "CHANNEL") end --]] --- Event handler for CHAT_MSG_GUILD. -- @name Command.Events.CHAT_MSG_GUILD -- @param self Reference to Command object. -- @param event Full name of event. -- @param ... Event arguments. -- function C.Events.CHAT_MSG_GUILD(self, event, ...) local chan = CM:GetRespondChannelByEvent(event) local msg = (select(1, ...)) local sender = (select(2, ...)) CM:HandleMessage(msg, sender, chan, nil, "GUILD") end --- Event handler for CHAT_MSG_OFFICER. -- @name Command.Events.CHAT_MSG_OFFICER -- @param self Reference to Command object. -- @param event Full name of event. -- @param ... Event arguments. -- function C.Events.CHAT_MSG_OFFICER(self, event, ...) local chan = CM:GetRespondChannelByEvent(event) local msg = (select(1, ...)) local sender = (select(2, ...)) CM:HandleMessage(msg, sender, chan, nil, "GUILD") end --- Event handler for CHAT_MSG_PARTY. -- @name Command.Events.CHAT_MSG_PARTY -- @param self Reference to Command object. -- @param event Full name of event. -- @param ... Event arguments. -- function C.Events.CHAT_MSG_PARTY(self, event, ...) local chan = CM:GetRespondChannelByEvent(event) local msg = (select(1, ...)) local sender = (select(2, ...)) CM:HandleMessage(msg, sender, chan, nil, "PARTY") end --- Event handler for CHAT_MSG_PARTY_LEADER. -- @name Command.Events.CHAT_MSG_PARTY_LEADER -- @param self Reference to Command object. -- @param event Full name of event. -- @param ... Event arguments. -- function C.Events.CHAT_MSG_PARTY_LEADER(self, event, ...) local chan = CM:GetRespondChannelByEvent(event) local msg = (select(1, ...)) local sender = (select(2, ...)) CM:HandleMessage(msg, sender, chan, nil, "PARTY") end --- Event handler for CHAT_MSG_RAID. -- @name Command.Events.CHAT_MSG_RAID -- @param self Reference to Command object. -- @param event Full name of event. -- @param ... Event arguments. -- function C.Events.CHAT_MSG_RAID(self, event, ...) local chan = CM:GetRespondChannelByEvent(event) local msg = (select(1, ...)) local sender = (select(2, ...)) CM:HandleMessage(msg, sender, chan, nil, "RAID") end --- Event handler for CHAT_MSG_RAID_LEADER. -- @name Command.Events.CHAT_MSG_RAID_LEADER -- @param self Reference to Command object. -- @param event Full name of event. -- @param ... Event arguments. -- function C.Events.CHAT_MSG_RAID_LEADER(self, event, ...) local chan = CM:GetRespondChannelByEvent(event) local msg = (select(1, ...)) local sender = (select(2, ...)) CM:HandleMessage(msg, sender, chan, nil, "RAID") end --- Event handler for CHAT_MSG_RAID_WARNING. -- @name Command.Events.CHAT_MSG_RAID_WARNING -- @param self Reference to Command object. -- @param event Full name of event. -- @param ... Event arguments. -- function C.Events.CHAT_MSG_RAID_WARNING(self, event, ...) local chan = CM:GetRespondChannelByEvent(event) local msg = (select(1, ...)) local sender = (select(2, ...)) CM:HandleMessage(msg, sender, chan, nil, "RAID") end --- Event handler for CHAT_MSG_SAY. -- @name Command.Events.CHAT_MSG_SAY -- @param self Reference to Command object. -- @param event Full name of event. -- @param ... Event arguments. -- function C.Events.CHAT_MSG_SAY(self, event, ...) local chan = CM:GetRespondChannelByEvent(event) local msg = (select(1, ...)) local sender = (select(2, ...)) CM:HandleMessage(msg, sender, chan, nil, "SAY") end --- Event handler for CHAT_MSG_WHISPER. -- @name Command.Events.CHAT_MSG_WHISPER -- @param self Reference to Command object. -- @param event Full name of event. -- @param ... Event arguments. -- function C.Events.CHAT_MSG_WHISPER(self, event, ...) local chan = CM:GetRespondChannelByEvent(event) local msg = (select(1, ...)) local sender = (select(2, ...)) local target = sender CM:HandleMessage(msg, sender, chan, target, "WHISPER") end --- Event handler for CHAT_MSG_YELL. -- @name Command.Events.CHAT_MSG_YELL -- @param self Reference to Command object. -- @param event Full name of event. -- @param ... Event arguments. -- function C.Events.CHAT_MSG_YELL(self, event, ...) local chan = CM:GetRespondChannelByEvent(event) local msg = (select(1, ...)) local sender = (select(2, ...)) CM:HandleMessage(msg, sender, chan, nil, "YELL") end