This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

spammers

Old posts that have not been replied to for several years.
Locked
E
EEggy
Op
Posts: 122
Joined: Thu Sep 26, 2002 11:46 pm

spammers

Post by EEggy »

Hi, i am wondering if anyone knows any script or even its possible to write a script for this particular problem.

now a days spammers have changed their way of spammimg, now they just sit on the channel, or spammer bots sits on the channel, and the moment someone message them, they reply with spam, porn links, channel inviting etc. i don't know if script is possible for this, because if we write a script with a timer so bot can message all users, then bot will ignore the reply messages, if there are many spammers ...


Thanks
EEggy
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

This shouldn't be too hard to sort. Using a small script, designed to trick the spammer into talking, you can get your standard old spam script (no!spam, or any other *PLUG*), to perform its normal actions.

To know what use in this script, there are a few questions to ask.

1: Exectly what messages do they respond to, and are there any they don't?

2: Does this apply to privmsg, notice, CTCP and CTCP replies?

Taking this into account, a small script can be wizzed up.

If they only respond to privmsg, then messages can be a bit of a nuciance to some users. CTCP, CTCP reply and notices would be best (just the CTCPs even better - less intrusive).
E
EEggy
Op
Posts: 122
Joined: Thu Sep 26, 2002 11:46 pm

Post by EEggy »

Thanks, they usually reply if you message them like just "hi" . i've checked ctcp's, they don't reply, just private message, so if bot will send a message to the all users, they will reply with spam, but let say there are 20 spammers, then bot will ignore the reply


thanks
EEggy
E
EEggy
Op
Posts: 122
Joined: Thu Sep 26, 2002 11:46 pm

Post by EEggy »

Hi,
is there any max limit to the queue? i thought its default 300, but in my channel there are less than 100 ppl and when i like to send the msg to all users, some users get the message and some don't....i have tried "putquick" , "putserv" as well. also added console flags to see what's going on, i see msgs go to all users, but server says -> Target change too fast. Please wait n seconds. any solution??

Code: Select all

foreach user [chanlist $chan] {
      puthelp "PRIVMSG $user :$msg"
    }

thanks
EEggy
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

The terget change message is coming from the server, and not from eggdrop.

Sounds like your server is preventing you sending these emssage messages.
User avatar
stdragon
Owner
Posts: 959
Joined: Sun Sep 23, 2001 8:00 pm
Contact:

Post by stdragon »

It sounds like (very ironically) the server has anti-spam features built in and thinks you're a spammer. It notices that you're sending the same message to many different targets in a short time, and stops you. I've seen similar things with channel joining -- the server notices if you join and part channels quickly, and stops you.

I don't see why you are doing this, honestly. If these spam bots don't spam you until you message them with "hi", an invitation to talk, then it's not even spam really. If you're going to bug people with uninvited private messages, you have to expect that sometimes they won't respond the way you want them to.
User avatar
stdragon
Owner
Posts: 959
Joined: Sun Sep 23, 2001 8:00 pm
Contact:

Post by stdragon »

Oh yeah, I forgot. You might be able to get around it by adding a random bit of text to each message.

Code: Select all

foreach user [chanlist $chan] {
  puthelp "PRIVMSG $user :\0035,5abcd\003 $msg \0035,5 [rand 10000]"
}
(I put color blocks in there in the attempt the make the number less intrusive heh).

Maybe you could have an on-join message with the channel rules, and then in invisible writing have the trigger to make spam bots respond.
E
EEggy
Op
Posts: 122
Joined: Thu Sep 26, 2002 11:46 pm

Post by EEggy »

Hi,

Thanks for the input. i apprecite it.

Stdragon: heh yeah your random trick was helpfull, but i think you are right for that onjoin thing.. thank you.
EEggy
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

Alternativly, sending messages to only those that havn't sent text to the channel in X seconds/mins would be better.

It should reduce load a lot.

In adition, a small trigger to manualy test a client would be good.
E
EEggy
Op
Posts: 122
Joined: Thu Sep 26, 2002 11:46 pm

Post by EEggy »

Thanks ppslim, i'll apprecite if you can give some example codes...
because i still get those "target change etc........"


thank you
EEggy
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

On a foreach user basis

$chan should be set to the channel
$idlemax should be set to the ammout of mins idle they should be before they are tested.

Code: Select all

foreach user [chanlist $chan] {
  if {[getchanidle $nick $chan] < $maxidle} { continue }
  #send test message here
}
User avatar
caesar
Mint Rubber
Posts: 3778
Joined: Sun Oct 14, 2001 8:00 pm
Location: Mint Factory

Post by caesar »

You mean "$maxidle should be set to the ammout of mins idle they should be before they are tested." :)
Once the game is over, the king and the pawn go back in the same box.
E
EEggy
Op
Posts: 122
Joined: Thu Sep 26, 2002 11:46 pm

Post by EEggy »

Ohhhhh ok, thank you so much ppslim, stdragon, caesar.

here are the codes, any correction will be great, because i still get "target change..etc", don't know may be delay msg will work..

advance thanks.

Code: Select all

set maxidle 10

bind dcc m  mmsg pvt-spammer

proc pvt-spammer {hand idx text} {
  global botnick maxidle
  set chan [lindex $text 0]
  if {![string match -nocase "\#*" $chan] || $chan == ""} { putdcc $idx "Usage: .mmsg #chan <msg>"; return 0 }
  set msg [lrange $text 1 end] 
  if {$msg != ""} {
    if {![validchan $chan]} { putdcc $idx "I'm not monitoring that channel!"; return 0 }
    foreach user [chanlist $chan] {
      if {[onchan $user]} {
        if {[getchanidle $user $chan] < $maxidle} { continue }
             putquick "PRIVMSG $user :\0035,5Hiya\003 $msg \0035,5 [rand 10000]" 
       
      }
    }
  } 
}
EEggy
User avatar
caesar
Mint Rubber
Posts: 3778
Joined: Sun Oct 14, 2001 8:00 pm
Location: Mint Factory

Post by caesar »

Instead of the putquick try with the puthelp.
Once the game is over, the king and the pawn go back in the same box.
User avatar
Papillon
Owner
Posts: 724
Joined: Fri Feb 15, 2002 8:00 pm
Location: *.no

Post by Papillon »

also, remember to split $text before using list commands on it
Elen sila lúmenn' omentielvo
Locked