Download
(164 Kb)
Download
Updated: 11-08-12 06:29 PM
Pictures
File Info
Compatibility:
Mists of Pandaria (5.0.4)
Updated:11-08-12 06:29 PM
Created:06-11-09 12:49 AM
Downloads:3,176
Favorites:18
MD5:
TradeFilter
Version: v3.5.1
by: evonder [More]
A Simple World of Warcraft Spam Filter!
Please help localize this project Here

TradeFilter does not only filter trade but has the ability to filter General, LookingforGroup, Say and Yell channels all which are configurable through the blizzard options panel.

Channel Filters
TradeFilter has a set of patterns for trade channel and separate set of patterns for all other channels, or "base" channels as we will call them. This allows the user to define what patterns may be good for trade but not other channels and vise versa. The user also has the ability to add patterns of their own to be matched against for both trade and "base" channel filters.

Default Channel Filters

Black and White Lists
TradeFilter also has a built in Black and White list. Refer to the flowchart for how Black and White lists are checked.

Default Black/White Lists

Configuration
Code:
/tf or /filter
To Do
Nothing planned

ChangeLog
ChangeLog Page

Supported Translations
Please help localize this project Here
tag v3.5.1
1b9c097ef90300a7fec822fbd296aea4e3355589
Erik L. Vonderscheer <evonder [AT] gmail [DOT] com>
2012-11-07 18:17:21 -0800

Tagging as v3.5.1

--------------------

Erik L. Vonderscheer:
- Update changelog.txt
- Remove commit hash from AddOn list
- Update change log
- Change TOC Title to include version
- Merge
- Fix various db key typos

--------------------

tag v3.5.0
bc1e1ba6941febee7c952401bf19fbe8694aa766
Erik L. Vonderscheer <evonder [AT] gmail [DOT] com>
2012-09-19 21:18:36 -0700

Tagging as v3.5.0

--------------------

Erik L. Vonderscheer:
- Filter trade by default
- Fix various db key typos
- Fix version output in configuration panel
- TOC bump to MoP
- Create branch Mists of Pandaria
- Change version output
- Fix GetNumPartyMembers() -> GetNumSubgroupMembers()
- Fix GetNumRaidMembers() -> GetNumGroupMembers()

--------------------

tag v3.4.11
cf9bbcf3e9bf835a96862f9b791a755d93718a73
Erik L. Vonderscheer <evonder [AT] gmail [DOT] com>
2012-01-30 19:23:36 -0800

Tagging as v3.4.11

--------------------

Erik L. Vonderscheer:
- TOC Bump
- Update Docs/main.txt

--------------------

tag v3.4.10
90a5ca61f819717050798fed8099b723838bb407
Erik L. Vonderscheer <evonder [AT] gmail [DOT] com>
2011-10-06 00:03:15 -0700

Tagging as v3.4.10

--------------------

Erik L. Vonderscheer:
- TOC bump

--------------------

tag v3.4.9
8d4a8e5b13078b4024f43d4712563e32f15402d7
Erik L. Vonderscheer <evonder@gmail.com>
2011-03-02 12:59:21 -0800

Tagging as v3.4.9

--------------------

Erik L. Vonderscheer:
- Fix typo
- Changed the way TradeFilter checks for party/raid members say/yell filtration.

--------------------

tag v3.4.8
42ad7803c5a5fbd556a310d9a9d623a4152bb8a9
Erik L. Vonderscheer <evonder@gmail.com>
2011-02-10 23:31:10 -0800

Tagging as v3.4.8

--------------------

Erik L. Vonderscheer:
- Add spam keyword to Docs/main.txt for site searches
- Fix Say/Yell logic

--------------------

tag v3.4.7
7846079a084b4caaa3c3562b1f4e742ae6cf6ae1
Erik L. Vonderscheer <evonder@gmail.com>
2011-02-07 20:42:01 -0800

Tagging as v3.4.7

--------------------

Erik L. Vonderscheer:
- Change AceTimer var to global to fix callback error

--------------------

Erik L. Vonderscheer:
- Fix bad global and poor logic in GetParty() function
- No point gathering raid/party members if you do not choose to exempt them
- Push for WowAce packager
- Change version output
- Fix GetParty() raid/party exempt list AceTimer issue.(ticket 6)
- Add check to see if timer is already active.(ticket 6)
- Fix trying to GetPartyMember() on a raid member.(drycode)(ticket 6)

--------------------

tag v3.4.5
ab0b97eb0c8642611962e69612218f523e261779
Erik L. Vonderscheer <evonder@gmail.com>
2011-01-23 08:18:35 -0800

Tagging as v3.4.5

--------------------

Erik L. Vonderscheer:
- Modify GUI to hide features when disabled
- Add AceTimer-3.0 as embedded lib
- Fix missing var for registered party and raid events
- Fix Party/Raid exempt list
Add AceTimer-3.0 for said exempt list if an UNKNOWN party member is discovered
- Modify project version output
Wowinterface needs more Git keyword substitutions

--------------------

tag v3.4.4
f05f4dc83154abac2f0ee4f3d8800b3b9909246d
Erik L. Vonderscheer <evonder@gmail.com>
2011-01-15 02:23:26 -0800

Tagging as v3.4.4

--------------------

Erik L. Vonderscheer:
- Fix exempt party function from adding "unknown"

tag 3.4.3-release
69ea920d43488c1744983c8a69c41f1614f9be5e
Erik L. Vonderscheer <evonder@gmail.com>
2011-01-13 14:39:48 -0800

Tagging as 3.4.3-release

--------------------

Erik L. Vonderscheer:
- Fix unintentional wipe of current party exemption table

tag 3.4.2-release
57aae6d78e8e6b78882ccaddaefbced8ab1c1284
Erik L. Vonderscheer <evonder@gmail.com>
2011-01-10 22:01:41 -0800

Tagging as 3.4.2-release

--------------------

Erik L. Vonderscheer:
- Fix LDB counting of filtered messages when debug is off, also make sure that LDB is loaded before calling LDBUpdate()
- Code cleanup
- Remove AceTimer and AceConsole

tag 3.4.1-release
bdde9cd7cdd46f4654bbb949b432bb1f7701312e
Erik L. Vonderscheer <evonder@gmail.com>
2010-11-24 13:24:33 -0800

Tagging as 3.4.1-release

--------------------

Erik L. Vonderscheer:
- Fix typo in GetParty() function

tag 3.4.0-release
4ca45d4c57b8e3929cda813cb2bce20533c8ebe5
Erik L. Vonderscheer <evonder@gmail.com>
2010-11-16 20:32:14 -0800

Tagging as 3.4.0-release

--------------------

Erik L. Vonderscheer:
- Replace nil with not
- Replace various expressions
- Remove unused variables
- Add name and realm to TOC
- Fix black/white list documentation
- Fix license
- Fix allowing a blank entry into any list
- Add check in FilterFunc() for special channels
- Move profile management into TradeFilter GUI frame

tag 3.3.4-beta
35827db85a9af8be2e03c1775607bd4f717f7c75
Erik L. Vonderscheer <evonder@gmail.com>
2010-11-09 21:07:00 -0800

Tagging as 3.3.4-beta

--------------------

Erik L. Vonderscheer:
- Fix allowing a blank entry into any list
- Add check in FilterFunc() for special channels
- Move profile management into TradeFilter GUI frame

tag 3.3.1-release
e93eb693aac8db1f2377af631b4a103e6d357d00
Erik L. Vonderscheer <evonder@gmail.com>
2010-11-08 19:10:31 -0800

Tagging as 3.3.1-release

--------------------

Erik L. Vonderscheer:
- Fix Print() line 155

tag 3.3.0-release
f3b653fb0c1c8e497a1c4f4a8ce067ea83b84040
Erik L. Vonderscheer <evonder@gmail.com>
2010-11-06 18:33:56 -0700

Tagging as 3.3.0-release

--------------------

Erik L. Vonderscheer:
- Fix in-game version/tag output
- Rewrite blacklist/whitelist check logic
- Fix LDB blacklist counter
- Patch 4.0.1 code changes
- Remove repeat detection and all related functions/configurations
- Add LDB now shows all Filtered/Blacklist blocks
- Remove loading message print(now prints to debug window)
- Fix party exemption list from premature table wipes
- Remove friends list initial import print(now prints to debug window)
- Fix insure all tables exist before trying to iterate them
- Fix case sensitivity
- Add allow friends/party to be filtered even if on exempt list [Ticket #5]
- Fix project version output
- Fix party exempt debug messages
- Remove X-Compatible-With:
- Fix TOC embeds
- Fix party/raid exemption spam
- Add exempt locales

tag 3.2.5-beta
4d4b5d400f55344d99138e4cafc8cd80fba7713e
Erik L. Vonderscheer <evonder@gmail.com>
2010-11-02 23:39:43 -0700

Tagging as 3.2.5-beta

--------------------

Erik L. Vonderscheer:
- Patch 4.0.1 code changes
- Remove repeat detection and all related functions/configurations
- Add LDB now shows all Filtered/Blacklist blocks
- Remove loading message print(now prints to debug window)
- Fix party exemption list from premature table wipes
- Remove friends list initial import print(now prints to debug window)
- Fix insure all tables exist before trying to iterate them
- Fix case sensitivity

tag 3.2.4-beta
c13bd2ac8ff78e2057a13ef2bb66ddaad3152f54
Erik L. Vonderscheer <evonder@gmail.com>
2010-11-01 21:29:00 -0700

Tagging as 3.2.4-beta

--------------------

Erik L. Vonderscheer:
- Add allow friends/party to be filtered even if on exempt list [Ticket #5]
- Fix project version output

tag 3.2.2-beta
1b726c9bb4a58e2364d82875263384b2115f831e
Erik L. Vonderscheer <evonder@gmail.com>
2010-10-29 00:38:34 -0700

Tagging as 3.2.2-beta

--------------------

Erik L. Vonderscheer:
- Fix party exempt debug messages
- Remove X-Compatible-With:
- Fix TOC embeds
- Fix party/raid exemption spam
- Add exempt locales

r193 | networkerror | 2009-12-01 03:46:05 +0000 (Tue, 01 Dec 2009) | 1 line
Changed paths:
A /tags/3.1.5-release (from /trunk:192)

Tagging as 3.1.5-release
------------------------------------------------------------------------
r192 | networkerror | 2009-11-16 08:06:48 +0000 (Mon, 16 Nov 2009) | 3 lines
Changed paths:
M /trunk/Docs/changelog.txt
M /trunk/TradeFilter3.lua
M /trunk/TradeFilter3Options.lua

TradeFilter3
- Added BG Filters
- Config GUI reorganization
------------------------------------------------------------------------
r191 | networkerror | 2009-10-22 04:41:13 +0000 (Thu, 22 Oct 2009) | 1 line
Changed paths:
A /tags/3.1.4-release (from /trunk:190)

Tagging as 3.1.4-release
------------------------------------------------------------------------
r190 | networkerror | 2009-10-19 05:49:28 +0000 (Mon, 19 Oct 2009) | 2 lines
Changed paths:
M /trunk/TradeFilter3.lua

TradeFilter3
- Friends import prints to debug frame instead of default
------------------------------------------------------------------------
r189 | networkerror | 2009-10-19 05:47:37 +0000 (Mon, 19 Oct 2009) | 2 lines
Changed paths:
M /trunk/TradeFilter3.lua

TradeFilter3
- Only print friends imported to exemption list if debug is enabled
------------------------------------------------------------------------
r188 | networkerror | 2009-10-06 05:23:08 +0000 (Tue, 06 Oct 2009) | 2 lines
Changed paths:
M /trunk/TradeFilter3.lua

TradeFilter3
- LDB Tooltip cleanup and localization
------------------------------------------------------------------------
r187 | networkerror | 2009-09-30 02:53:38 +0000 (Wed, 30 Sep 2009) | 1 line
Changed paths:
A /tags/3.1.3-release (from /trunk:186)

Tagging as 3.1.3-release
------------------------------------------------------------------------
r186 | networkerror | 2009-09-15 14:33:13 +0000 (Tue, 15 Sep 2009) | 2 lines
Changed paths:
M /trunk/TradeFilter3.lua

TradeFilter3
- Player names in debug and spam windows are now class colored and player links
------------------------------------------------------------------------
r185 | networkerror | 2009-09-06 05:22:12 +0000 (Sun, 06 Sep 2009) | 2 lines
Changed paths:
M /trunk/TradeFilter3Locale.lua

TradeFilter3
- Locale touch
------------------------------------------------------------------------
r183 | networkerror | 2009-08-31 05:03:47 +0000 (Mon, 31 Aug 2009) | 2 lines
Changed paths:
M /trunk/TradeFilter3.toc

TradeFilter3
- Touch for Locale update
------------------------------------------------------------------------
r182 | networkerror | 2009-08-16 07:53:41 +0000 (Sun, 16 Aug 2009) | 1 line
Changed paths:
A /tags/3.1.1-release (from /trunk:181)

Tagging as 3.1.1-release
------------------------------------------------------------------------
r172 | networkerror | 2009-08-15 09:10:58 +0000 (Sat, 15 Aug 2009) | 2 lines
Changed paths:
M /trunk/TradeFilter3.lua
M /trunk/TradeFilter3Options.lua

TradeFilter3
- Ensure DuelFilter sets on login
------------------------------------------------------------------------
r171 | networkerror | 2009-08-15 06:46:52 +0000 (Sat, 15 Aug 2009) | 2 lines
Changed paths:
M /trunk/TradeFilter3.lua
M /trunk/TradeFilter3Options.lua

TradeFilter3
- Fix LDB Repeat display not resetting when count is reset through config GUI
------------------------------------------------------------------------
r168 | networkerror | 2009-08-13 23:20:34 +0000 (Thu, 13 Aug 2009) | 3 lines
Changed paths:
M /trunk/TradeFilter3.toc

TradeFilter3
- TOC add X-WoWI-ID
- Locale bump
------------------------------------------------------------------------
r167 | networkerror | 2009-08-08 03:08:46 +0000 (Sat, 08 Aug 2009) | 4 lines
Changed paths:
M /trunk/TradeFilter3.lua
M /trunk/TradeFilter3Options.lua

TradeFilter3
- Added option whitelist bypass blacklist
- Added simple duel spam block
- Fix repeat filter not actually being off
------------------------------------------------------------------------
r166 | networkerror | 2009-08-05 18:38:21 +0000 (Wed, 05 Aug 2009) | 2 lines
Changed paths:
M /trunk/TradeFilter3.lua

TradeFilter3
- LDB refresh when repeats reset
------------------------------------------------------------------------
r165 | networkerror | 2009-08-05 02:34:59 +0000 (Wed, 05 Aug 2009) | 1 line
Changed paths:
A /tags/3.0.164-release (from /trunk:164)

Tagging as 3.0.164-release
------------------------------------------------------------------------
r164 | networkerror | 2009-08-04 22:50:17 +0000 (Tue, 04 Aug 2009) | 2 lines
Changed paths:
M /trunk/TradeFilter3.toc

TradeFilter3
- TOC bump
------------------------------------------------------------------------
r163 | networkerror | 2009-08-04 04:32:15 +0000 (Tue, 04 Aug 2009) | 1 line
Changed paths:
A /tags/3.0.162-release (from /trunk:162)

Tagging as 3.0.162-release
------------------------------------------------------------------------
r162 | networkerror | 2009-08-04 04:05:39 +0000 (Tue, 04 Aug 2009) | 3 lines
Changed paths:
M /trunk/TradeFilter3.toc
M /trunk/TradeFilter3Options.lua

TradeFilter3
- Reset for special filters
- AddonLoader delayed
------------------------------------------------------------------------
r161 | networkerror | 2009-08-03 03:47:13 +0000 (Mon, 03 Aug 2009) | 2 lines
Changed paths:
M /trunk/TradeFilter3.lua
M /trunk/TradeFilter3Options.lua

TradeFilter3
- small cleanup
------------------------------------------------------------------------
r160 | networkerror | 2009-07-30 05:47:29 +0000 (Thu, 30 Jul 2009) | 2 lines
Changed paths:
M /trunk/TradeFilter3.lua
M /trunk/TradeFilter3Options.lua

TradeFilter3
- Sorting should work now
------------------------------------------------------------------------
r159 | networkerror | 2009-07-30 04:22:17 +0000 (Thu, 30 Jul 2009) | 2 lines
Changed paths:
M /trunk/Docs/changelog.txt
M /trunk/TradeFilter3.lua
M /trunk/TradeFilter3Options.lua

TradeFilter3
- Keep lists sorted!
------------------------------------------------------------------------
r157 | networkerror | 2009-07-29 05:51:12 +0000 (Wed, 29 Jul 2009) | 2 lines
Changed paths:
M /trunk/TradeFilter3.lua

TradeFilter3
- LDB fix
------------------------------------------------------------------------
r156 | networkerror | 2009-07-29 05:30:27 +0000 (Wed, 29 Jul 2009) | 3 lines
Changed paths:
M /trunk/.pkgmeta

TradeFilter3
- LDB embed fix
- Locale touch
------------------------------------------------------------------------
r155 | networkerror | 2009-07-29 03:45:30 +0000 (Wed, 29 Jul 2009) | 4 lines
Changed paths:
M /trunk/.pkgmeta
M /trunk/Docs/changelog.txt
M /trunk/TradeFilter3.lua
M /trunk/TradeFilter3.toc
M /trunk/TradeFilter3Options.lua

TradeFilter3
- LDB support for Repeats Blocked
- Ability for Whitelist to bypass repeat filter
- GUI layout changed a little
------------------------------------------------------------------------
r154 | networkerror | 2009-07-26 04:09:26 +0000 (Sun, 26 Jul 2009) | 3 lines
Changed paths:
M /trunk/TradeFilter3.toc

TradeFilter3
- Locale touch
- TOC update
------------------------------------------------------------------------
r153 | networkerror | 2009-07-25 20:10:12 +0000 (Sat, 25 Jul 2009) | 5 lines
Changed paths:
M /trunk/TradeFilter3.lua
M /trunk/TradeFilter3Options.lua

TradeFilter3
- GUI Icon added
- Some table fault tolerance added for pattern lists
- Initial code for AddOn Channel messages(Not fully tested)
- Added special channel filtering ability
------------------------------------------------------------------------
r150 | networkerror | 2009-07-18 16:29:25 +0000 (Sat, 18 Jul 2009) | 2 lines
Changed paths:
M /trunk/Docs/main.txt
M /trunk/TradeFilter3.lua

TradeFilter3
- Added msgID(arg11) to debug and spam output.
Archived Files (2)
File Name
Version
Size
Author
Date
v3.5.0
164kB
evonder
09-19-12 10:32 PM
v3.4.11
163kB
evonder
01-30-12 09:23 PM


Post A Reply Comment Options
Old 06-13-09, 01:01 PM  
Kraki
An Aku'mai Servant

Forum posts: 30
File comments: 14
Uploads: 0
what specifically does this filter? anything not related to buying, selling, and tradeskills? repeat ads?
Kraki is offline Report comment to moderator  
Reply With Quote
Old 06-13-09, 05:43 PM  
evonder
A Defias Bandit
 
evonder's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2
File comments: 28
Uploads: 1
Originally posted by Kraki
what specifically does this filter? anything not related to buying, selling, and tradeskills? repeat ads?
I updated the AddOn description to be a little more explanatory. As of now it does not block repeat ads.
evonder is offline Report comment to moderator  
Reply With Quote
Old 06-28-09, 10:30 AM  
Contiki
A Kobold Labourer
 
Contiki's Avatar
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 74
Uploads: 2
I'm currently fine-tuning the filter for trade channels on German servers since the default filter understandably didn't do so well. I've been missing a feature to test sentences without waiting for players to say something in Trade. When a message comes through that shouldn't come through, I change the respective regular expression - or pattern as Lua likes to call it - and... wait. I wait for another player to repeat the line or a very similar one which can take a while.

Do you think it's worthwhile to add such a testing feature, a sandbox of sorts where players can test a sentence without actually using Trade channel? The add-on then reports whether or not that sentence would have been filtered or shown.

All the best,

Contiki

//edit: another feature I've been missing is a black list. Like, "if any of these terms appear in a sentence don't even check against the regular filter, just don't show this line". That'd be so neat ;-)

Also, I failed to mention the most important thing: THIS ADD-ON ROCKS! I've been getting more and more annoyed at people who're unwilling or incapable of using Trade for trade-related chat.
Last edited by Contiki : 06-28-09 at 11:06 AM.
Contiki is offline Report comment to moderator  
Reply With Quote
Old 07-01-09, 10:48 PM  
evonder
A Defias Bandit
 
evonder's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2
File comments: 28
Uploads: 1
Originally posted by Contiki
I'm currently fine-tuning the filter for trade channels on German servers since the default filter understandably didn't do so well. I've been missing a feature to test sentences without waiting for players to say something in Trade. When a message comes through that shouldn't come through, I change the respective regular expression - or pattern as Lua likes to call it - and... wait. I wait for another player to repeat the line or a very similar one which can take a while.

Do you think it's worthwhile to add such a testing feature, a sandbox of sorts where players can test a sentence without actually using Trade channel? The add-on then reports whether or not that sentence would have been filtered or shown.

All the best,

Contiki

//edit: another feature I've been missing is a black list. Like, "if any of these terms appear in a sentence don't even check against the regular filter, just don't show this line". That'd be so neat ;-)

Also, I failed to mention the most important thing: THIS ADD-ON ROCKS! I've been getting more and more annoyed at people who're unwilling or incapable of using Trade for trade-related chat.
Hey Contiki, thanks for the feedback.

r105 adds the ability to not filter self so that you can test your filters out. I will see about adding a "blacklist" feature so that sentences that contain those words are just trashed and not able to slip by when a "good" string pattern is found.

Also the project needs localizations for more languages, if you could you can add them HERE. And if you get the base filter expression list translated to German I would love to see that

EDIT: I have added the base filters to the localization at project home for r107.
Last edited by evonder : 07-02-09 at 02:24 AM.
evonder is offline Report comment to moderator  
Reply With Quote
Old 07-02-09, 01:00 PM  
Contiki
A Kobold Labourer
 
Contiki's Avatar
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 74
Uploads: 2
Greetings,

I've added the German translation to the WowAce project page - I love these hubs where players from all over the planet come together and make add-ons more accessible ;-)

Two quick notes, however, on what I did there:
  1. Of the two strings from the TOC file, namely the add-on name Trade|cffffffffFilter|r3 and the description Filter the **** outta trade channel, I only translated the description. The user wowuicn did the Chinese translation the same way so I thought it best to stick to the example. I'm not quite confident with the German translation though. Your English original has this nice ambiguous feel I couldn't reproduce in German. If German players see the description, they'll probably just say, "Nice, just what I want" without the smile on their face that the English version provokes. I've marked the description for review. Others can probably provide a cooler one than me.

  2. Most of the strings are one line only. However, later on there are strings like
    Code:
    2[vV]2
    2v2
    FILTER - Baseline Filters
    I wasn't sure whether you wanted users to translate just the first line or more. I went with translating the first line, the actual Lua pattern. If you'd like me to translate all three, feel free to say so.

As for the base filters, this is the list I've come up with over the course of roughly ten hours of testing during peak and off-peak hours on different days:

Code:
-- Clickable links that tend to show up in "good" sentences.
"enchant:%d+[^%a%d]",
"item:%d+[^%a%d]",
"spell:%d+[^%a%d]",
"trade:%d+[^%a%d]",

-- Professions including slang terms and common typos.
"alchi",
"alchemist",
"bergbau",
"ingeni?eur",
"ingi",
"inschrift",
"juw[ei]",
"knack[et]n?",
"kr\195\164uter",
"k\195\188rschner",
"leder",
"schloss",
"schl\195\182sser",
"schmi+e?d",
"schreiber",
"schneider",
"verzauber",
"verz[%p%s]",
"suche verz",
"vz[%p%s]",
"suche vz",
"suche %s- vz",

-- Indicators that players want to buy, sell or auction stuff.
"biete",
"[^%a]gebot",
"g\195\188nstig",
"kaufe",
"vk[%p%s]",
"wt[bs]",
"im ah",
"auktionshaus",
"handel",
"markt",

-- Materials and tips, sentences that contain an amount of gold.
"%d+%s?g[^%a]",
"%d+%s?gold",
"material",
"mat[sz]",
"tg[%p%s]",
"%a-g[eo]ld",

-- Indicators that players are looking for others to build/produce/sew stuff etc.
"[^%a]bau[et]?n?",
"[^%a]h?erstell[et]n?",
"[^%a]n\195\164h[et]n?",

-- Common products
"%a-stein",
"%a-stoff",
"glyph",
"port ",
"portal",
I actually started from scratch with an empty filter table within TradeFilter3.lua. Two things to note here, too: one is that I didn't use any of the "lf tank"- and "lf healer"-type patterns but that's just me. Personally I'd like to get rid of anything related to LFG so at least for me there's no reason to actually allow tanks, healers and the lot to be part of my Trade channel.

Maybe there's a user-friendly way to allow players to turn their filters upside down without the need to edit TradeFilter3.lua.

My actual filter list has five more entries I added out of desperation. You probably know it from your server: players with a perfectly valid Trade channel sentence start off with "looking for accurate huge citrine". But they just type it out. No link, no "buying" or other terms that trigger a filter and let the sentences pass trough. Now you could allow "looking for" to pass through. It'll open Pandora's box, you'll see Trade flooded with players looking for naxx, ema, kara, arena partners and whatnot. But you could.

That's where I had the black list in mind. I'd like to still see a player who's "looking for accurate huge citrine" but not the other guys and gals who're "looking for group" and the like ;-)

Aaanyway, long story short, I hope there's at least something useful in there for the add-on.

Greetings and all the best,

Contiki

//edit: Just took some time to test self-filtering and it works perfectly. At first I was wondering if the feature meant other players could no longer read what I was typing. Tested some regular Trade chat with a guildie to verify that, yup, others could still see what I was typing in Trade ;-) Took me a minute to figure out a way of using this neat feature if it meant others could see me babbling nonsense in Trade or in the middle of Orgrimmar. Well, not that nonsense is anything new for Orgrimmar's citizens. I went down into Ragefire Chasm, enabled the Say filter and bam, my own testing environment. Self-filtering immediately helped me fine-tune a pattern that let something unexpected slip through. Very very neat!
Last edited by Contiki : 07-02-09 at 02:52 PM.
Contiki is offline Report comment to moderator  
Reply With Quote
Old 07-03-09, 12:02 AM  
evonder
A Defias Bandit
 
evonder's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2
File comments: 28
Uploads: 1
Most of the strings are one line only. However, later on there are strings like
Code:
2[vV]2
2v2
FILTER - Baseline Filters
I wasn't sure whether you wanted users to translate just the first line or more. I went with translating the first line, the actual Lua pattern. If you'd like me to translate all three, feel free to say so.
The second is just context in English for translators and the third is the Namespace that the item belongs to.

Maybe there's a user-friendly way to allow players to turn their filters upside down without the need to edit TradeFilter3.lua.
Not quite sure what you mean by that ;P

My actual filter list has five more entries I added out of desperation. You probably know it from your server: players with a perfectly valid Trade channel sentence start off with "looking for accurate huge citrine". But they just type it out. No link, no "buying" or other terms that trigger a filter and let the sentences pass trough. Now you could allow "looking for" to pass through. It'll open Pandora's box, you'll see Trade flooded with players looking for naxx, ema, kara, arena partners and whatnot. But you could.
Yes indeed Pandora's box, I might just do some major changes to isolate trade channel filtering from LFG.... not sure if it is worth the time tbh.

That's where I had the black list in mind. I'd like to still see a player who's "looking for accurate huge citrine" but not the other guys and gals who're "looking for group" and the like ;-)
I have a Black/White list working right now, working on how it should be configured through the GUI.

Apart from working on the B/W list I am trying to find the best way to enable the ability to modify the whole table at once to add/remove items that each user would like to keep or not. I am right in the middle of unrelated paying project so getting the GUI worked out may be a few days off.

I will commit an alpha tonight containing the B/W list and locales for translations.

Thanks for the great input Contiki!

EDIT: r111 contains B/W list pattern checking, please test it if you get an opportunity. ty
Last edited by evonder : 07-03-09 at 01:36 AM.
evonder is offline Report comment to moderator  
Reply With Quote
Old 07-06-09, 11:45 PM  
evonder
A Defias Bandit
 
evonder's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2
File comments: 28
Uploads: 1
3.0.129-beta

I have uploaded the latest version(r129) as beta quality, though I think I have pretty much ironed all the bugs out. Please download the latest beta and test it out as it has a lot more configuration capabilities than prior versions. For more info on the changes please refer to the the change log on the project main page.

If I don't find or receive any reports or tickets then I will push this to release.

As always localization help is much appreciated. BTW sorry Contiki had to do a lot of changes in the locale file to reflect the changes in the configuration overhaul so a chunk of your previously translated items got whacked
evonder is offline Report comment to moderator  
Reply With Quote
Old 07-07-09, 11:00 AM  
oXid_FoX
A Deviate Faerie Dragon
 
oXid_FoX's Avatar
AddOn Author - Click to view AddOns

Forum posts: 18
File comments: 151
Uploads: 1
Originally posted by evonder
[b]The second is just context in English for translators and the third is the Namespace that the item belongs to.
I've just begin to localize some FR strings...
I think you must put this sentence somewhere we can easily find it (I was puzzled too)
oXid_FoX is offline Report comment to moderator  
Reply With Quote
Old 07-07-09, 08:21 PM  
evonder
A Defias Bandit
 
evonder's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2
File comments: 28
Uploads: 1
Originally posted by oXid_FoX
I've just begin to localize some FR strings...
I think you must put this sentence somewhere we can easily find it (I was puzzled too)
I will make some time to put English context to all items in the locale.

EDIT:: Or maybe remove the context altogether as not to cause confusion...
Last edited by evonder : 07-07-09 at 08:26 PM.
evonder is offline Report comment to moderator  
Reply With Quote
Old 07-09-09, 09:10 PM  
Contiki
A Kobold Labourer
 
Contiki's Avatar
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 74
Uploads: 2
Greetings,

I've taken time to test r131. Quite a few things to note this time. Hope you don't mind.
  1. Bugs/errors
    1. When debugging your own output, only invalid messages show up in the DEBUG chat frame, not valid ones that pass. Other players' messages show up in the chat frame no matter if filtered or not. I think this behavior should be consistent either way.
    2. In the Options menu under Edit Custom Filters both Reset buttons cause this error:
      Code:
      Date: 2009-07-10 01:36:14
      ID: 1
      Error occured in: Global
      Count: 1
      Message: ...nterface\AddOns\TradeFilter3\TradeFilter3Options.lua line 40:
         bad argument #1 to 'pairs' (table expected, got nil)
      Debug:
         (tail call): ?
         [C]: pairs()
         ...nterface\AddOns\TradeFilter3\TradeFilter3Options.lua:40: CopyTable()
         ...nterface\AddOns\TradeFilter3\TradeFilter3Options.lua:175:
            ...nterface\AddOns\TradeFilter3\TradeFilter3Options.lua:175
         (tail call): ?
         [C]: ?
         [string "safecall Dispatcher[1]"]:9:
            [string "safecall Dispatcher[1]"]:5
         (tail call): ?
         ...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:786:
            ...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:605
         (tail call): ?
         [C]: ?
         [string "safecall Dispatcher[2]"]:9:
            [string "safecall Dispatcher[2]"]:5
         (tail call): ?
         ...e\AddOns\TradeFilter3\libs\AceGUI-3.0\AceGUI-3.0.lua:305: Fire()
         ...ter3\libs\AceGUI-3.0\widgets\AceGUIWidget-Button.lua:23:
            ...ter3\libs\AceGUI-3.0\widgets\AceGUIWidget-Button.lua:22
      AddOns:
        Swatter, v5.4.4157 (WallabyII)
        TradeFilter3, vr131
        (ck=37)
    3. Adding text to either the Base Trade Filters or the Base Channel Filters input fields and then hitting the respective Accept button causes this error:
      Code:
      Date: 2009-07-10 02:45:10
      ID: 1
      Error occured in: Global
      Count: 1
      Message: ...nterface\AddOns\TradeFilter3\TradeFilter3Options.lua line 205:
         bad argument #1 to 'strtrim' (string expected, got nil)
      Debug:
         (tail call): ?
         [C]: strtrim()
         ...nterface\AddOns\TradeFilter3\TradeFilter3Options.lua:205:
            ...nterface\AddOns\TradeFilter3\TradeFilter3Options.lua:198
         (tail call): ?
         [C]: ?
         [string "safecall Dispatcher[2]"]:9:
            [string "safecall Dispatcher[2]"]:5
         (tail call): ?
         ...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:786:
            ...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:605
         (tail call): ?
         [C]: ?
         [string "safecall Dispatcher[3]"]:9:
            [string "safecall Dispatcher[3]"]:5
         (tail call): ?
         ...e\AddOns\TradeFilter3\libs\AceGUI-3.0\AceGUI-3.0.lua:305: Fire()
         ...AceGUI-3.0\widgets\AceGUIWidget-MultiLineEditBox.lua:76:
            ...AceGUI-3.0\widgets\AceGUIWidget-MultiLineEditBox.lua:73
         ...AceGUI-3.0\widgets\AceGUIWidget-MultiLineEditBox.lua:85:
            ...AceGUI-3.0\widgets\AceGUIWidget-MultiLineEditBox.lua:82
      AddOns:
        Swatter, v5.4.4157 (WallabyII)
        TradeFilter3, vr131
        (ck=37)

  2. Translation
    1. I've added missing translations.
    2. The English name of the key RBF is Reset Base Fitlers, note the typo.
    3. Disabled, Enabled and Loaded notifications in the chat frame aren't yet translatable.
    4. SPAM and DEBUG chat frames aren't yet translatable, namely the channel names ("Trade" and "Say/Yell" etc. are hard-coded) and stuff like, "Checking for Match", "arg1" and "userID".
    5. Pretty much the whole About options menu isn't yet translatable.
    6. In TradeFilter3Options.lua in lines 85 and 86 the two Channel Selection strings should be changed to their translatable counterparts.

  3. Suggestions
    1. Maybe you could explain what a "base channel" is that players see in some menus. Is a base channel any other channel than Trade? I was confused about this term and so may be other players.
    2. Players who're unfamiliar with Lua may be overwhelmed by the add-on's complexity when it comes to changing filters and black and white lists. Maybe it makes sense to explain the basics of Lua tables. You know, to make all of the add-on's features accessible.
      • One filter per line
      • In the add-on's GUI, neither quotation marks nor commas are necessary
      • Each field in a table may contain a value and a name
      • But just the value is valid, too, and easier to remember
      • Right now the input fields only accept name-and-value combinations; it may be even more user-friendly to allow Lua-like values without a name.
      • Thus both lines would be fine:
        Code:
        WLIST3 = spell:%d+[^%a%d]
        spell:%d+[^%a%d]
      Just some hints to get players started.
    3. When debugging Lua patterns, it'd be neat if players could see the line and/or the pattern that caused a match and the subsequent redirect - or lack thereof. Long-ish filter lists can make finding the right pattern a tedious task.

As a closing comment, just a quick question about the black and white list and the filters. In which order are these lists checked? I imagine it to be like this:
  1. Check the white list. If the message contains something from there, show it and then stop. Do not check against black list and filters.
    It can't be that bad. If it doesn't contain anything from the white list...
  2. Check the black list. If the message contains something from there, stop. Do not show this messages in the player's chat frame and do not check against the filters. Otherwise...
  3. Check the filters. If the message contains something from there, allow it. Everything's fine.
However, I'm not quite sure if the white list is necessary if this is really the way the add-on currently works. I mean, isn't the filter the same as the white list? Maybe you can shed light on this situation. Right now I have a feeling that messsages are only displayed if they contain something from the filters and the white list.

Greetings and all the best,

Contiki
Last edited by Contiki : 07-09-09 at 10:02 PM.
Contiki is offline Report comment to moderator  
Reply With Quote
Old 07-10-09, 12:28 AM  
evonder
A Defias Bandit
 
evonder's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2
File comments: 28
Uploads: 1
Originally posted by Contiki
Greetings,

I've taken time to test r131. Quite a few things to note this time. Hope you don't mind.
**snip**
Greetings and all the best,

Contiki
Thanks for taking the time to make such a thorough report
  1. If you are not filtering yourself you will not see your own text in DEBUG as it is bypassing the filterer altogether, I can add more debugging output to the prefilter checks but as of right now the only debugging is output from the main filter function. So atm it is working as intended
  2. Typo, fixed in next update.
  3. This is caused when the input is lacking a key and value pair. I will be adding in some validation checks to counteract this error from occurring.

Translations:
  1. Thank you
  2. Fixed
  3. Added Enabled, Disabled and Loaded messages added to the locale
  4. All previously hard coded strings are added to the locale
  5. Not real sure if this is important enough to clog the crap out of the TOC
  6. Fixed

Suggestions:
  1. Added entry into locale to explain that "Base Channel Filters" apply to all channels except Trade channel
  2. The ability to only input the string without needing its paired key is on my "To Do" list -- Done
  3. Added into next update, will now show what pattern was matched to allow it to not be filtered out.

Closing Comments:
B/W Lists: Your spot on.
On one hand it does seem like needless redundancy and tbh I am unsure if it saves on overhead which I was thinking when I implemented it.

EDIT:: Suggestions #3 = Done
Latest: r132
Last edited by evonder : 07-10-09 at 01:58 AM.
evonder is offline Report comment to moderator  
Reply With Quote
Old 07-10-09, 09:29 AM  
Contiki
A Kobold Labourer
 
Contiki's Avatar
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 74
Uploads: 2
Greetings,

the new translations are done. I've read your post and can't believe you did all this this over night! I'll check the latest version as soon as I can savely take the time for it. One thing to note in the meantime: the English text of the translation key FREM is "removed to the TradeFilter exempt list" instead of "removed from [...]".

Those neat changes make me all giddy ;-)

As for the black and white lists, I think the more accessible this add-on becomes, the more players are going to accept, use and love it. I myself wasn't sure how a white list fit into the larger picture of filters. Other players may be unsure about that feature, too. You could counteract this by explaining the feature, maybe by explaining the priority of white list, then black list, then filters. On the other hand, "just" filters and the black list get the job done, too. And they mean fewer options for players to understand. Just my two cents.

Greetings and all the best,

Contiki

PS: I'll be back with thorough(er) feedback once I've tested the latest version.
Contiki is offline Report comment to moderator  
Reply With Quote
Old 07-11-09, 12:12 AM  
evonder
A Defias Bandit
 
evonder's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2
File comments: 28
Uploads: 1
Originally posted by Contiki
One thing to note in the meantime: the English text of the translation key FREM is "removed to the TradeFilter exempt list" instead of "removed from [...]".
Nice catch, copy and paste strikes again!
Originally posted by Contiki
Those neat changes make me all giddy ;-)

As for the black and white lists, I think the more accessible this add-on becomes, the more players are going to accept, use and love it. I myself wasn't sure how a white list fit into the larger picture of filters. Other players may be unsure about that feature, too. You could counteract this by explaining the feature, maybe by explaining the priority of white list, then black list, then filters. On the other hand, "just" filters and the black list get the job done, too. And they mean fewer options for players to understand. Just my two cents.

Greetings and all the best,

Contiki

PS: I'll be back with thorough(er) feedback once I've tested the latest version. [/b]
Good point, some people may be confused so I will add info on the filter priority structure to the add-on description.
evonder is offline Report comment to moderator  
Reply With Quote
Old 07-13-09, 02:25 AM  
Recluse
A Cliff Giant
 
Recluse's Avatar
AddOn Author - Click to view AddOns

Forum posts: 70
File comments: 112
Uploads: 14
Could we get an option to disable the 'so and so added/removed from exempt list' spam? It's not a bad feature or anything, but I have an addon which uses the friends list to determine corpse statuses, and it gets really spammy! Thanks
__________________
We'd be together, but only diamonds last forever...
Recluse is offline Report comment to moderator  
Reply With Quote
Old 07-14-09, 05:28 PM  
KyrosKrane
A Kobold Labourer

Forum posts: 0
File comments: 12
Uploads: 0
OK, I think I'm finally starting to understand how this works. I've taken your priority diagram from the description and turned it into a sort of pseudo-code. Tell me if this is correct, please.
  • If speaker is on friends list, display as normal and skip the rest of these steps.
  • If speaker is self (unless self-filtering is turned on), display as normal and skip the rest of these steps.
  • If message matches whitelist, display as normal and skip the rest of these steps.
  • If message matches blacklist, discard it (don't display anywhere) and skip the rest of these steps.
  • If message has been repeated, discard it (don't display anywhere) and skip the rest of these steps.
  • Choose one:
    • If message matches the filter, display as normal; OR
    • if message does not match the filter and the spam window option is enabled, display in the spam window; OR
    • if message does not match the filter and the spam window option is disabled, discard it (don't display anywhere).

Is that about correct?

What I'm hoping for is a little different. Here's what I'm looking for; differences in bold.
  • If speaker is on friends list, display as normal and skip the rest of these steps.
  • If speaker is self (unless self-filtering is turned on), display as normal and skip the rest of these steps.
  • If message matches whitelist, display as normal and skip the rest of these steps.
  • If message matches blacklist, display in the spam window and skip the rest of these steps.
  • If message has been repeated, discard it (don't display anywhere) and skip the rest of these steps.
  • Else, display the message as normal.

Is this possible with your addon?

On a related note, are the regular expressions used for the filter and white/blacklists interchangeable? Can I copy the expressions from, say, the blacklist into the filter window and the addon would parse them without error?
KyrosKrane is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.