Download
(10Kb)
Download
Updated: 01-30-11 08:24 PM
Pictures
File Info
Updated:01-30-11 08:24 PM
Created:07-05-10 12:40 AM
Downloads:4,163
Favorites:44
MD5:

QuestSpamFilter

Version: v12
by: Mortilus [More]

By Myrilandell of Lothar

QuestSpamFilter was chosen as a "Pick of the Week" on WoWInterface! This is a huge honor, thank you!

QuestSpamFilter is an addon that consolidates the "quest sharing" information from 20 lines of quest sharing spam into condensed summaries. In other words, QuestSpamFilter turns this
Sharing quest with Person1...
Person2 has completed that quest.
Person3 is already on that quest.
Person4 is not eligible for that quest.
Person5's quest log is full.
Person6 is already on that quest.
Sharing quest with Person7...
Person8 is already on that quest.
Person9 has completed that quest.


into this
2 Completed: Person2, Person9
1 Not Eligible: Person4
1 Questlog Full: Person5
3 Already On: Person3, Person6, Person8
2 Sharing ...: Person1, Person7


QuestSpamFilter is localized for all languages (English (enUS), British English (enGB), Spanish (esES), Latin American Spanish (esMX), German (deDE), French (frFR), Russian (ruRU), Chinese (zhCN), Traditional Chinese (zhTW), and Korean (koKR)), though some are better than others, due to feedback . If your localization isn't perfect, give me a better translation (located in qsf_translations.lua).

12
  • Fixed an issue where the code checking for false positives was unnecessarily inefficient.
  • Separated the translations into their own file, so users can more easily make and share changes for their language.



11
  • Updated ToC for beta. Otherwise QSF seems to work just fine.
  • Fixed a bug where the initial state was not "single line".



10
  • Added Global Strings which could be incorrectly filtered by QuestSpamFilter. This should fix the filtered "X Busy: Player right now." message gotten when a player is busy and you try to trade with them.



9
  • Fixed the interface number in the toc file, it was incorrectly 30500 (should be 30300)
  • Fixed a missed special character in the frFR "Questlog Full" title. Thanks oXid_FoX!
  • Fixed a bug introduced in v8 where I'd undone stuff when creating strings for matching. This only affected non-english localizations.



8
  • Updated French translations for "Questlog Full", "Already On", and "Too Far Away". Thanks oXid_FoX!
  • Moved locale-specific stuff to a new file: qsf_translations.lua. This should make it easier for people to find and provide better localizations.
  • Encoded special characters (such as à, è, ì, ò, ù) using Lua escape sequences. That's a fancy way of saying "They should work now". Thanks to oXid_FoX for pointing this out.
  • Changed the code to makeFragments a bit, shouldn't change anything.
  • Fixed a potential bug with the "Colorize" option, where non-English clients would have incorrect output.
  • Changed the code wiping the tables a bit, shouldn't change anything.



7
  • Fixed the ugly code from v2.
  • Fixed an improperly-matching pattern in German.



6
  • Localization! The patterns I am using are the Global Strings in World of Warcraft, so I need feedback on how well this works, if it does at all (for your localization). Works fine for English and German (rather, "it *seems* to work now" :P).



5
  • Added the option to color player names in the summaries based on their class.



4
  • Added a GUI.
  • Added the option to add yourself to the "Already On" table. This way, if you're the kind of person that thinks, "There's 7 people in the raid, but I only shared it with 6 people ... ?", then this is the option for you!
  • Added the option to make the name lists begin on the same line as the consolidated title. I didn't expect to like this option nearly as much as I do. It is now the default display option.
  • Added the option to change the result consolidation pause duration.



3
  • Removed a debugging printout which (left in) defeated the point of the mod, or caused errors.



2
  • Fixed a bug where everything was broken. Apparently the "." character is a wildcard, so I was removing all but 2 letters in people's names. This is now fixed in an ugly but (most important) working manner.



1
  • Initial Release.
Post A Reply Comment Options
Unread 07-26-10, 01:07 PM  
Mortilus
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 12
File comments: 207
Uploads: 7
Version 7 is out!
  • Fixed the ugly code from v2.
  • Fixed an improperly-matching pattern in German.

This should fix the problem in German in v6. As always, let me know of any bugs in your localization
Report comment to moderator  
Reply With Quote
Unread 08-04-10, 05:55 AM  
oXid_FoX
A Deviate Faerie Dragon
 
oXid_FoX's Avatar
AddOn Author - Click to view AddOns

Forum posts: 18
File comments: 147
Uploads: 1
Lightbulb FR update

I suggest you to put locales out, in a separate file.

FR corrections:
Code:
["Questlog Full"] =  {	["frFR"] = "Journal de quêtes plein",
["Already On"] =  {	["frFR"] = "Déjà dessus",
["Too Far Away"] =  {	["frFR"] = "Trop loin",
furthermore, you NEED to save files where are locales in UTF-8 otherwise special chars will not be displayed correctly. If you don't want, please at least encode them.
Report comment to moderator  
Reply With Quote
Unread 08-04-10, 09:32 AM  
Mortilus
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 12
File comments: 207
Uploads: 7
Re: FR update

Originally posted by oXid_FoX
FR corrections:
Code:
["Questlog Full"] =  {	["frFR"] = "Journal de quêtes plein",
["Already On"] =  {	["frFR"] = "Déjà dessus",
["Too Far Away"] =  {	["frFR"] = "Trop loin",
Thanks for the translations

furthermore, you NEED to save files where are locales in UTF-8 otherwise special chars will not be displayed correctly. If you don't want, please at least encode them.
okay, so that's why the special characters are screwy looking?

So, in order to print "Terminé" correctly, I need to write it as "Termin\195\169", is that correct? é is \195\169. Having very quickly tested it, I think that is correct. I will be releasing v8 soon, assuming I didn't break anything with the changes.
Last edited by Mortilus : 08-04-10 at 10:28 AM.
Report comment to moderator  
Reply With Quote
Unread 08-08-10, 03:05 PM  
Mortilus
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 12
File comments: 207
Uploads: 7
Version 8 is out!
  • Updated French translations for "Questlog Full", "Already On", and "Too Far Away". Thanks oXid_FoX!
  • Moved locale-specific stuff to a new file: qsf_translations.lua. This should make it easier for people to find and provide better localizations.
  • Encoded special characters (such as à, è, ì, ò, ù) using Lua escape sequences. That's a fancy way of saying "They should work now". Thanks to oXid_FoX for pointing this out.
  • Changed the code to makeFragments a bit, shouldn't change anything.
  • Fixed a potential bug with the "Colorize" option, where non-English clients would have incorrect output.
  • Changed the code wiping the tables a bit, shouldn't change anything.

I'm not positive that the special character encoding works properly, let me know of any mistakes I made.
Report comment to moderator  
Reply With Quote
Unread 08-08-10, 04:24 PM  
oXid_FoX
A Deviate Faerie Dragon
 
oXid_FoX's Avatar
AddOn Author - Click to view AddOns

Forum posts: 18
File comments: 147
Uploads: 1
Re: Re: FR update

Originally posted by Mortilus
okay, so that's why the special characters are screwy looking?
yep.

Originally posted by Mortilus So, in order to print "Terminé" correctly, I need to write it as "Termin\195\169", is that correct? é is \195\169.[/b]
correct !
either you keep special chars as they are and so you need save your file in UTF-8, either you encode them with "\195\169" and so on.
The better choice is keeping special chars: you can give strings to someone who don't know at all programming, (s)he can do the translation correctly (without encoding). And it's so much more handy when we need to reread.

edit: comments about v8 :
Code:
["frFR"] = "Journal de quêtes plein",
you forgot the accent here:
ê = \195\170

Attention about the TOC version... current live servers are on 30300, not 30500 (don't know this one. maybe the cataclysm beta?). If your addon is ready to the beta, mention it in the description page, it's a good point
Last edited by oXid_FoX : 08-08-10 at 04:51 PM.
Report comment to moderator  
Reply With Quote
Unread 08-08-10, 09:43 PM  
Mortilus
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 12
File comments: 207
Uploads: 7
Re: Re: Re: FR update

QuestSpamFilter ought to be cata-ready, but the beta doesn't currently allow addons. Once addons are allowed on the beta i'll see how well it works and I should be able to get it working quickly. I just assumed that with patch 3.5 out, the toc also changed to 30500. I'll double check that tomorrow

the ê is fixed on my end, i'll update again soon (mon or tues). Thanks for catching that oXid_FoX
Report comment to moderator  
Reply With Quote
Unread 08-09-10, 03:11 PM  
Asteague
A Kobold Labourer

Forum posts: 0
File comments: 3
Uploads: 0
Code:
function QSF_addon.addBetterStuff(in_string)
	local toReturn, numsubs = string.gsub(in_string, "%%1$s", "(%%S+)");
	toReturn = string.gsub(in_string, "%%s", "(%%S+)");
	
	return toReturn;
end
Could it be that you forgot to change in_string in the 3rd line to toReturn?
Otherwise, the 2nd line in the code above would never really matter...

Additionally it fixes the problem of not substituting "%1$s" in patterns, e.g. for the german locale.
Report comment to moderator  
Reply With Quote
Unread 08-09-10, 07:43 PM  
Mortilus
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 12
File comments: 207
Uploads: 7
Originally posted by Asteague
Code:
function QSF_addon.addBetterStuff(in_string)
	local toReturn, numsubs = string.gsub(in_string, "%%1$s", "(%%S+)");
	toReturn = string.gsub(in_string, "%%s", "(%%S+)");
	
	return toReturn;
end
Could it be that you forgot to change in_string in the 3rd line to toReturn?
Otherwise, the 2nd line in the code above would never really matter...

Additionally it fixes the problem of not substituting "%1$s" in patterns, e.g. for the german locale.
ooh, nice catch there. Yeah I will have to double-check what I was trying to do with that bit of code
Report comment to moderator  
Reply With Quote
Unread 08-10-10, 01:35 AM  
oXid_FoX
A Deviate Faerie Dragon
 
oXid_FoX's Avatar
AddOn Author - Click to view AddOns

Forum posts: 18
File comments: 147
Uploads: 1
Re: Re: Re: Re: FR update

Originally posted by Mortilus
I just assumed that with patch 3.5 out, the toc also changed to 30500.
I just wanted to mention live servers are in version 3.3.5 not 3.5.0 ! maybe a misleading here?
Report comment to moderator  
Reply With Quote
Unread 08-10-10, 05:57 AM  
Mortilus
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 12
File comments: 207
Uploads: 7
Re: Re: Re: Re: Re: FR update

Originally posted by oXid_FoX
I just wanted to mention live servers are in version 3.3.5 not 3.5.0 ! maybe a misleading here?
oh, right. Yeah I also checked the interface number via GetBuildInfo() and it's 30300. The fix is made on my end, i just need to upload it. I have a few things to fix before I can though.
Report comment to moderator  
Reply With Quote
Unread 08-16-10, 11:37 AM  
Mortilus
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 12
File comments: 207
Uploads: 7
Version 9 is out!
  • Fixed the interface number in the toc file, it was incorrectly 30500 (should be 30300)
  • Fixed a missed special character in the frFR "Questlog Full" title. Thanks oXid_FoX!
  • Fixed a bug introduced in v8 where I'd undone stuff when creating strings for matching. This only affected non-english localizations.

As always, bug reports and suggestions are more than welcome
Report comment to moderator  
Reply With Quote
Unread 09-05-10, 01:33 AM  
Talyrius
An Onyxian Warder
 
Talyrius's Avatar
AddOn Author - Click to view AddOns

Forum posts: 363
File comments: 259
Uploads: 3
If you attempt to trade an item with a person while they are 'Busy', you will receive the following error:
Code:
1x QuestSpamFilter-9\questspamfilter.lua:211: attempt to concatenate field '?' (a nil value)
QuestSpamFilter-9\questspamfilter.lua:228: in function <QuestSpamFilter\questspamfilter.lua:221>

Locals:
(for generator) = <function> defined =[C]:-1
(for state) = <table> {
 Completed = <table> {}
 Too Far Away = <table> {}
 Busy = <table> {}
 Sharing ... = <table> {}
 Already On = <table> {}
 Not Eligible = <table> {}
 Questlog Full = <table> {}
}
(for control) = "Busy"
title = "Busy"
tbl = <table> {
 1 = "Síegfried right now."
}
titleTable = <table> {
 ruRU = "Zanyato"
 enGB = "Busy"
 koKR = "bappeun"
 esMX = "Ocupado"
 enUS = "Busy"
 zhTW = "Máng"
 zhCN = "Máng"
 frFR = "Occupé"
 esES = "Ocupado"
 deDE = "Beschäftigt"
}
(*temporary) = <function> @ Ace3\AceHook-3.0\AceHook-3.0.lua:100:
(*temporary) = ChatFrame1 {
 0 = <userdata>
 flashTimer = 0
 isInitialized = 1
 PageUp = <function> defined =[C]:-1
 print = <function> @ Prat-3.0\services\print.lua:49:
 tellTimer = 3656841.599
 AddMessage = <function> @ Ace3\AceHook-3.0\AceHook-3.0.lua:100:
 isStaticDocked = true
 resizeButton = ChatFrame1ResizeButton {}
 buttonFrame = ChatFrame1ButtonFrame {}
 PageDown = <function> defined =[C]:-1
 ScrollToBottom = <function> defined =[C]:-1
 oldAlpha = 0
 channelList = <table> {}
 ScrollDown = <function> defined =[C]:-1
 clickAnywhereButton = ChatFrame1ClickAnywhereButton {}
 isDocked = 1
 buttonSide = "left"
 editBox = ChatFrame1EditBox {}
 ScrollUp = <function> defined =[C]:-1
 isLocked = true
 name = "General"
 ScrollToTop = <function> defined =[C]:-1
 dbg = <function> @ Prat-3.0\services\print.lua:52:
 zoneChannelList = <table> {}
 defaultLanguage = "Orcish"
 messageTypeList = <table> {}
}
(*temporary) = 1
(*temporary) = " "
(*temporary) = "Busy"
(*temporary) = ":"
(*temporary) = "
"

  ---
Report comment to moderator  
Reply With Quote
Unread 09-05-10, 08:47 AM  
Mortilus
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 12
File comments: 207
Uploads: 7
Originally posted by ForeverTheGM
If you attempt to trade an item with a person while they are 'Busy', you will receive the following error:
Code:
<snipped>--
I was aware of QSF giving a wonky message when trading with a busy person, but I didn't know it caused an error. I think I have a solution, but I'm not sure if it'll work (won't be able to test it, I can never get people to help with something as complicated as "open trade with him and then stop doing stuff for the next 30 minutes" )

Edit: Ok, it is hopefully fixed. If you want to check that it works before I release this version, PM me in the next day or so and I can send you v10. Otherwise I'll be posting this on Tues or so.
Last edited by Mortilus : 09-05-10 at 10:22 AM.
Report comment to moderator  
Reply With Quote
Unread 09-09-10, 08:48 AM  
Mortilus
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 12
File comments: 207
Uploads: 7
Version 10 is out!
  • Added Global Strings which could be incorrectly filtered by QuestSpamFilter. This should fix the filtered "X Busy: Player right now." message gotten when a player is busy and you try to trade with them.
Report comment to moderator  
Reply With Quote
Unread 09-09-10, 09:10 PM  
Mortilus
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 12
File comments: 207
Uploads: 7
Last edited by Mortilus : 09-09-10 at 09:10 PM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: