Spam control, by Regex?
mrgoat
(I searched for this and found nothing. Is search broke again?)
So. We have a very, very weak filter on the all-chat that moves lines containing WTS to the trade chat. We have no forthcoming auction house. What we do have, is a terrible spam problem choking out general chat with wts and wtb spam in many, many districts. I don't know about you, but I personally, would like to have general chat back.
So, we've got basic pattern matching in place already. The chat system appears to be stolen largely from IRC anyway. Here's my idea:
Let users write lists of regular expressions (basic ones even, no backreferences or anything) to filter spam from at least the all chat. Ideally, there's no reason not to allow the use of the same code for each chat channel, but you'd need different lists of regexes for each. It could be done client-side, with just a config file filled with regexes, one per line, arranged by channel. When a line comes in chat, your machine, the client, can run it by a list of regexes and just supress the on-screen output if it matches. (One other thing: Let users turn it off, or just run a blank spam file for possible preformance reasons. I don't know what language GW is written in, or how efficient it is at string processing)
The whole thing would be done on the client end, incurring no extra load on the servers, and it could, effectively push spam back to the trade channel, if it gets used that way. It could also act as your own personal profanity filter, if you want to use it that way.
For instance:
----begin config----
[general]
[Ww]\s*[Tt]\s*[Ss]\s*
---end config----
Would supress any line in general chat with W or w, followed by 0 or more spaces, followed by T or t with 0 or more spaces, followed by S or s with 0 or more spaces. Already a huge improvement over the current "filter", as it would match WTS, wts, WtS, W ts, W T S, W TS, W T S, w t s, etc.
Surely there's at least a couple more people out there who're familiar with regexes. It only takes, like, 10 (number not cryptographically random ) of us to put in a little continuing work to put out a block file for others to use. If Anet won't do anything about it, just let us do it. Surely people will still try to spam, but if we just keep up with their evasion techniques for a little while, it'll be more profitable to move back to trade chat for... you know, .... trading.
Worst case, spammers have to at least be literate, writing stuff like "Good Sirs! I desire to trade away this magnificent sword of purest crystal, forged in the fires of the HoH chest itself! Fifteen glorious points per cent, Up fifty! One hundred k plus four score globs of ectoplasmic goo are all I ask!"
And if they'll do that, I say the entertainment is enough.
For more information on regular expressions see http://en.wikipedia.org/wiki/Regex , or your friendly neighborhood geek.
Anyway... Comments? Thoughts? Point out why this idea is fundamentally flawed? (Aside from asking anet to re-implement a regex matching function, I'm presuming that since it's been done dozens of times, and they freakin' wrote guild wars, that they've got the talent at least)
So. We have a very, very weak filter on the all-chat that moves lines containing WTS to the trade chat. We have no forthcoming auction house. What we do have, is a terrible spam problem choking out general chat with wts and wtb spam in many, many districts. I don't know about you, but I personally, would like to have general chat back.
So, we've got basic pattern matching in place already. The chat system appears to be stolen largely from IRC anyway. Here's my idea:
Let users write lists of regular expressions (basic ones even, no backreferences or anything) to filter spam from at least the all chat. Ideally, there's no reason not to allow the use of the same code for each chat channel, but you'd need different lists of regexes for each. It could be done client-side, with just a config file filled with regexes, one per line, arranged by channel. When a line comes in chat, your machine, the client, can run it by a list of regexes and just supress the on-screen output if it matches. (One other thing: Let users turn it off, or just run a blank spam file for possible preformance reasons. I don't know what language GW is written in, or how efficient it is at string processing)
The whole thing would be done on the client end, incurring no extra load on the servers, and it could, effectively push spam back to the trade channel, if it gets used that way. It could also act as your own personal profanity filter, if you want to use it that way.
For instance:
----begin config----
[general]
[Ww]\s*[Tt]\s*[Ss]\s*
---end config----
Would supress any line in general chat with W or w, followed by 0 or more spaces, followed by T or t with 0 or more spaces, followed by S or s with 0 or more spaces. Already a huge improvement over the current "filter", as it would match WTS, wts, WtS, W ts, W T S, W TS, W T S, w t s, etc.
Surely there's at least a couple more people out there who're familiar with regexes. It only takes, like, 10 (number not cryptographically random ) of us to put in a little continuing work to put out a block file for others to use. If Anet won't do anything about it, just let us do it. Surely people will still try to spam, but if we just keep up with their evasion techniques for a little while, it'll be more profitable to move back to trade chat for... you know, .... trading.
Worst case, spammers have to at least be literate, writing stuff like "Good Sirs! I desire to trade away this magnificent sword of purest crystal, forged in the fires of the HoH chest itself! Fifteen glorious points per cent, Up fifty! One hundred k plus four score globs of ectoplasmic goo are all I ask!"
And if they'll do that, I say the entertainment is enough.
For more information on regular expressions see http://en.wikipedia.org/wiki/Regex , or your friendly neighborhood geek.
Anyway... Comments? Thoughts? Point out why this idea is fundamentally flawed? (Aside from asking anet to re-implement a regex matching function, I'm presuming that since it's been done dozens of times, and they freakin' wrote guild wars, that they've got the talent at least)
Tyggen
It doesn't matter, if the buyers/sellers want to advertise in local they'll bypass the system no matter how many filters you put in place.
Human fantasy > chat filtering
Human fantasy > chat filtering
Amity and Truth
I suggested something similiar. It was mostly ignored back then, sadly. I'm all for it though.
Besides, human fantasy can only bypass something they know of. They don't know how you've put your filters.
Besides, human fantasy can only bypass something they know of. They don't know how you've put your filters.
Marty Silverblade
You would also have to fix 'selling', 'buying', 'purchasing', and so on. If you're whispering a guildie saying 'I was thinking of buying that sephis axe i was offered for 45k'. It would be sent to the trade section. I'd say you would only apply your thingy if it is in local chat.
fachtna
all you need do is have an admin person sit in droks or kaineng dist 1 for 30 mins
and instantly ban anyone selling on the wrong tab
and instantly ban anyone spamming multiple messages
if you got two or 3x1 week bans, you would soon mend your ways
it would also sort out a lot of the bot sellers
and instantly ban anyone selling on the wrong tab
and instantly ban anyone spamming multiple messages
if you got two or 3x1 week bans, you would soon mend your ways
it would also sort out a lot of the bot sellers
Tyggen
Quote:
Originally Posted by Amity and Truth
Besides, human fantasy can only bypass something they know of. They don't know how you've put your filters.
|
"hm.. it was sent to trade?"
*enter + up + enter*
"hm.. it was still sent to trade? I know!"
*enter, change to "W TS"*
That took a whole 5 seconds to figure out, other filters will fail just as quickly
mrgoat
I knew I was going to get these comments along the lines of "nah, they'll just bypass your filters". The whole point here is that you make your own filters, or borrow a set from a group of people that put a little time into keeping a set up to date. Of course any filter that doesn't change can eventually get bypassed. This is *client side* and it's to *supress the line*, not "move it to trade chat on the server".
It's not "human imagination" vs. "static filter" it's "human imagination" vs. "human imagination-fueled filter that undergoes frequent updating". Let's try it: I posted one regex that stops all variations of wts. Here: "[Ww]\s*[Tt]\s*[Ss|Bb]\s* matches all variations of wts and wtb, with any number of spaces, zero or more. (It's also far better than the current filter) I thought that up just as fast, maybe faster, than a spammer thought to put in a space. I can think of one to cut out every variation of "selling" and "buying" in about 5 minutes. If a few people just keep track of the popular ways to spam, add patterns to match, and distribute the list, we could probably keep up reasonably well.
I mean, it's easier to implement than an auction house, that's for sure. Go ahead, try it out. To beat my rudimentary filter, you already have to type whole words. You want one to filter "want to sell/want to buy"? Here: "want\s*t[:alpha:]\s*[[$s]el*|bu*y]/i". It matches all variants of "want to sell", including using a $ as an S, any number of l's at the end of sell, using want t sell, want ti sell, want tu sell etc, and removing the u in "buy", and all upper/lowercase variations. I've now spent ten minutes, and covered today's most popular spams.
Get 10-15 people in on this, and spammers'll have to fight very hard to keep spamming anyone who uses it. Or, more specifically, they can spam all they want, we just won't see it. I don't want to eliminate the trade spam, just to make it more profitable to stick it in the trade channel.
Next week we'll cover bayesian filtering.
It's not "human imagination" vs. "static filter" it's "human imagination" vs. "human imagination-fueled filter that undergoes frequent updating". Let's try it: I posted one regex that stops all variations of wts. Here: "[Ww]\s*[Tt]\s*[Ss|Bb]\s* matches all variations of wts and wtb, with any number of spaces, zero or more. (It's also far better than the current filter) I thought that up just as fast, maybe faster, than a spammer thought to put in a space. I can think of one to cut out every variation of "selling" and "buying" in about 5 minutes. If a few people just keep track of the popular ways to spam, add patterns to match, and distribute the list, we could probably keep up reasonably well.
I mean, it's easier to implement than an auction house, that's for sure. Go ahead, try it out. To beat my rudimentary filter, you already have to type whole words. You want one to filter "want to sell/want to buy"? Here: "want\s*t[:alpha:]\s*[[$s]el*|bu*y]/i". It matches all variants of "want to sell", including using a $ as an S, any number of l's at the end of sell, using want t sell, want ti sell, want tu sell etc, and removing the u in "buy", and all upper/lowercase variations. I've now spent ten minutes, and covered today's most popular spams.
Get 10-15 people in on this, and spammers'll have to fight very hard to keep spamming anyone who uses it. Or, more specifically, they can spam all they want, we just won't see it. I don't want to eliminate the trade spam, just to make it more profitable to stick it in the trade channel.
Next week we'll cover bayesian filtering.
lyra_song
Ah interesting....a client side filter would be VERY COOL!!!
:]
/signed
:]
/signed
Amity and Truth
Quote:
Originally Posted by Tyggen
blub
|
You know, the spammers don't even know their spam falls for YOUR PERSONAL Clientside Filter. Everyone might have configured it differently. With the ability of such lists the players themself could update the list just as fast as the spammers invent new way to bypass. And as those lists are clientside, the spammer doesn't know he is blocked.
hyro yamaguchi
How will people know what you have in your filter? They won't. And all "variations" I am seeing is W TS or WT S or something like that, not very original.
I think this is a very good idea.
But as Marty points out, you should be able to do this for each channel seperately. So that guild/alliance/trade/whisper won't be changed. (offcourse the idea would be pointless if banning WTS and WTB would affect the trade channel as well).
Oh and by the way....ban everyone? Lol silly boy/girl
I think this is a very good idea.
But as Marty points out, you should be able to do this for each channel seperately. So that guild/alliance/trade/whisper won't be changed. (offcourse the idea would be pointless if banning WTS and WTB would affect the trade channel as well).
Oh and by the way....ban everyone? Lol silly boy/girl
mrgoat
Quote:
Originally Posted by Amity and Truth
Did you read the thread at all?
You know, the spammers don't even know their spam falls for YOUR PERSONAL Clientside Filter. Everyone might have configured it differently. With the ability of such lists the players themself could update the list just as fast as the spammers invent new way to bypass. And as those lists are clientside, the spammer doesn't know he is blocked. |
mrgoat
Quote:
Originally Posted by hyro yamaguchi
How will people know what you have in your filter? They won't. And all "variations" I am seeing is W TS or WT S or something like that, not very original.
I think this is a very good idea. But as Marty points out, you should be able to do this for each channel seperately. So that guild/alliance/trade/whisper won't be changed. (offcourse the idea would be pointless if banning WTS and WTB would affect the trade channel as well). |
Franco
Just disable chat, what do you mean Spam? I find guildwars a very anti-social game in towns, In guilds and alliance yes, there is always chat going on, but in towns no one talks to each other, the W.T.S and W.T.B actually help other people know there's life out there
mrgoat
Quote:
Originally Posted by Franco
Just disable chat, what do you mean Spam? I find guildwars a very anti-social game in towns, In guilds and alliance yes, there is always chat going on, but in towns no one talks to each other, the W.T.S and W.T.B actually help other people know there's life out there
|
I don't want to turn the general chat *off*, I want it *back*. GW could be more social in towns, if anyone could get a conversation in between this crystalline sword and that req 8 fellblade.
lyra_song
I think another great possibility with this idea is for BUYERS.
Filter for a specific item!!!
im starting to like this idea a lot more ^^;
Filter for a specific item!!!
im starting to like this idea a lot more ^^;
mrgoat
Bump.
hyro yamaguchi
So.....looks like a solid idea to me....when will Anet implant it?
mrgoat
Dunno. Haven't heard word yet on wether or not the dev team is interested. I would figure if they decided to do something like this, it'd a good ways after nightfall's release.
Glospey
I'm all for this implementation. Politely asking people to use a different channel has little to no effect. Insulting the lot of them usually provokes a response from spammers and other players (return insults and support, respectively). This would be most beneficial as those who don't know how to turn "trade" on (which is usually the spammers argument) won't have to use filters so they're happy and those of us who want people to use the appropriate channel will be happy as we'll only see it there. The only downside that I see to this is my own principal that some others have taken up: I adamently refuse to do business (buying or selling) with anyone using the main chat. If I'm filtering, how will I know they're not just double-spamming. Of course, if enough people refuse to deal with these punks for using main chat, that could be an alternative by itself On a similar note, when is ANet going to give Guild Recruitment it's own channel? They're the other third of mainchat spams.
xiao1985
/unsigned
untick local/trade ftw
untick local/trade ftw
hyro yamaguchi
Xiao, don't you think that general chat serves other purposes than buying/selling?
Talking to other people is one of the best parts of an mmorpg IMO, but where could ou have a talk with people? Most places are too quiet, and the busy places get an overload of spam.
Talking to other people is one of the best parts of an mmorpg IMO, but where could ou have a talk with people? Most places are too quiet, and the busy places get an overload of spam.
mrgoat
Quote:
Originally Posted by xiao1985
/unsigned
untick local/trade ftw |
Glospey
Oh, I know the answer!!! PICK ME!!! PICK ME!!!!
YOu wouldn't!! :-D No chatting allowed. Only spammers get to use channels!!! Didn't you know? All this talk about having ACTUAL conversations! All this time we've had it all wrong. The gaming community was never founded so that people could play games with other people. We're just supposed to stare at our screens and play with ourselves.
YOu wouldn't!! :-D No chatting allowed. Only spammers get to use channels!!! Didn't you know? All this talk about having ACTUAL conversations! All this time we've had it all wrong. The gaming community was never founded so that people could play games with other people. We're just supposed to stare at our screens and play with ourselves.
freekedoutfish
Quote:
Originally Posted by mrgoat
(I searched for this and found nothing. Is search broke again?)
So. We have a very, very weak filter on the all-chat that moves lines containing WTS to the trade chat. We have no forthcoming auction house. What we do have, is a terrible spam problem choking out general chat with wts and wtb spam in many, many districts. I don't know about you, but I personally, would like to have general chat back. So, we've got basic pattern matching in place already. The chat system appears to be stolen largely from IRC anyway. Here's my idea: Let users write lists of regular expressions (basic ones even, no backreferences or anything) to filter spam from at least the all chat. Ideally, there's no reason not to allow the use of the same code for each chat channel, but you'd need different lists of regexes for each. It could be done client-side, with just a config file filled with regexes, one per line, arranged by channel. When a line comes in chat, your machine, the client, can run it by a list of regexes and just supress the on-screen output if it matches. (One other thing: Let users turn it off, or just run a blank spam file for possible preformance reasons. I don't know what language GW is written in, or how efficient it is at string processing) The whole thing would be done on the client end, incurring no extra load on the servers, and it could, effectively push spam back to the trade channel, if it gets used that way. It could also act as your own personal profanity filter, if you want to use it that way. For instance: ----begin config---- [general] [Ww]\s*[Tt]\s*[Ss]\s* ---end config---- Would supress any line in general chat with W or w, followed by 0 or more spaces, followed by T or t with 0 or more spaces, followed by S or s with 0 or more spaces. Already a huge improvement over the current "filter", as it would match WTS, wts, WtS, W ts, W T S, W TS, W T S, w t s, etc. Surely there's at least a couple more people out there who're familiar with regexes. It only takes, like, 10 (number not cryptographically random ) of us to put in a little continuing work to put out a block file for others to use. If Anet won't do anything about it, just let us do it. Surely people will still try to spam, but if we just keep up with their evasion techniques for a little while, it'll be more profitable to move back to trade chat for... you know, .... trading. Worst case, spammers have to at least be literate, writing stuff like "Good Sirs! I desire to trade away this magnificent sword of purest crystal, forged in the fires of the HoH chest itself! Fifteen glorious points per cent, Up fifty! One hundred k plus four score globs of ectoplasmic goo are all I ask!" And if they'll do that, I say the entertainment is enough. For more information on regular expressions see http://en.wikipedia.org/wiki/Regex , or your friendly neighborhood geek. Anyway... Comments? Thoughts? Point out why this idea is fundamentally flawed? (Aside from asking anet to re-implement a regex matching function, I'm presuming that since it's been done dozens of times, and they freakin' wrote guild wars, that they've got the talent at least) |
It wont stop it because they will find others.
It would mean users are constantly having to re-add to their filters and it would get tedious and just annoy them.
Plus that kind of coding might be a bit technical for alot of people.
Coverticus
Client side filtering sounds a good idea, as long as you are au fait enough with how to set filtering up (or ANet gave GW an intuitive GUI for it). Though saying that, you have to be careful with what you set up as you could inadventatly block legitimate conversations which could be quite interesting.
Of course, if ANet decided to give us poor people the Auction House we have been after for so long now, you would find that quite a large percentage of WTB/WTS would drop off the chats.
Of course, if ANet decided to give us poor people the Auction House we have been after for so long now, you would find that quite a large percentage of WTB/WTS would drop off the chats.
mrgoat
Quote:
Originally Posted by freekedoutfish
When they banned WTS in local chat, they started using W T S and W.T.S. and every other alternative combination.
It wont stop it because they will find others. It would mean users are constantly having to re-add to their filters and it would get tedious and just annoy them. Plus that kind of coding might be a bit technical for alot of people. |
I guess there's a possibility that having to tune your filterset once in a while, or download an updated one from somewhere, could be more annoying than spam, yes. In that case, I reccomend you just deal with the spam. And you're right, this wouldn't stop it completely, but it would make a real big dent.
And the best part: They get no notification whatsoever that any particular person didn't hear them spam. There's NO feedback on wether their evasion techniques are effective, or if there's just no one buying their crap.
Sir Mad
Quote:
It doesn't matter, if the buyers/sellers want to advertise in local they'll bypass the system no matter how many filters you put in place. Human fantasy > chat filtering |
/signed
Aundora Rayne
OK I have read all of the above post and the people disagreeing with this post have absolutely no grasp of this concept or are being very ignorant. This is an absolutely fantastic idea and should most definately be encorporated into the game. It would be very simple to set up/use/maintain and it would be very effective at removing spam.
For people who aren't in the know, this is how it could work:
You have just seen hundreds of people writing W T S in all chat, you dont want to hear this so you do the following:
Now what happens
Before you get any message you computer checks that "W T S" isnt in it, if it is it simply doesn't display it. The seller has NO IDEA, the text doesnt move channel, it is simply not displayed on your screen.
Things to understand:
Absolutely 100% /signed,
Fantastic idea.
I see absolutely no reason why anyone working for anet with the power to include this would have hesitations, and I hope to see it in game soon!
For people who aren't in the know, this is how it could work:
You have just seen hundreds of people writing W T S in all chat, you dont want to hear this so you do the following:
- 1. Open a small window from the menu.
- 2. You type "W T S" into the text box.
- 3. You tick which channels to filter from a tick box selection: all[ ], guild[ ], alliance[ ] (as many as you want)
Now what happens
Before you get any message you computer checks that "W T S" isnt in it, if it is it simply doesn't display it. The seller has NO IDEA, the text doesnt move channel, it is simply not displayed on your screen.
Things to understand:
- 1. No-one can see what you filter - therefore they cannot "get around" your filter. THEY DO NOT EVEN KNOW THEY ARE FILTERED.
- 2. If you do not want to use this feature - you do not have to (but I am sure you would want to!)
- 3. It doesnt just have to be WTS you block, how about your own profanity filter?
- 4. There would also be an edit mode, a list of all the current filtered words - just select one to edit or delete - simple!
Absolutely 100% /signed,
Fantastic idea.
I see absolutely no reason why anyone working for anet with the power to include this would have hesitations, and I hope to see it in game soon!
Lydz
Hmm...it sounds like this is a very long way around to something that could be solved using one of the following methods:
1. Implement an auction house. It's probably the single most requested feature yet we don't have one
2. Place GMs in game who hand out warnings or ban people (since spamming is against the EULA)
3. Allow people to link items to chat (such as weapons), but only allow this to happen in trade chat. Considering most of these spammers are too lazy to wait their turn to paste their message into chat again, I think they will be too lazy to manually type everything out in local chat once this system is in place
I'm also worried that your requested system could slow down low-end users, especially when entering Kaineng Centre or another trade hub It's nice to see that so many people are against spamming though!
1. Implement an auction house. It's probably the single most requested feature yet we don't have one
2. Place GMs in game who hand out warnings or ban people (since spamming is against the EULA)
3. Allow people to link items to chat (such as weapons), but only allow this to happen in trade chat. Considering most of these spammers are too lazy to wait their turn to paste their message into chat again, I think they will be too lazy to manually type everything out in local chat once this system is in place
I'm also worried that your requested system could slow down low-end users, especially when entering Kaineng Centre or another trade hub It's nice to see that so many people are against spamming though!
MithranArkanere
There is no greater despise than not to appreciate.
This is, so far, the best way I know.
You read a WTS in a channel you don't like? You add a filter for that.
After some time, the spammers would really notice thay don't sell a single think, because eveyone would ignore their selling rants.
This is, so far, the best way I know.
You read a WTS in a channel you don't like? You add a filter for that.
After some time, the spammers would really notice thay don't sell a single think, because eveyone would ignore their selling rants.