on *:Invite:#: { /join $chan /timer 1 1 /msg $chan 14[7FB14] Invited by:7 $nick .14 Thanks for using 7ForceBot ! 14Bot-admin: 7Deforcer 14- 7#ForceBot. } ON *:TEXT:*!part ForceBot*:#: { msg $chan $+ , 14Thanks for using 7 $me .14 /invite 7ForceBot14 $chan if you want 7 $me 14 back. part $chan } on $*:TEXT:/^[@!.](con)?grat[zs](ulation[zs])?/Si:#: { if ($2 isnum 2-99) { msg $chan 7 @@@@@ 14Woo0oo0t! Congratulations 7 $nick 14with:7 $$2-! 7 @@@@@ } else { notice $nick Error Bad Syntax, Example: !grats 99 def } } on *:TEXT:!chanstats:#: { if (% [ $+ lines. $+ [ $chan ] $+ . $+ [ $server ] $+ . $+ [ $nick ] ] == $null) { set %lines. $+ $chan $+ . $+ $server $+ . $+ $nick 0 } if (% [ $+ joins. $+ [ $chan ] $+ . $+ [ $server ] ] == $null) { set %joins. $+ $chan $+ . $+ $server 0 } if (% [ $+ lastline. $+ [ $chan ] $+ . $+ [ $server ] ] == $null) { set %lastline. $+ $chan $+ . $+ $server Nobody } if (% [ $+ statsdate. $+ [ $chan ] $+ . $+ [ $server ] ] == $null) { set %statsdate. $+ $chan $+ . $+ $server $date } if (% [ $+ linestot. $+ [ $chan ] $+ . $+ [ $server ] ] == $null) { set %linestot. $+ $chan $+ . $+ $server 0 } if (%waitstats == $null) { notice $nick Statistics for channel $+(,$chan,:,) notice $nick Recorded since: % [ $+ statsdate. $+ [ $chan ] $+ . $+ [ $server ] ] notice $nick Total number of lines spoken: % [ $+ linestot. $+ [ $chan ] $+ . $+ [ $server ] ] notice $nick There are currently $nick($chan,0) user(s) in this channel. notice $nick $+(,% [ $+ lastline. $+ [ $chan ] $+ . $+ [ $server ] ],) was the last person to speak. notice $nick You have currently spoken % [ $+ lines. $+ [ $chan ] $+ . $+ [ $server ] $+ . $+ [ $nick ] ] line(s) $nick notice $nick $+(,% [ $+ joins. $+ [ $chan ] $+ . $+ [ $server ] ],) people have joined the channel. notice $nick Random Line: $read(randomline. $+ $server $+ . $+ $chan $+ .txt) set -u5 %waitstats 1 } } on *:TEXT:!reset chanstats:#: { set %statsdate. $+ $chan $+ . $+ $server $date set %linestot. $+ $chan $+ . $+ $server 0 set %lastline. $+ $chan $+ . $+ $server Nobody unset %lines.* write -c randomline. $+ $server $+ . $+ $chan $+ .txt notice $nick Statistics for $chan has been reset. } on *:TEXT:!lines*:#: { if (% [ $+ lines. $+ [ $chan ] $+ . $+ [ $server ] $+ . $+ [ $2 ] ] == $null) { notice $nick $2 hasn't said anything in this channel yet. } else { notice $nick $2 has currently spoken % [ $+ lines. $+ [ $chan ] $+ . $+ [ $server ] $+ . $+ [ $2 ] ] in $chan on $network $+ . } } on *:TEXT:*:#: { if ($1- == !chanstats) ($1- == !reset chanstats) { Halt } if (% [ $+ statsdate. $+ [ $chan ] $+ . $+ [ $server ] ] == $null) { set %statsdate. $+ $chan $+ . $+ $server $date } else if ($len($1-) >= 30) { write randomline. $+ $server $+ . $+ $chan $+ .txt $$1- $+([,By: $nick,]) } set %lastline. $+ $chan $+ . $+ $server $nick inc %linestot. $+ $chan $+ . $+ $server 1 inc %lines. $+ $chan $+ . $+ $server $+ . $+ $nick 1 } on *:JOIN:#deforcer: { inc %joins. $+ $chan $+ . $+ $server 1 } on *:TEXT:*youtube.*/watch?v=*:#:{ var %name $wildtok($1-, *youtube.*/watch?v=*, 1, 32) var %link $gettok(%name,2-,61) var %x $ticks while ($sock(YoutubeL. $+ %x)) { inc %c } sockopen $+(YoutubeL.,%x) www.youtube.com 80 sockmark $+(YoutubeL.,%x) $+(%link,~,msg $chan,~,$nick,~,$chan) } on *:SOCKOPEN:YoutubeL.*:{ sockwrite -nt $sockname GET $+(/watch?v=,$gettok($sock($sockname).mark,1,126)) sockwrite -nt $sockname HOST www.youtube.com sockwrite -nt $sockname $crlf } on *:SOCKREAD:YoutubeL.*:{ if ($sockerr) { notice $gettok($sock($sockname).mark,3,126) $colors($gettok($sock($sockname).mark,3,126),Youtube) $c2($gettok($sock($sockname).mark,3,126),Socket $+(error,$chr(44))) $c1($gettok($sock($sockname).mark,3,126),please try again) sockclose $sockname } else { var %read sockread %read if ($regex(%read,/BASE_YT_URL/)) && (!$hget($sockname, Duration)) { var %a $gettok($htmlfree(%read),0,32) while (%a) { if ($remove($gettok($htmlfree(%read),%a,32),$chr(44),$chr(32)) isnum) { hadd -m $sockname Duration $duration($remove($gettok($htmlfree(%read),%a,32),$chr(44),$chr(32))) } dec %a } if (!$hget($sockname, Duration)) { hadd -m $sockname duration Uknown } } if ($regex(%read,/(.*)<\/title>/)) { hadd -m $sockname Title $regml(1) } if ($regex(%read,/<span class="viewCount">(.*)<\/span>/)) { hadd -m $sockname Viewcount $regml(1) } if ($regex(%read,/<span class="lightLabel">Comments:<\/span> <a href="(.*)">(.*)<\/a>/)) { var %commentcount $regml(2) var %name $gettok($sock($sockname).mark,3,126) var %return $colors(%name,Youtube) $iif($hget($sockname, Title),$c2(%name,Title:) $c1(%name,$hget($sockname, Title))) $iif(%commentcount,$c2(%name,| Comments:) $c1(%name,%commentcount)) $& $iif($hget($sockname, Viewcount),$c2(%name,| Views:) $c1(%name,$hget($sockname, Viewcount))) $iif($hget($sockname, Duration),$c2(%name,| Duration:) $c1(%name,$hget($sockname, Duration))) $gettok($sock($sockname).mark,2,126) $iif(c isincs $chan($gettok($sock($sockname).mark,4,126)).mode,$strip(%return),%return) hfree $sockname sockclose $sockname } } } alias colors { var %c1 $iif($2 || $2 == 0,$iif($hget(c1, $address($1,2)),$v1,07),07) var %c2 $iif($2 || $2 == 0,$iif($hget(c2, $address($1,2)),$v1,14),14) return $+($chr(3),%c1,$chr(2),$chr(40),$chr(2),$chr(3),%c2,$upper($strip($iif($2 || $2 == 0,$2-,$1-))),$chr(2),$chr(3),%c1,$chr(41),$chr(2)) } alias c1 { var %x = $iif($2 || $2 == 0,$iif($hget(c1, $address($1,2)),$v1,07),07) var %f = $iif($2 || $2 == 0,$2-,$1-) return $+($chr(3),%x,$strip(%f)) } alias c2 { var %x = $iif($2 || $2 == 0,$iif($hget(c2, $address($1,2)),$v1,14),14) var %f = $iif($2 || $2 == 0,$2-,$1-) return $+($chr(3),%x,$strip(%f)) } on $*:TEXT:/^[!@.]cmb-calc/Si:#: { if ($2 == $null) || ($3 == $null) || ($4 == $null) || ($5 == $null) || ($6 == $null) || ($7 == $null) || ($8 == $null) || ($9 == $null) { notice $nick Syntax: !cmb-calc A S D H R P M SU } else { set %dispp $iif($left($1,1) == @, msg $chan, notice $nick) Var %Def $calc($4 * 100) Var %Hits $calc($5 * 100) Var %Pray $calc($7 * 50) var %summon $calc($9 * 50) Var %hit.def.pray.summon $calc((%Def + %hits + %Pray + %summon) / 400) Var %hit.def.pray $calc((%Def + %hits + %Pray) / 400) Var %Att $calc($2 * 130) Var %str $calc($3 * 130) if (!$and($6,1)) { Var %range $calc((($6 - 1) + ($6 * 2)) * 65) } Else var %Range $calc($6 * 195) if (!$and($8,1)) { Var %mage $calc((($8 - 1) + ($8 * 2)) * 65) } Else var %Mage $calc($8 * 195) Var %Melee $calc((%att + %str) /400), %Ranger $calc(%range / 400), %mager $calc(%mage / 400) If (%ranger > %melee) && (%ranger > %Mager) { set %return $calc(%hit.def.pray.summon + %ranger) set %f2p $calc(%hit.def.pray + %ranger) set %based Ranged } elseIf (%mager > %melee) && (%mager > %ranger) { set %return $calc(%hit.def.pray.summon + %mager) set %f2p $calc(%hit.def.pray + %mager) set %based magic } elseIf (%Melee > %mager) && (%melee > %ranger) { set %return $calc(%Hit.def.pray.summon + %melee) set %f2p $calc(%Hit.def.pray + %melee) set %based Melee } %dispp 7*** (14COMBAT7) 14with: 7Attack:14 $2 7Strength:14 $3 7Defence:14 $4 7Hitpoints:14 $5 7Ranged:14 $6 7Prayer:14 $7 7Magic:14 $8 7Summon:14 $9 7[14P2P:7 %Return $+ 7] 7[14F2P:7 %f2p $+ 7] unset %based unset %return } on $*:text:/^[@!.]sp(ell(check)?)?/Si:#:{ set %data.method $iif(@ isin $1,msg #,notice $nick) if ($2) { spellcheck $2 } else { %data.method 7 $+($nick,$chr(44)) 14enter a word to spellcheck! unset %data.method } } alias spellcheck { if ($1) { sockopen Spellsock rs.facepwn.com 80 sockmark Spellsock $1 } else echo -atc info * /spellcheck: missing parameters } on *:SOCKOPEN:Spellsock: { sockwrite -nt $sockname GET /Parsers/wordspell.php?word= $+ $sock($sockname).mark HTTP/1.1 sockwrite -nt $sockname Host: rs.facepwn.com sockwrite -nt $sockname $crlf } on *:SOCKREAD:Spellsock: { var %c $iif(%data.method,$v1,echo -atc info2) if ($sockerr) { %c 14There was an error with the socket. } else { var %sockread, %a $sock($sockname).mark sockread %sockread if (*properly* iswm %sockread) { %c 7 $qt(%a) 14is spelled correctly! set %temp true } elseif (*suggestion* iswm %sockread) { %c 7 $qt(%a) 14is misspelled. %c %sockread set %temp true } if (%temp) { unset %data.method %temp sockclose $sockname } } } on *:TEXT:!greet*:#: { set %greet [ $+ [ $nick ] ] $2- | notice $nick 7[14Greet7]7 Your greet message has been set to:14 $2- } on *:TEXT:!deletegreet*:#: { unset %greet [ $+ [ $nick ] ] | notice $nick 7[14Greet7]7 Your greet has been deleted. } on *:JOIN:#: { if (%greet [ $+ [ $nick ] ]) msg $chan 14-7[ForceBot]14-7[ $+ 7 $nick  $+ ]: %greet [ $+ [ $nick ] ] else notice $nick To set a greet type !greet -text goes here!- } on *:text:!changegreet *:#: { if ($nick == NICK1) || ($nick == NICK2) { set %greet [ $+ [ $2 ] ] $3- } } on *:text:!deletegreet *:#: { if ($nick == NICK1) || ($nick == NICK2) { alias delgreet { unset %greet [ $+ [ $2 ] ] } } on *:TEXT:!info*:#: { var %a = 1, %op, %hop, %voice, %reg while (%a <= $chan(0)) { inc $iif($me isop $chan(%a), $(%op,0), $iif($me ishop $chan(%a), $(%hop,0), $iif($me isvoice $chan(%a), $(%voice,0), $(%reg,0)))) inc %a } if ($2 == op) { //var %c 1,%ops | while ($comchan($me,%c)) { if ($me isop $v1) var %ops %ops $v2 | inc %c } | notice $nick 14[7 Info - Op14]: 7--- I am op in these %op channels: %ops } if ($2 == hop) { //var %c 1,%hops | while ($comchan($me,%c)) { if ($me ishop $v1) var %hops %hops $v2 | inc %c } | notice $nick 14[7 Info - Hop14]: 7--- I am hop in these %hop channels: %hops } if ($2 == voice) { //var %c 1,%voices | while ($comchan($me,%c)) { if ($me isvoice $v1) var %voices %voices $v2 | inc %c } | notice $nick 14[7 Info - Voice14]: 7--- I am voice in these %voice channels: %voices } if ($2 == ranks) { /notice $nick 14[7 Info - Ranks14]: --- I am 4Op5 in %op Channels, 7Hop5 in %hop Channels, 2Voice5 in %voice Channels, and I got no rank in %reg Channels | notice $nick 14Type "7!info op14" To see what channels I am op in - Type "7!info hop14" To see what channels I am hop in - Type "7!info voice14" To see what channels I am voice in } if ($2 == $null) { /notice $nick ERROR: "7!info help14" for help } if ($2 == channels) { /notice $nick 14[7 Info - Channels14]: Currently am I in $chan(N) channels, and I have been in $lines(invchans2.txt) different channels } if ($2 == invite) { /notice $nick 14[7 Info - Invite14]: I Have totaly been invited $iif(%invite, $v1, 0) times in $lines(invchans.txt) different channels. In This Channel I have been invited $iif(%invite2. [ $+ [ $chan ] ], $v1, 0) times } if ($2 == other) { /notice $nick 14[7 Info - Other14]: I've been kicked $iif(%kick, $v1, 0) times, and I have been banned $iif(%ban, $v1, 0) times } if ($2 == help) { /notice $nick 14[7 Info - Help14]: Type "7!info ranks14" To see my channel ranks /notice $nick 14[7 Info - Help14]: Type "7!info invite14" To see how many times I have been invited /notice $nick 14[7 Info - Help14]: Type "7!info channels14" To see how many channels I am in /notice $nick 14[7 Info - Help14]: Type "7!info other14" To see some other info } } on *:INVITE:#:{ if ($isfile(invchans.txt)) { filter -fk invchans.txt $ $chan | if (!$filtered) { write invchans.txt $chan } } | else { write invchans.txt $chan } inc %invite2. [ $+ [ $chan ] ] inc %invite } on *:JOIN:#:{ if ($nick == $me) { if ($isfile(invchans2.txt)) { filter -fk invchans2.txt $ $chan | if (!$filtered) { write invchans2.txt $chan } } | else { write invchans2.txt $chan } } } on *:KICK:#:{ if ($knick == $me) { inc %kick } } on *:BAN:#:{ if ($bnick == $me) { inc %ban } } on *:TEXT:@info*:#: { var %a = 1, %op, %hop, %voice, %reg while (%a <= $chan(0)) { inc $iif($me isop $chan(%a), $(%op,0), $iif($me ishop $chan(%a), $(%hop,0), $iif($me isvoice $chan(%a), $(%voice,0), $(%reg,0)))) inc %a } if ($2 == op) { //var %c 1,%ops | while ($comchan($me,%c)) { if ($me isop $v1) var %ops %ops $v2 | inc %c } | notice $nick 14[7 Info - Op14]: 7--- I am op in these %op channels: %ops } if ($2 == hop) { //var %c 1,%hops | while ($comchan($me,%c)) { if ($me ishop $v1) var %hops %hops $v2 | inc %c } | notice $nick 14[7 Info - Hop14]: 7--- I am hop in these %hop channels: %hops } if ($2 == voice) { //var %c 1,%voices | while ($comchan($me,%c)) { if ($me isvoice $v1) var %voices %voices $v2 | inc %c } | notice $nick 14[7 Info - Voice14]: 7--- I am voice in these %voice channels: %voices } if ($2 == ranks) { msg $chan 14[7 Info - Ranks14]: --- I am 4Op5 in %op Channels, 7Hop5 in %hop Channels, 2Voice5 in %voice Channels, and I got no rank in %reg Channels | notice $nick 14Type "7!info op14" To see what channels I am op in - Type "7!info hop14" To see what channels I am hop in - Type "7!info voice14" To see what channels I am voice in } if ($2 == $null) { /notice $nick ERROR: "7!info help14" for help } if ($2 == channels) { msg $chan 14[7 Info - Channels14]: Currently am I in $chan(N) channels, and I have been in $lines(invchans2.txt) different channels } if ($2 == invite) { msg $chan 14[7 Info - Invite14]: I Have totaly been invited $iif(%invite, $v1, 0) times in $lines(invchans.txt) different channels. In This Channel I have been invited $iif(%invite2. [ $+ [ $chan ] ], $v1, 0) times } if ($2 == other) { msg $chan 14[7 Info - Other14]: I've been kicked $iif(%kick, $v1, 0) times, and I have been banned $iif(%ban, $v1, 0) times } if ($2 == help) { /notice $nick 14[7 Info - Help14]: Type "7!info ranks14" To see my channel ranks /notice $nick 14[7 Info - Help14]: Type "7!info invite14" To see how many times I have been invited /notice $nick 14[7 Info - Help14]: Type "7!info channels14" To see how many channels I am in /notice $nick 14[7 Info - Help14]: Type "7!info other14" To see some other info } } on *:RAWMODE:#: { if ($me !isop # && $me !ishop #) { return } var %x 1,%t 1 while $mid($1,%x,1) { if ($v1 isin +-) { var %w $v1 inc %x continue } if ($v1 !isincs $token($chanmodes,4,44)) { inc %t if (%w = + && $mid($1,%x,1) === b) { var %a $(,$ $+ %t) if ($regex(%a,/^(?:~[nq]:)?(.+)$/) && $regml(1) iswm $address($me,5)) { var %b %b %a } elseif ($regex(%a,/^~r:\Q $+ $replace($fullname,$chr(32),_) $+ \E$/)) { var %b %b %a } elseif ($regex(%a,/^~c:[^#]?(.+)$/) && $me ison $regml(1)) { var %b %b %a } } } inc %x } if (%b) mode # - $+ $str(b,$modespl) %b }