They can appear registered but that is if people have the time and effort to actually register it... If you don't do email confirmations then you need just remove your network and be done with it because it's definitely waiting to be hit. It's not perfect, no, but it's the best thing that's been made so far.
The problem is lag... if you check the /who on a nickname but you have around 20-30 nicknames alone with hundreds more connecting... it'll really put a strain on your connection & probably flood you out. That's the only problem so you need to create some filter that counts the number that join at a period of time then pauses on a timer to ban the rest OR you could possibly ban range IP/hosts unless there's a large amount of IPs and hosts being used...
So no, it's impossible for a 100% working anti-drone script but it can be done to filter most out.
For example... here's a few
(Sat/12:47:06 AM) <@Phoenix> Nick: U3uWeUX --> $false
(Sat/12:47:07 AM) <@Phoenix> Nick: W5kosh --> $false
(Sat/12:47:10 AM) <@Phoenix> Nick: O8kdBgR --> $true
(Sat/12:47:11 AM) <@Phoenix> Nick: J9gPBIhWzRcClS --> $true
(Sat/12:47:11 AM) <@Phoenix> Nick: O9oCAlDPL --> $true
(Sat/12:47:12 AM) <@Phoenix> Nick: R8efFbWcESV --> $true
(Sat/12:47:13 AM) <@Phoenix> Nick: V7uKmXgSGq --> $true
(Sat/12:47:13 AM) <@Phoenix> Nick: N4Fahb --> $false
(Sat/12:47:14 AM) <@Phoenix> Nick: K0ixn --> $false
(Sat/12:47:14 AM) <@Phoenix> Nick: H4mRfPOKeaHG --> $true
(Sat/12:47:15 AM) <@Phoenix> Nick: T4SYzbHmewJGSa --> $true
(Sat/12:47:16 AM) <@Phoenix> Nick: Q8CXj --> $true
(Sat/12:47:16 AM) <@Phoenix> Nick: U4vkyMNSG --> $true
(Sat/12:47:17 AM) <@Phoenix> Nick: V8lleUsjI --> $true
(Sat/12:47:17 AM) <@Phoenix> Nick: L1sIrGm --> $true
It's not perfect but I was thinking of checking if the nickname is registered or not COMBINED with the random nickname.
I would like this to be more public because I've been working on something like this for a long time and... I can get about 75% to 80% to be affected and be banned.
It's a little difficult because you need to define certain variables for consonants and vowels, special characters, and numbers, add it all up and decide by a certain number....
Basically, it's pretty stupid how it's made but it works a lot.
You talk to me about it, you can /server ixion.nl.eu.SwiftIRC.net -j #nohack
Termz: I still don't care enough about you. Sorry. I would also know if you were idling there... Sorry to disappoint.
Anthrophobic: I could see only one reason why a mass invite would be acceptable is if you were to transfer your users from one channel to another in case you don't +lL 1 #channel2 or in case they don't rejoin on kick so they won't go to the linked channel.
Oh wait a minute. I feel pretty stupid right now LOL.
I normally do a regex match like that with /i but I completely forgot about /S
The only reason I did it like that was because people use the scripts to talk in color (which is incredibly annoying and retarded) so I made it like that to prevent it.
So yes, I could do /^[.`!@]slogan/Si
@FordLawnmower: I'm sure they will at some point due to the usage of it and I'm sure if it was then it would be seen in a lot more scripts than before because it could replace a while loop in a lot of different things if you didn't want to loop something.
If anyone does use it though & Khaled doesn't place it in then the script can have a message stating its of no use from this version and above.
Ah, yes... Of course. I've gotten confused with all these 1's and 2's so if ($2) would be right.
But I used the $chr(3),12, because most people don't understand you have to place the color code in there but thats interesting that its /echo color ... Funny how long I've scripted and didn't even notice that.
Honestly, when I look at it, thats a poor way to do it still.
alias massinvite { if ($1 && $2) { var %x $nick($1,0) | while (%x) { invite $nick($1,%x) $2 | dec %x } } | else { echo -a $+($chr(3),12,* /massinvite: insufficient parameters) } }
Thats better.
But then... Why use a while loop?
alias massinvite { if ($1 && $2) { var %1 $1,%2 $2 | tokenize 32 $regsubex($str(~,$nick(%1,0)),/./g,$+($nick(%1,\n),$chr(32))) | invite $* %2 } | else { echo -a $+($chr(3),12,* /massinvite: insufficient parameters) } }
Hello Termz, how is your gline going? Excellent.
Example: /massinvite #Channel1
There is no $2 but there is a $1.
Example: /massinvite
There is no $1 or $2 so !$1 may be used.
Or we could just write it like this...
alias massinvite { if ($1 && $2) { set %nicks 1 | while (%nicks <= $nick($1,0)) { invite $nick($1,%nicks) $2 | inc %nicks } | unset %nicks | halt }
else { echo -a $+($chr(3),12,* /massinvite: insufficient parameters) } }
So much easier, don't you agree?
Oh and yes of course I know what || means. I mean come on... I've been scripting for a lot longer than you, unlike how you've leeched oh-so many scripts from this website then took it as your own.
Ah, aren't you cute tra_orex. Quite cute.
FordLawnmower ... you are absolutely incredible.
This works perfect and I wouldn't want anything changed from it at all.
The search works great and returns so many results, the download bar (which I didn't expect) was great and I downloaded so fast from it. You made a directory for the name and made it play in WMP, which is great.
This script deserves a 10/10.
@Xpl0reR: You realize those will enable the next RAW commands when you use /infochan so you won't be spammed when someone joins/dc's/etc... The Raw's will not be affected when its not enabled.
Also, I'm not entirely too sure !== works. I know != does but I've never seen !== used.
If you disconnect, why create a flood halt? On Start is when you open it and not everyone connections directly On Start. I think what you mean is
On *:connect:{ .timer 1 40 unset %anti.infochan.flood }
on $*:text:/[.`!@](GSearch)|(Google) .*/:#:{ if (%g.spam.check [ $+ [ $nick ] ] != 1) { var %x Link: $+(http://www.google.com/search?q=,$replace($2-,$chr(32),+)) | $iif($left($1,1) == @,msg $chan %x,notice $nick %x) | set -u15 %g.spam.check [ $+ [ $Nick ] ] 1 } }
15 second flood protector and theres no need for an alias. Works with `.! and @. Using @ will message the channel, and anything else will notice.
a single on text event would only work in a seperate script...as for noobs who put too many on text events (with open parameters) the script would only break
I'm pretty sure if someone would take a whole script such as this one (Remote Bot Script) then they would create its own script file for it. You wouldn't want all your On Texts and other scripts to fill up in a single file would you?
That would be disorganized and you would lose everything you have if you deleted that one file.
@Master-Of-Death: Unfortunately so could yours and you really have to think hard on the script. There is no perfect auto unban that will ever work unless its scripted in an incredible length.
You have to consider massive amounts of nicknames also banning you at the same time and need to know how to filter out the massive bans.
Mine is almost completed and it works for almost all types of spam bans so one day I'll post it here - maybe.
This would work, and it also doesn't.
If someone bans more than just 1 ban that affects you, you're only going to unban it once (or it might just be spammed in a single line where you unban several times.)
mode # -qaohv+b $nick $banmask
You're banning yourself in that again.
You're also putting just ONE $nick and you'll need 5 of those.
Instead use the 2nd line after but edit that.
mode # -qoahv+b $nick $nick $nick $nick $nick $address($nick,2)
And for ChanServ, you might want to use more of those commands even if other services use Anope. ChanServ is a bit more popular from what I've seen so use that commands because they guaranteed to work (unless the nick has exception.)
This wouldn't work at all.
Edit: You're missing a bracket at the end.
First off, lets say its +bq. +q isn't in $1- because theres a b, so you'll want to use.
if (+q* iswmcs $1-)
And you want to use cs for case sensitive so it won't be Q and not q.
ChanServ doesn't get owner.
For the first part. Why would you kick the person first THEN try to remove their owner?
For the second part. You can't kick someone who removed your owner and they have yours.
Thats saying a voice can kick an op when the op takes away their voice.
And you can't +q yourself because ... thats just not possible.
Thats like saying "I'm now the leader of this project whether you like it or not."
The only way to get it back would be to /cs owner #channel - that is if you WERE identified to the channel.
I'll show an example by what I mean putting the On Texts together.
ON 1:TEXT:!age:#:msg $chan 4This Channel Has no age limit aslong as ur not to OLD
ON 1:TEXT:!Troll:#:msg $chan 4Do not troll in $chan Doing this results in :Ban or Kick
You could make this
on *:text:*:#:{ if ($1 == !age) { msg $chan 4This Channel Has no age limit aslong as ur not to OLD }
if ($1 == !Troll) { msg $chan 4Do not troll in $chan Doing this results in :Ban or Kick }
}
Or another example which would make this nicer (and more professional) would be this:
on *:text:*:#:{ if (%text.flood [ $+ [ $nick ] ] != 1) { $iif($left($1,1) == @,msg $chan $text.return,$iif($left($1,1) isin !.`,notice $nick $text.return,halt)) | set -u10 %text.flood [ $+ [ $nick ] ] 1 } }
alias text.return {
if ($mid($1,2,$len($1)) == age) { return 4This Channel Has no age limit aslong as ur not to OLD }
if ($mid($1,2,$len($1)) == Troll) { return 4Do not troll in $chan Doing this results in :Ban or Kick }
if ($mid($1,2,$len($1)) == Ass) { return 4Dont be a Ass, It Only Makes You Look Dumb. }
}
Now, what does this do? It will check if @ is the first character, and if it is, then it will message the channel. If its either any of these characters >>> `!. <<< , then it will notice the user.
It adds a flood protection per nick for 10 seconds (you can change the wait time by changing 10 to whatever number you want.
The alias named $text.return will be especially useful to you.
When using $mid($1,2,$len($1)), it will find the middle portion.
It finds the 2nd character between the length of $1.
So if $mid($1,2,$len($1)) would be age, then it would return the comment "4This Channel Has no age limit aslong as ur not to OLD" (no quotes).
You can not only make different ways to message/notice but add flood protection and organize your comments with a single alias.
I hope this helps you a lot more.
And remember, /help is your friend.
hmm.. Abuse on the On Text events, they should be put into one.
But with just looking through it, I found an error (sort of)
on *:TEXT:your gay:#:{ msg $chan $nick your mama is }
Could be
on *:TEXT:*your gay*:#:{ msg $chan $nick your mama is }
So it would check for it anywhere in the sentence, but what you have would work fine only if the person says "your gay" and thats it.
All of these can be spammed as well, quite easily. Spam filters should be put on them so it would be harder to flood you off the network.