Spambot backlash.. need help
|
Winter Ventura
Eclectic Randomness
Join date: 18 Jul 2006
Posts: 2,579
|
11-15-2006 03:58
Some joker has released an IM spammer into the world, under the beileif that this will defeat the CopyBot. WHile it's true, that it may well trigger the copybots to log off (at least version 1.0).. There are over 10,000 residents in world that are NOT copybots, who are getting spammed mercilously by these things. Often they're hidden out of site, renamed, etc.
I would like to generate a script that will IM the owner of this object, every time it IMs me.
Is there any way to do this?
_____________________
 ● Inworld Store: http://slurl.eclectic-randomness.com ● Website: http://www.eclectic-randomness.com ● Twitter: @WinterVentura
|
Jillian Callahan
Rotary-winged Neko Girl
Join date: 24 Jun 2004
Posts: 3,766
|
11-15-2006 04:01
From: Winter Ventura Some joker has released an IM spammer into the world, under the beileif that this will defeat the CopyBot. WHile it's true, that it may.. There are over 10,000 residents in world that are NOT copybots, who are getting spammed mercilously by these things. Often they're hidden out of site, renamed, etc. I would like to generate a script that will IM the owner of this object, every time it IMs me. Is there any way to do this? Sadly, no. No script can "hear" the IM.
|
Winter Ventura
Eclectic Randomness
Join date: 18 Jul 2006
Posts: 2,579
|
11-15-2006 04:04
is there a way to scan the area for objects with "copy" and "bot" in the title?
_____________________
 ● Inworld Store: http://slurl.eclectic-randomness.com ● Website: http://www.eclectic-randomness.com ● Twitter: @WinterVentura
|
Jillian Callahan
Rotary-winged Neko Girl
Join date: 24 Jun 2004
Posts: 3,766
|
11-15-2006 04:31
From: Winter Ventura is there a way to scan the area for objects with "copy" and "bot" in the title? Yes, but not reliably. There are SO many scripted objects in SL that trying to locate one via a sensor without already knowing its name or UUID is nigh impossible.
|
Winter Ventura
Eclectic Randomness
Join date: 18 Jul 2006
Posts: 2,579
|
11-15-2006 04:35
if I knew PART of the name?
It occurs to me, that the objects give their name every time they IM me.
_____________________
 ● Inworld Store: http://slurl.eclectic-randomness.com ● Website: http://www.eclectic-randomness.com ● Twitter: @WinterVentura
|
Jesse Barnett
500,000 scoville units
Join date: 21 May 2006
Posts: 4,160
|
11-15-2006 06:15
Unfortunately the genie is out of the bottle Winter and there is no way to make it go back. I pointed out how bad of an idea releasing a spam script was and it was ignored. Also pointed out that all anyone had to do was ignore IM's from anyone but the owner in the other version and it was ignored. Now uninformed shop owners are going to have these anti-copy bots up for months now if not permanently and we will all pay the price. Any counter measures against them created using sensors is just going to down grade our ability to enjoy SL in the form of more lag.
As for me. I am just going to get on with my life and go back to Beta where it is nice and quite and I can do my little part to help SL by finding bugs. Don't really go to stores much anymore anyways. Much more fun to create it myself. Gonna be a while before I look in any forums except for scripting tips and Beta also. Too much hate, acid and ignorance everywhere else now here.
_____________________
I (who is a she not a he) reserve the right to exercise selective comprehension of the OP's question at anytime. From: someone I am still around, just no longer here. See you across the aisle. Hope LL burns in hell for archiving this forum
|
Ordinal Malaprop
really very ordinary
Join date: 9 Sep 2005
Posts: 4,607
|
11-15-2006 06:26
You could use a script like this: // Anti-copybot-spam script // Ordinal Malaprop // 2006-11-15 // last modified 2006-12-24
string gBotName = "<no name set>"; string gLastOwnerName = "<unknown>"; key gLastOwnerKey = NULL_KEY; key gOwner = NULL_KEY; integer CHANNEL = 123; string gPos = ""; integer gScanned = FALSE;
help() { status(); llOwnerSay("Instructions"); llOwnerSay("1. Wait for a copybot spam object to IM you"); llOwnerSay("2. Copy the name from your IM window"); llOwnerSay("3. Say that name on channel " + (string)CHANNEL + " e.g. /" + (string)CHANNEL + " Simple Copybot Defeater"); llOwnerSay("4. Touch the prim with this script in. It will set off a scan for the nearest object with that name, tell you the owner and give you the option to send them an IM asking them to remove it."); llOwnerSay("Forum thread - http://forums.secondlife.com/showthread.php?p=1335358#post1335358"); }
gethelp() { llOwnerSay("Say /" + (string)CHANNEL + " help to receive help instructions at any time."); }
status() { llSetText("Currently scanning for\n" + gBotName + "\nwhen touched\nSay '/" + (string)CHANNEL + " help' for more info", <0.5, 1.0, 0.5>, 1.0); }
default { state_entry() { status(); llListen(CHANNEL, "", llGetOwner(), ""); }
on_rez(integer p) { help(); }
listen(integer channel, string name, key id, string message) { if (gScanned && message == "Yes") { llInstantMessage(gOwner, "Your object '" + gBotName + "' at " + gPos + " is sending " + llKey2Name(llGetOwner()) + " unwanted instant messages." + " This method of copybot protection does not work in any case, as stated by LL." + " Please disable it! Thank you."); llOwnerSay("IM sent to owner for object '" + gBotName + "' at " + gPos); } else if (llToLower(message) == "help") { help(); } else if (message != "No") { if (message == "") { llOwnerSay("Can't scan for a blank name - still scanning for '" + gBotName + "'"); gethelp(); } else { gBotName = message; llOwnerSay("Bot name changed - now scanning for '" + gBotName + "' when touched"); status(); } } gScanned = FALSE; }
touch_start(integer n) { if (gBotName == "") { gBotName = "<no name set>"; status(); } if (gBotName == "<no name set>") { llOwnerSay("You need to set the name of the object to scan for before scanning."); gethelp(); } else llSensor(gBotName, NULL_KEY, SCRIPTED, 96.0, PI); }
no_sensor() { llOwnerSay("Could not find " + gBotName + " within 96m"); }
sensor(integer n) { gOwner = llGetOwnerKey(llDetectedKey(0)); gPos = llGetRegionName() + " " + (string)llDetectedPos(0); string report = "Found object '" + gBotName + "' at " + gPos; if (gOwner == gLastOwnerKey) { report += " owned by " + gLastOwnerName; } else { report += " owned by " + (string)gOwner + ", requesting owner name..."; llRequestAgentData(gOwner, DATA_NAME); } llOwnerSay(report); gScanned = TRUE; llDialog(llGetOwner(), "Send IM to the object owner?", ["Yes", "No", "Help"], CHANNEL); }
dataserver(key queryid, string data) { llOwnerSay("Name of agent with key " + (string)gOwner + " is " + data + ", saving this for next time."); gLastOwnerKey = gOwner; gLastOwnerName = data; } } (see below) INSTRUCTIONS: put the above script into a prim, attach it as a HUD. When you are IMed by a copybot spammer, say the exact name of the item that IMed you on channel 123 e.g. /123 Simple Copybot Defeater then touch the prim. It will scan for the item, find out who owns it, tell you where it is, and give you the option to send them an IM.
_____________________
http://ordinalmalaprop.com/forum/ - visit Ordinal's Scripting Colloquium for scripting discussion with actual working BBCode!
http://ordinalmalaprop.com/engine/ - An Engine Fit For My Proceeding, my Aethernet Journal
http://www.flickr.com/groups/slgriefbuild/ - Second Life Griefbuild Digest, pictures of horrible ad griefing and land spam, and the naming of names
|
Winter Ventura
Eclectic Randomness
Join date: 18 Jul 2006
Posts: 2,579
|
11-15-2006 06:44
Frankly.. I'm over it. I can mute the Fing things just like all the spamming prize balls and announcer balls and whatever else is out there spewing green text that no one listens to anyways. But it just pisses me off to see these things popping up.. like mad.. in shops everywhere.. treating every potential customer, like a potential theif. And now "paranoid shopowners" (whose stores might have nothing but boxed items anyways) are greifing their customers. And now we'll have to deal with noobs talking in the air saying "quit what? I didn't do anything!" ---------------- From: someone If you know the name of the object, you could paste it into a script like this:
[snipped]
as BOT_NAME and wear or rez the result. When you touch it it scans for a scripted object called BOT_NAME, and tells you the owner, and the owner's name. If you set SEND_IM to TRUE it will also automatically IM the owner, but that's probably not such a good idea, as personal IMs are going to be much more effective. Or AR, if it's spamming you on public land and you can't get in touch with the owner.
The hardest part about these things, is that they're getting tucked away out of sight, and their scanning range seems to be huge. Finding the offending object, to AR it, can be quite a challenge. And worse, it sends an IM to every avatar it detects in range. It IMs me, and thankfully includes the object's name. So if there was a way to make the script into an attachment, with a listen, so I could say something like: "/123 Simple Copybot Defeater" and have it respond to me, the relevant info needed to AR the object, and possibly send an IM or email to it's owner at the same time. SOmething like: "Dear retailer. Your object _________ is spamming law abiding residents who visit your store, and your neighbors, and is ruining the environment of your shop and it's surrounding areas, making it an undesireable place to remain in for long. I beleive I speak for many in second life when I say, please stop treating everyone in SL like a potential criminal. Please remove or disable your spamming object. Thank you"
_____________________
 ● Inworld Store: http://slurl.eclectic-randomness.com ● Website: http://www.eclectic-randomness.com ● Twitter: @WinterVentura
|
Winter Ventura
Eclectic Randomness
Join date: 18 Jul 2006
Posts: 2,579
|
11-15-2006 06:56
From: someone If you know the name of the object, you could paste it into a script like this:
[snipped]
as BOT_NAME and wear or rez the result. When you touch it it scans for a scripted object called BOT_NAME, and tells you the owner, and the owner's name. If you set SEND_IM to TRUE it will also automatically IM the owner, but that's probably not such a good idea, as personal IMs are going to be much more effective. Or AR, if it's spamming you on public land and you can't get in touch with the owner.
The hardest part about these things, is that they're getting tucked away out of sight, and their scanning range seems to be huge. Finding the offending object, to AR it, can be quite a challenge. And worse, it sends an IM to every avatar it detects in range. It IMs me, and thankfully includes the object's name. So if there was a way to make the script into an attachment, with a listen, so I could say something like: "/123 Simple Copybot Defeater" and have it respond to me, the relevant info needed to AR the object, and possibly send an IM or email to it's owner at the same time. SOmething like: "Dear retailer. Your object _________ is spamming law abiding residents who visit your store, and your neighbors, and is ruining the environment of your shop and it's surrounding areas, making it an undesireable place to remain in for long. I beleive I speak for many in second life when I say, please stop treating everyone in SL like a potential criminal. Please remove or disable your spamming object. Thank you"
_____________________
 ● Inworld Store: http://slurl.eclectic-randomness.com ● Website: http://www.eclectic-randomness.com ● Twitter: @WinterVentura
|
Ziggy Puff
Registered User
Join date: 15 Jul 2005
Posts: 1,143
|
11-15-2006 07:48
This script will do that. Instead of /123 CopyBot Preventer, you'd enter CopyBot Preventer into the script itself, where it says <insert name of bot here>. Then save the script, and it'll tell you the name of the owner. You probably want to stick this script in an attachment prim, since you might not be able to rez an object to contain the script. The script can also IM the owner automatically. I'm sure someone will come along that can modify this so it takes the object's name in chat from you, instead of having you enter it into the script. I would do it if it weren't first thing in the morning for me  And it uses the max sensor range, so if the Copybot preventer can find you, this will find the preventer.
|
Ordinal Malaprop
really very ordinary
Join date: 9 Sep 2005
Posts: 4,607
|
11-15-2006 08:06
I modified the script so that it listens on the channel specified by CHANNEL for a new bot name. It also opens a dialog menu each time you click it that lets you send an IM to the owner automatically to remove the thing.
Hmm, thinking about it, if there are multiple spambots around, it will only pick the closest one... might edit it to deal with multiples as well, give me a bit though.
_____________________
http://ordinalmalaprop.com/forum/ - visit Ordinal's Scripting Colloquium for scripting discussion with actual working BBCode!
http://ordinalmalaprop.com/engine/ - An Engine Fit For My Proceeding, my Aethernet Journal
http://www.flickr.com/groups/slgriefbuild/ - Second Life Griefbuild Digest, pictures of horrible ad griefing and land spam, and the naming of names
|
Newgate Ludd
Out of Chesse Error
Join date: 8 Apr 2005
Posts: 2,103
|
Try...
11-15-2006 08:09
From: Ziggy Puff I'm sure someone will come along that can modify this so it takes the object's name in chat from you, instead of having you enter it into the script. I would do it if it weren't first thing in the morning for me  integer SEND_IM = FALSE; string BOT_NAME = "<insert name of bot here>"; string gLastOwnerName = ""; key gLastOwnerKey = NULL_KEY; key gOwner = NULL_KEY;
StartSensor() { llSensor(BOT_NAME, NULL_KEY, SCRIPTED, 96.0, PI); }
default { state_entry() { llListen(123,"",llGetOwner(),""); } listen(integer number, string name, key id, string message) { list ldata = llParseString2List(message, ["="," "], [""]); string command = llList2String(ldata,0); string value = llList2String(ldata,1); if(command == "SENDIM") { SEND_IM = (integer)value; } else if(command == "SEACH") { BOT_NAME = value; StartSensor(); } }
touch_start(integer n) { StartSensor(); }
sensor(integer n) { gOwner = llGetOwnerKey(llDetectedKey(0)); string pos = llGetRegionName() + " " + (string)llDetectedPos(0); string report = "Found object " + BOT_NAME + " at " + pos; if (gOwner == gLastOwnerKey) { report += " owned by " + gLastOwnerName; } else { report += " owned by " + (string)gOwner + ", requesting owner name..."; llRequestAgentData(gOwner, DATA_NAME); } llOwnerSay(report); if (SEND_IM) { llInstantMessage(gOwner, "Your object '" + BOT_NAME + "' at " + pos + " is sending " + llKey2Name(llGetOwner()) + " unwanted instant messages, please disable it."); llOwnerSay("IM sent to owner"); } }
dataserver(key queryid, string data) { llOwnerSay("Name of agent with key " + (string)gOwner + " is " + data + ", saving this for next time."); gLastOwnerKey = gOwner; gLastOwnerName = data; } }
use /123 SEARCH=<insert bot name here> also added facility to turn sending of IM's on and off. SENDIM=0 or SENDIM=1
|
Winter Ventura
Eclectic Randomness
Join date: 18 Jul 2006
Posts: 2,579
|
11-15-2006 10:16
I love you guys.. and yes, you can have my beer... or cheese... in Newgate's case.
_____________________
 ● Inworld Store: http://slurl.eclectic-randomness.com ● Website: http://www.eclectic-randomness.com ● Twitter: @WinterVentura
|
Newgate Ludd
Out of Chesse Error
Join date: 8 Apr 2005
Posts: 2,103
|
Your Welcome
11-15-2006 13:50
mmmmmmmmmmmmmmmm cheese
|
Ranma Tardis
沖縄弛緩の明確で青い水
Join date: 8 Nov 2005
Posts: 1,415
|
11-15-2006 14:09
What can I do to hunt down these vile scripted objects? Muting them does not seem to do any good, it is like shoving ones head in the sand. Understand the operating range is 96 meters or the range of shout. Yes it is nice being treated like a criminal by shopowners. Like the security guards that follow non local people in stores. Where is Desmond Shag when we need him?
|
Kalel Venkman
Citizen
Join date: 10 Mar 2006
Posts: 587
|
Unmutable
11-15-2006 14:26
While you can mute an object that talks, and you can mute an avatar that IM's, you cannot mute an object that IM's. I had a neighbor with one of these spambots who kindly removed it after I pointed out that it isn't possible to mute the IM's they generate.
Sadly, no scripted defense against these silly anti-CopyBot defeaters is possible, because they have to IM the CopyBot to deliver their !quit command. And also unfortunately, there's no way to programmatically detect the difference between a CopyBot and oh, say, YOU.
This is one of those cases where the cure is far worse than the disease, because it affects vastly more people.
|
Ziggy Puff
Registered User
Join date: 15 Jul 2005
Posts: 1,143
|
11-15-2006 15:21
My wife sent me a script she received from someone (I don't know who wrote it), and that one seems a little more reasonable. The logic is something like this:
* Set up a pretty fast sensor (it's 1s in the script) * On each scan, see if the person detected is in the saved list of avs. If he isn't, send him the IM * Update the saved list of av's to be the list that was just detected. On a no_sensor, clear the saved list
So the end result is, if you arrive in the region, you get the IM once. As long as you stay within sensor range, you don't get the IM again, until you leave and come back. IMO, better than being IM'd until you find and touch an object, especially if people hide the object.
Flaws - it can be cheated if the CopyBot logs off and logs back on again quickly. With a command line client, I don't know how quickly that can be done. A 1s/96m scan will be pretty heavy on a sim, but I don't know if say 10s is enough to catch a quick logoff/logon.
And of course, if someone has the source for the bot and changes the !quit action, none of these anti-copybot scripts will work.
|
Ordinal Malaprop
really very ordinary
Join date: 9 Sep 2005
Posts: 4,607
|
11-15-2006 16:03
Which is precisely what will happen.
I'm afraid that, while I can understand why people are doing this, the common sense of a four-year-old should tell them that having a device which spams anyone within range is not a solution, even if it *were* to work, and even if anyone *were* to have had their content stolen and exploited by one of these unmodified CopyBots, which I've not heard of having happened at all.
_____________________
http://ordinalmalaprop.com/forum/ - visit Ordinal's Scripting Colloquium for scripting discussion with actual working BBCode!
http://ordinalmalaprop.com/engine/ - An Engine Fit For My Proceeding, my Aethernet Journal
http://www.flickr.com/groups/slgriefbuild/ - Second Life Griefbuild Digest, pictures of horrible ad griefing and land spam, and the naming of names
|
Ziggy Puff
Registered User
Join date: 15 Jul 2005
Posts: 1,143
|
11-15-2006 16:16
Well, I told her to go ahead and put that up, with the timer increased to about 10s. Unlike most vendors, she has pose stands for her products which rez a real version of the object positioned correctly against the user's av, so they can see what the attachment would look like on them. This makes her somewhat more vulnerable to this than many others, because what can potentially be stolen isn't just boxes. I guess anyone with a holo-vendor that rezzes full-scale versions of their products would be similarly vulnerable. From: someone and even if anyone *were* to have had their content stolen and exploited by one of these unmodified CopyBots, which I've not heard of having happened at all. I hear what you're saying. But absence of proof isn't proof of absence 
|
Tarquin Quasimodo
Registered User
Join date: 8 Nov 2005
Posts: 38
|
11-15-2006 17:19
I was being spammed by a COPYBOT protection unit. It worked fine if you were in the same sim, you only got a single message. However, if you were in an adjacent sim, you were continually spammed. It would appear that the mechanism that records who has been IM'd only works within the sim.
I mention this so anyone making such a device would be aware and make sure you dont spam the neighbours.
|
Vares Solvang
It's all Relative
Join date: 26 Jan 2005
Posts: 2,235
|
11-15-2006 23:09
I still have a copy of Ordinal Malaprop's Magic Money finder script from April. I have used it to track down not only where the spambot is, but it also tells who owns it (gives they're key even.) So I can go touch it so it stops spamming me and send them an IM to get rid of the damn thing (pointing out that spam is a ToS violation.) My neighbor had one out and when I went to it I saw it was for sale (for zero lindens) as an original. So I just bought it and then deleted the damn thing. You can get the name of the object that is spamming very easily: it tells you it's name when it spams you. I just cut and paste it into the script and viola, it tells me exactly where it is. And since Ordinal's tracker script gives you the owner's key you could easily make a script that would spam the owner to get rid of it, if you wanted. But spamming them back would be a ToS violation, so don't do that!  Just ask them nicely to remove it. You can AR them if they won't get rid of it.
|
Jesse Barnett
500,000 scoville units
Join date: 21 May 2006
Posts: 4,160
|
11-16-2006 06:47
I haven't had a chance to play with the spambot detector script yet. Gonna see later if there is a way to change it so that if(message = !quit) somehow. Then it will llOwnerSay: Any Name has **** spam bot etc..........
_____________________
I (who is a she not a he) reserve the right to exercise selective comprehension of the OP's question at anytime. From: someone I am still around, just no longer here. See you across the aisle. Hope LL burns in hell for archiving this forum
|
Haravikk Mistral
Registered User
Join date: 8 Oct 2005
Posts: 2,482
|
11-16-2006 08:35
Just don't shop anywhere that spams you 
_____________________
Computer (Mac Pro): 2 x Quad Core 3.2ghz Xeon 10gb DDR2 800mhz FB-DIMMS 4 x 750gb, 32mb cache hard-drives (RAID-0/striped) NVidia GeForce 8800GT (512mb)
|
Jesse Barnett
500,000 scoville units
Join date: 21 May 2006
Posts: 4,160
|
11-16-2006 10:12
From: Haravikk Mistral Just don't shop anywhere that spams you  Believe me, I don't. Actually I never really spend time in main grid anyways. I would rather try to do my little meager part in bringing about a better SL by bug reporting in Beta. BUT it will expand my scripting skills and is fun 
_____________________
I (who is a she not a he) reserve the right to exercise selective comprehension of the OP's question at anytime. From: someone I am still around, just no longer here. See you across the aisle. Hope LL burns in hell for archiving this forum
|
Vares Solvang
It's all Relative
Join date: 26 Jan 2005
Posts: 2,235
|
11-16-2006 17:24
From: Haravikk Mistral Just don't shop anywhere that spams you  Every idiot in the sim I live in has one out, so it's not like I can avoid them. Blue Linden seems to think that muting them is a good solutions. I guess he doesn't care about the massive lag they cause.
|