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.