59 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
local addonname, shared = ...
 | 
						|
---@cast shared HeimdallShared
 | 
						|
---@cast addonname string
 | 
						|
local ModuleName = "Emoter"
 | 
						|
 | 
						|
---@diagnostic disable-next-line: missing-fields
 | 
						|
shared.Emoter = {}
 | 
						|
function shared.Emoter.Init()
 | 
						|
	local frame = CreateFrame("Frame")
 | 
						|
	frame:RegisterEvent("CHAT_MSG_CHANNEL")
 | 
						|
	frame:SetScript("OnEvent", function(self, event, msg, sender, ...)
 | 
						|
		--		if Heimdall_Data.config.emoter.debug then
 | 
						|
		--			print(string.format("[%s] Channel message received from: %s", ModuleName, sender))
 | 
						|
		--		end
 | 
						|
 | 
						|
		if not Heimdall_Data.config.emoter.enabled then
 | 
						|
			--			if Heimdall_Data.config.emoter.debug then
 | 
						|
			--				print(string.format("[%s] Module disabled, ignoring message", ModuleName))
 | 
						|
			--			end
 | 
						|
			return
 | 
						|
		end
 | 
						|
 | 
						|
		local channelId = select(6, ...)
 | 
						|
		local _, channelname = GetChannelName(channelId)
 | 
						|
		--		if Heimdall_Data.config.emoter.debug then
 | 
						|
		--			print(string.format("[%s] Processing message from channel: %s", ModuleName, channelname))
 | 
						|
		--		end
 | 
						|
 | 
						|
		if channelname ~= Heimdall_Data.config.emoter.masterChannel then
 | 
						|
			--			if Heimdall_Data.config.emoter.debug then
 | 
						|
			--				print(string.format("[%s] Ignoring message from non-master channel", ModuleName))
 | 
						|
			--			end
 | 
						|
			return
 | 
						|
		end
 | 
						|
		if Heimdall_Data.config.emoter.debug then
 | 
						|
			print(string.format("[%s] Processing message from master channel: %s", ModuleName, sender))
 | 
						|
			shared.dumpTable(Heimdall_Data.config.emoter)
 | 
						|
		end
 | 
						|
 | 
						|
		if string.find(msg, "^" .. Heimdall_Data.config.emoter.prefix) then
 | 
						|
			if Heimdall_Data.config.emoter.debug then
 | 
						|
				print(string.format("[%s] Found emote command in message: %s", ModuleName, msg))
 | 
						|
			end
 | 
						|
			local emote = string.sub(msg, string.len(Heimdall_Data.config.emoter.prefix) + 1)
 | 
						|
			if Heimdall_Data.config.emoter.debug then
 | 
						|
				print(string.format("[%s] Performing emote: %s", ModuleName, emote))
 | 
						|
			end
 | 
						|
			DoEmote(emote)
 | 
						|
		elseif Heimdall_Data.config.emoter.debug then
 | 
						|
			print(string.format("[%s] Message does not start with emote prefix", ModuleName))
 | 
						|
		end
 | 
						|
	end)
 | 
						|
 | 
						|
	if Heimdall_Data.config.emoter.debug then
 | 
						|
		print(string.format("[%s] Module initialized", ModuleName))
 | 
						|
	end
 | 
						|
	print("[Heimdall] Emoter loaded")
 | 
						|
end
 |