Unfortunately, there's no really good way to determine what addon is sending the "k?" prefixed message without help from the user sending it.
Since the prefix appears to be random characters, it is probably an Ace2 addon using AceComm.
If we both have time, I'll try and do some testing with my guildmate to narrow it down.
I don't think it would be such a good idea to record all messages to a file since it could get very large very fast. Perhaps a screenshot of an expanded chat window would suffice?
If it's an option a la 'chat frame x', it'd be pretty easy to disable it after I'm finished doing a log.
There's so much scrolling past at the moment, that it's hard to try and get a glimpse of everything that's being pushed through. Chain-copy-and-pasting the chat buffer to a text file still means I'm not getting everything, judging by timestamps.
Paste this code into the AddonSpamFu:AddMessage( function just before the local dataLen = strlen(origPrefix) + strlen(msg) line.
if self.recordToSavedVariables then
if not self.db.profile.AddonSpamLog then
self.db.profile.AddonSpamLog = {}
elseif #self.db.profile.AddonSpamLog == 500 then
table.remove(self.db.profile.AddonSpamLog, 1)
end
table.insert(self.db.profile.AddonSpamLog, ((showRenamedPrefix and prefix..": [") or "[")..origPrefix.."]["..msg.."]["..msgtype.."]"..destination.."["..name.."]")
end
To enable logging, type this into your Chat window:
/script AddonSpamFu.recordToSavedVariables=true
To disable, type this:
/script AddonSpamFu.recordToSavedVariables=nil
The information is only stored in memory until you log out or reload your UI, then you can view the logged information by opening up the AddonSpamFu savedvariables file with a text editor and looking for the start of the "AddonSpamLog" table. This is the only way for an addon to record information for view outside of the game.
You should empty this log when you don't need its contents anymore by running the following command:
/script AddonSpamFu.db.profile.AddonSpamLog = nil
Otherwise the log will keep only the 500 most recent entries.
You can get the addon name from AceComm if you are willing to add a special-case for it.
When someone sends stuff, you will get the AceComm hash (the "k?" - which probably has more chars to it).
The hash can be used to get the prefix - which in most AceComm:d addons is its name.
Thus, when checking the name, you could do a simple lookup. Note that I am not at all clear on how to retrieve an/the AceComm instance, but I am guessing that someone out there can do it, hence the RetrieveAceCommInstance function.
function DoAceCommPrefixLookup(messagePrefix)
local AceComm = RetrieveAceCommInstance()
if ( AceComm ) and ( type(AceComm.prefixHashToText) == "table" ) then
local realPrefix = AceComm.prefixHashToText[messagePrefix];
if ( type(realPrefix) == "string" ) then return realPrefix; end
end
return messagePrefix;
end
I will do some private checking on this when I get home.
The .? prefix appears to be Cartographer's Quest Objectives note sharing, as I got entries in AddonSpamFu with that prefix for myself and a guildie who sent me notes in response to a manual request.
Changed syncing to no longer send your events unless its considered a "special" event. This should greatly reduce used bandwidth. (Drycoded but should work fine let me know if it doesn't)
GPSLib. k? (and the ? is actually an interrobang, a !? hybrid) is GPSLib. I finally got pissed off at the spam and decided to track it down, and made !!!Backtrace, which I'll be posting a link to in just a moment, once it's up on my guild's hosting. You should be able to use it to track down ANY addon's spam through a bit of detective work.
All this does is spam the default chat frame every time an addon message is sent, with the prefix being used, and run a full debug of the stack that's calling it, outputting that data to the saved variables. With that, you should be able to find ANY addon that you're using that's sending out messages.
Now, how's that for a first post on these forums? ;)
Edit: Beware, this mod does not hard-cap the data it stores in any way. You should REALLY only run this for explicit debugging purposes. The savedvariables will get extremely bloated very quickly.
Looks like revision r66831 has an character encoding problem. Some of the hash codes appeared to have been changed as well. My guess is that the hash codes being random encoding characters broke the utf-8 detection by the editor being used for the rest of the file. Perhaps it might be better to replace the hash codes with escaped characters to avoid this problem in the future.
If we both have time, I'll try and do some testing with my guildmate to narrow it down.
If it's an option a la 'chat frame x', it'd be pretty easy to disable it after I'm finished doing a log.
There's so much scrolling past at the moment, that it's hard to try and get a glimpse of everything that's being pushed through. Chain-copy-and-pasting the chat buffer to a text file still means I'm not getting everything, judging by timestamps.
To enable logging, type this into your Chat window:
To disable, type this:
The information is only stored in memory until you log out or reload your UI, then you can view the logged information by opening up the AddonSpamFu savedvariables file with a text editor and looking for the start of the "AddonSpamLog" table. This is the only way for an addon to record information for view outside of the game.
You should empty this log when you don't need its contents anymore by running the following command:
Otherwise the log will keep only the 500 most recent entries.
This is all drycoded and untested code
When someone sends stuff, you will get the AceComm hash (the "k?" - which probably has more chars to it).
The hash can be used to get the prefix - which in most AceComm:d addons is its name.
Thus, when checking the name, you could do a simple lookup. Note that I am not at all clear on how to retrieve an/the AceComm instance, but I am guessing that someone out there can do it, hence the RetrieveAceCommInstance function.
I will do some private checking on this when I get home.
http://fish.wowace.com/browse/WowAce/trunk/Recount
http://www.voa-guild.net/addons/!!!Backtrace.zip
All this does is spam the default chat frame every time an addon message is sent, with the prefix being used, and run a full debug of the stack that's calling it, outputting that data to the saved variables. With that, you should be able to find ANY addon that you're using that's sending out messages.
Now, how's that for a first post on these forums? ;)
Edit: Beware, this mod does not hard-cap the data it stores in any way. You should REALLY only run this for explicit debugging purposes. The savedvariables will get extremely bloated very quickly.
FuBar_AddonSpamFu-1.0.0.54455\AddonSpamFu.lua:522: attempt to index upvalue 'rollcall' (a boolean value)
I get this error about once every 30 seconds.
The bug occurs when you don't have RollCall and somehow receive an addon message on an unguilded character.
http://img182.imageshack.us/img182/1425/addonfubarspamet6.jpg
yoshimo, let me know if you figure out what those are.
When i have just swatter, addonspamfu and ZOMGBuffs enabled, ASF wont load properly.
the rest of the errors i wont post here because theire similarn and are due to the errors mentioned.
and exchanged Script --> Include and .lua --> .xml and the only error left is
Its just copy and paste, im no lua-coder ,so how to fix this properly? ;)