diff --git a/ElvUI_SLE/dev/commands.lua b/ElvUI_SLE/dev/commands.lua index 18a2df2..dd09d08 100755 --- a/ElvUI_SLE/dev/commands.lua +++ b/ElvUI_SLE/dev/commands.lua @@ -129,6 +129,18 @@ local function SendRecieve(self, event, prefix, message, channel, sender) if prefix == 'SLE_DEV_REQ' and SLE:Auth(sender) then SendAddonMessage('SLE_DEV_INFO', UnitLevel('player')..'#'..E.myclass..'#'..E.myname..'#'..E.myrealm..'#'..SLE.version, channel) end + elseif event == "BN_CHAT_MSG_ADDON" then + if sender == E.myname.."-"..E.myrealm then return end + if SLE:Auth() then return end + if prefix == 'SLE_DEV_REQ' and SLE:Auth(sender) then + local _, numBNetOnline = BNGetNumFriends() + for i = 1, numBNetOnline do + local presenceID, _, _, _, _, _, client, isOnline = BNGetFriendInfo(i) + if isOnline and client == BNET_CLIENT_WOW then + BNSendGameData(presenceID, 'SLE_DEV_INFO', UnitLevel('player')..'#'..E.myclass..'#'..E.myname..'#'..E.myrealm..'#'..SLE.version) + end + end + end end end RegisterAddonMessagePrefix('SLE_DEV_SAYS') @@ -141,6 +153,7 @@ end local f = CreateFrame('Frame', "DaFrame") f:RegisterEvent("GROUP_ROSTER_UPDATE") f:RegisterEvent("CHAT_MSG_ADDON") +f:RegisterEvent("BN_CHAT_MSG_ADDON") f:SetScript('OnEvent', SendRecieve) function SLE:RegisterCommands() diff --git a/ElvUI_SLE/dev/options.lua b/ElvUI_SLE/dev/options.lua index c6d936d..bd04c66 100644 --- a/ElvUI_SLE/dev/options.lua +++ b/ElvUI_SLE/dev/options.lua @@ -18,11 +18,30 @@ if SLE:Auth() then local f = CreateFrame('Frame') f:RegisterEvent('CHAT_MSG_ADDON') + f:RegisterEvent('BN_CHAT_MSG_ADDON') f:SetScript('OnEvent', function(self, event, prefix, message, channel, sender) if event == 'CHAT_MSG_ADDON' and prefix == 'SLE_DEV_INFO' then local userLevel, userClass, userName, userRealm, userVersion = strsplit('#', message) userVersion = tonumber(userVersion) + + if userVersion > highestVersion then + highestVersion = userVersion + end + UserListCache[#UserListCache + 1] = { + ['userLevel'] = userLevel, + ['userClass'] = userClass, + ['userName'] = userName, + ['userRealm'] = userRealm, + ['userVersion'] = userVersion, + } + + ACD:SelectGroup('ElvUI', 'sle', 'developer', 'userList') + end + if event == 'BN_CHAT_MSG_ADDON' and prefix == 'SLE_DEV_INFO' then + local userLevel, userClass, userName, userRealm, userVersion = strsplit('#', message) + userVersion = tonumber(userVersion) + if userVersion > highestVersion then highestVersion = userVersion end @@ -80,6 +99,7 @@ if SLE:Auth() then ['INSTANCE_CHAT'] = 'Instance', ['PARTY'] = 'Party', ['RAID'] = 'Raid', + ['BNET'] = 'BNet', }, }, submitbutton = { @@ -91,7 +111,15 @@ if SLE:Auth() then func = function(info, value) UserListCache = {} -- Clear Cache - if selectedChannel ~= '' then + if selectedChannel ~= '' and selectedChannel == 'BNET' then + local _, numBNetOnline = BNGetNumFriends() + for i = 1, numBNetOnline do + local presenceID, _, _, _, _, _, client, isOnline = BNGetFriendInfo(i) + if isOnline and client == BNET_CLIENT_WOW then + BNSendGameData(presenceID, 'SLE_DEV_REQ', 'GIVE ME YOUR INFO RIGHT NOW!!!') + end + end + elseif selectedChannel ~= '' then SendAddonMessage('SLE_DEV_REQ', 'GIVE ME YOUR INFO RIGHT NOW!!!!', selectedChannel) end end,