Also I know; two things in one day. But, found this 'amazing' site. http://unfurlr.com/
It takes Shortened urls, and gets their long url. What I would like is if it could look at the Actual URL, and get it's Trustworthiness, Child safety, and Privacy. This could be used in conjunction with my last idea. That the bot would use this to figure out shortened links and if they are accepted, it would let them slide, otherwise kick on the severity.
Edit: Also page title would be nice to look at. And if it has anything to do with Porn, or NSFW stuff, that also would be a kick worthy thing.
Not sure if this concept is possible.
But I was wondering is it is possible to make a script that you could use it (lets say it is isLink)
So that I could do a
if ($1- isLink) { (check file for links that are unaccepted in chat; if true) var %link
else { halt }
if (!%link) {
$readini(badlinks,severity, %link) { .... }
else { halt }
}
}
Where the Severity of how bad the link is I could have separate GOTO, and different ban times for each severity?
Like all shortened links are a 30 second kick
All Level 1 (Things we prefer not in the chat [4chan type]) a 1 minute kick
All Level 2 (Things we don't want in chat) a 3 minute kick
and Level 3 (Porn, or things of that type) a 10 minute kick.
And I might be able to add Offenses; that increase the amount of time to each kick. And on the 3rd offense it bans.
on $:text:/^!subs\b/Si::{
if ($nick isop #) {
if ($2 == list) || (!$2) {
if ($ini(sub.ini,$chan,0)) {
var %a 1, %z $ini(sub.ini,$chan,0)
msg # # has %z sub(s)
}
else { msg # No subs for $chan $+ .
}
}
if ($2 == add) {
if (!$3) {
msg # please specify whom to add.
}
else { writeini sub.ini $chan $3 subbed
msg # " $+ $3- $+ " has been added to the list
}
}
if ($2 == remove) {
if (!$3) {
msg # please specify whom to remove.
}
else {
if ($readini(sub.ini,$chan,$3)) {
remini sub.ini $chan $3
msg # Removed " $+ $3 $+ " from the list
}
}
}
}
}
I think this should do what you want. I hope.
I tried adding
on $*:text:/^@xbox\s(.+)/iS:# {
if (!%f.xbox) {
if (!$2) { inc -u3 %f.xbox
if ($sock(xbox)) sockclose xbox
sockopen xbox live.xbox.com 80
sockmark xbox $+(/en-US/Profile?gamertag=,$replace($read(xboxtag.txt,ns,$nick),$chr(32),$+($chr(37),20))) $&
msg # $+ ($read(xboxtag.txt,ns,$nick))
}
if ($2 == @erase) { write $+(-dl,$readn) xboxtag.txt
msg # $nick $+ , your gamer tag has been reset. Please re-add your Gamertag if you wish with !xbox register [xboxtag]
}
if ($2 == register) {
if (!$3) { msg # please put in your xbox username, if you change it. Please remember to reset it.
}
else {
write xboxtag.txt $nick $$3- | msg # $nick $+ , Your gamer tag of $$3- has been memorized.
}
}
else { inc -u3 %f.xbox
if ($sock(xbox)) sockclose xbox
sockopen xbox live.xbox.com 80
sockmark xbox $+(/en-US/Profile?gamertag=,$replace($regml(1),$chr(32),$+($chr(37),20))) $&
msg # $+($regml(1))
}
}
}
but when I try doing the @xbox @erase It erases the name, but it still comes up with the name not found. Also when I just try the @xbox it doesn't work at all.
I even tried seeing if the problem was with the $regml(1) and replacing that with the $read(xboxtag.txt,ns,$nick) and it still failed
Any help would be nice.
Now if only I could figure out how to make an Add-on, to store a person's data, so if they type
KilllerX: @xbox register thekilllerx
Bot: KilllerX, your Xbox name, has been written to my memory.
Later -
randomperson: Hey what is your Xbox tag, and what are you playing? (or something like that)
KilllerX: @xbox
Bot: theKilllerX: Online playing [Game] - GS: [Gamer Score]
Would be cool, to see a PSN, and a Steam version of these.
Truly it will go off, whenever someone does a
/me [text] $me ($me being the bots nick) or having the text after $me.
So they could be welcoming you back, hugging, slapping, kissing, or whatever. As long as your name is included in a /me line, it will activate.
on *:action:*slap*:#:{
if ($me isin $1- && slap isin $1- && !%fl) {
inc -u10 %fl
.timer 1 2 describe # $replace($1-,$me,$nick,$chr(36),$+($chr(36),!),$chr(37),$+($str($chr(2),2),$chr(37)),|,$+($str($chr(2),2),|))
}
}
something like this would check for the slap. granted, there are better ways, of checking. as you could also
on *:action:*slap*:#:{
if ($me isin $1- && !%fl) {
inc -u10 %fl
.timer 1 2 describe # $replace($1-,$me,$nick,$chr(36),$+($chr(36),!),$chr(37),$+($str($chr(2),2),$chr(37)),|,$+($str($chr(2),2),|))
}
}
Just a couple ways. checking for the slap would help prevent spam, and unneeded triggers.
that is without stripping the colors. If you want to do that. look it up. I don't need it for myself, as the place I use it, doesn't allow, colored text.
agreed phil. with your last text event, I thought it was giving them ops and other status as that. So I was thinking you would need a
On :text::#:{
if ($nick isreg # || $nick isvoice #) { halt }
else {
[rest of script]
}
}
So that regular and voiced users can't give themselfs op, or half-op, admin, owner status. but I relooked at it, and it explains it I guess.
Personally, I was just showing, for future scripts, if he doesn't want ops to see it (or use [chances are slim]), to use isreg to look if that person is a regular user. Then having to many if ($1 = text) using the same text, typically isn't the best idea. And as long as you name all your timers. rather then using a timer1, a timer, and a timer2. While if Timer1 is being used, timer would then take the timer2 position, and if you have something for timer2, triggered. IT wouldn't activate, due to timer taking over timer2. Good idea to get in the habbit, of giving names to them as .timer.name. Maybe even if this is a multi-channel. using the $chan in it, so it doesn't clog up others using it on another chan. Just thoughts. random things, that swirl across the stead of my mind.
On *:JOIN:#: {
if ($nick isreg $chan) {
msg $nick Hi, Welcome To $chan . Do you have a 0,2Facebook0,1? Please answer Yes or No in the next 60 seconds or you will be kicked.
timer1 1 60 kick $chan $nick
}
}
On *:open:?:*: {
{ if ($1 = yes) msg $nick Thank You. Please Enjoy yourself. | timer1 off | msg # $nick has a 0,2Facebook0,1 = Yes! }
{ if ($1 = no) msg $nick I'm sorry, you have to have a 0,2Facebook0,1 in order to join this channel. | timer1 off | kick $chan $nick 0,2Facebook0,1 = No :( }
}
will only message regular users. Also condensed the ON :open:?::{ section, so you don't have two variables for If yes, and if no.