|
2 | 2 | --[[ GMOTD Module ]]-- |
3 | 3 |
|
4 | 4 | local _, BCM = ... |
5 | | -BCM.modules[#BCM.modules+1] = function() |
6 | | - if bcmDB.BCM_GMOTD or not IsInGuild() then return end |
| 5 | +BCM.earlyModules[#BCM.earlyModules+1] = function() |
| 6 | + if bcmDB.BCM_GMOTD then return end |
7 | 7 |
|
| 8 | + local gmotd = C_GuildInfo and C_GuildInfo.GetMOTD and C_GuildInfo.GetMOTD() or GetGuildRosterMOTD() |
8 | 9 | BCM.Events.LOADING_SCREEN_DISABLED = function() |
9 | 10 | BCM.Events:UnregisterEvent("LOADING_SCREEN_DISABLED") |
10 | 11 | BCM.Events.LOADING_SCREEN_DISABLED = nil |
| 12 | + BCM.Events:UnregisterEvent("GUILD_MOTD") |
| 13 | + BCM.Events.GUILD_MOTD = nil |
| 14 | + |
11 | 15 | C_Timer.After(0, function() -- Timers become functional 1 frame after the loading screen is done |
12 | 16 | C_Timer.After(2, function() |
13 | | - if not C_ChatInfo.InChatMessagingLockdown or not C_ChatInfo.InChatMessagingLockdown() then |
14 | | - local gmotd = GetGuildRosterMOTD() |
15 | | - if not gmotd or gmotd == "" or gmotd:find("^ +$") then return end |
16 | | - local info = ChatTypeInfo.GUILD |
17 | | - ChatFrame1:AddMessage("|cFF33FF99BasicChatMods|r: "..(GUILD_MOTD_TEMPLATE):format(gmotd), info.r, info.g, info.b) |
18 | | - end |
| 17 | + if not gmotd or gmotd == "" or gmotd:find("^ +$") then return end |
| 18 | + local info = ChatTypeInfo.GUILD |
| 19 | + ChatFrame1:AddMessage("|cFF33FF99BasicChatMods|r: "..(GUILD_MOTD_TEMPLATE):format(gmotd), info.r, info.g, info.b) |
19 | 20 | end) |
20 | 21 | end) |
21 | 22 | end |
22 | 23 | BCM.Events:RegisterEvent("LOADING_SCREEN_DISABLED") |
| 24 | + BCM.Events.GUILD_MOTD = function(_, msg) |
| 25 | + gmotd = msg |
| 26 | + end |
| 27 | + BCM.Events:RegisterEvent("GUILD_MOTD") |
23 | 28 | end |
24 | 29 |
|
0 commit comments