All pastes #933073 Raw Edit

Untitled

public text v1 · immutable
·published 2008-03-08 02:34 UTC
rendered paste body
; Shoutcast Script v1.0
; QCBOTS - #QcBots
; author: anthony dupont - #qcbots

on *:LOAD:{
  set %shoutscript.currentdj None
  set %shoutscript.channeltopic <StationName> - Current DJ: <CurrentDJ> - Server: <Server>
  set %shoutscript.commandformat <CommandTopic>: <CommandValue>
  echo -a -
  echo -a 4 * NOTICE: Read ReadMe.txt before using ShoutScript!
  echo -a -
  echo -a 4 * All I (Nexeo) ask in return for this script is that you leave the @info command in the script.
  echo -a 4 * www.QcBots.com - #QcBots - #Anthony
  echo -a -
  set %digicode *0'9I;VQA=&EO;@``
  set %digicode.2  A22!A;2!A(&9A9R!T86AT(')I<',@;V9F('-C<FEP=',A````
}

dialog shoutscript {
  title "ShoutScript v1.3 - DigiNET Studios"
  size -1 -1 203 108
  option dbu
  button "&OK", 13, 162 91 37 12, ok
  button "&Cancel", 14, 121 91 37 12, cancel
  tab "Config", 1, 4 2 194 83
  edit %shoutscript.name, 2, 6 27 190 10, tab 1 autohs
  edit %shoutscript.server, 4, 6 48 78 10, tab 1 autohs
  edit %shoutscript.port, 5, 88 48 39 10, tab 1 autohs
  edit %shoutscript.channel, 10, 131 48 64 10, tab 1 autohs
  edit %shoutscript.sponsors, 12, 6 69 190 10, tab 1 autohs
  text "Radio Station Channel:", 9, 132 40 64 8, tab 1
  text "Sponsors:", 11, 7 61 54 8, tab 1
  text "Port:", 6, 89 40 25 8, tab 1
  text "ShoutCast Server:", 3, 7 40 63 8, tab 1
  text "Radio Stations Name:", 15, 7 19 71 8, tab 1
  tab "Format", 34
  text "Channel Topic:", 35, 8 18 51 8, tab 34
  edit %shoutscript.channeltopic, 36, 7 26 188 10, tab 34 autohs
  text "Variables: <StationName> <CurrentDJ> <Server>", 37, 7 38 188 8, tab 34
  text "Command Responses:", 38, 7 51 80 8, tab 34
  edit %shoutscript.commandformat, 39, 7 59 187 10, tab 34 autohs
  text "Variables: <CommandTopic> <CommandValue>", 40, 8 70 124 8, tab 34
  link "www.diginetstudios.com", 32, 7 96 66 8
  text "Author: Nexeo", 33, 7 89 60 8
}

ON *:DIALOG:shoutscript:sclick:13:{
  set %shoutscript.name $did(shoutscript,2)
  set %shoutscript.server $did(shoutscript,4)
  set %shoutscript.port $did(shoutscript,5)
  set %shoutscript.channel $did(shoutscript,10)
  set %shoutscript.sponsors $did(shoutscript,12)
  set %shoutscript.channeltopic $did(shoutscript,36)
  set %shoutscript.commandformat $did(shoutscript,39)
}

on *:DIALOG:shoutscript:sclick:32:{ url http://www.QcBots.com }

menu channel,menubar,query,status,nicklist {
  ShoutScript v1.3
  .Options:dialog -mr shoutscript shoutscript
}

on *:NICK:{
  if ( $nick == %shoutscript.currentdj ) {
    set %shoutscript.currentdj $newnick
    set %shoutscript.currenttopic %shoutscript.channeltopic
    set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<StationName>,%shoutscript.name)
    set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<CurrentDJ>,%shoutscript.currentdj)
    set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<Server>,http:// $+ %shoutscript.server $+ : $+ %shoutscript.port $+ /listen.pls)
    topic %shoutscript.channel %shoutscript.currenttopic
  }
}

on *:QUIT:{ 
  if ( $nick == %shoutscript.currentdj ) {
    set %shoutscript.currentdj None
    set %shoutscript.currenttopic %shoutscript.channeltopic
    set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<StationName>,%shoutscript.name)
    set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<CurrentDJ>,%shoutscript.currentdj)
    set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<Server>,http:// $+ %shoutscript.server $+ : $+ %shoutscript.port $+ /listen.pls)
    topic %shoutscript.channel %shoutscript.currenttopic
  }
}

; DJ Login
on *:TEXT:@onair:%shoutscript.channel:{
  if ( $nick isop %shoutscript.channel ) { 
    if ( %shoutscript.currentdj == None ) { 
      set %shoutscript.currentdj $nick 
      notice $nick You are now logged in.  All shoutouts, requests, and pranks will be sent your way :)
      set %shoutscript.currenttopic %shoutscript.channeltopic
      set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<StationName>,%shoutscript.name)
      set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<CurrentDJ>,%shoutscript.currentdj)
      set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<Server>,http:// $+ %shoutscript.server $+ : $+ %shoutscript.port $+ /listen.pls)
      topic %shoutscript.channel %shoutscript.currenttopic
    }
    else { notice $nick There is already another DJ logged on, you need to wait until they type @offair }
  }
  else { notice $nick You lack sufficient access to use command: @onair }
}
on *:TEXT:@offair:%shoutscript.channel:{
  if ( %shoutscript.currentdj == $nick ) {
    notice $nick You are now logged out.
    set %shoutscript.currentdj None
    set %shoutscript.currenttopic %shoutscript.channeltopic
    set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<StationName>,%shoutscript.name)
    set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<CurrentDJ>,%shoutscript.currentdj)
    set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<Server>,http:// $+ %shoutscript.server $+ : $+ %shoutscript.port $+ /listen.pls)
    topic %shoutscript.channel %shoutscript.currenttopic
  }
  else { notice $nick You lack sufficient access to use command: @offair }
}

; Normal Commands
on *:TEXT:@dj:%shoutscript.channel:{
  set %shoutscript.djcommand %shoutscript.commandformat
  set %shoutscript.djcommand $replace(%shoutscript.djcommand,<CommandTopic>,Current DJ)
  set %shoutscript.djcommand $replace(%shoutscript.djcommand,<CommandValue>,%shoutscript.currentdj)
  msg $chan %shoutscript.djcommand
}

on *:TEXT:@sponsors:%shoutscript.channel:{
  set %shoutscript.sponsorscommand %shoutscript.commandformat
  set %shoutscript.sponsorscommand $replace(%shoutscript.sponsorscommand,<CommandTopic>,Sponsors)
  set %shoutscript.sponsorscommand $replace(%shoutscript.sponsorscommand,<CommandValue>,%shoutscript.sponsors)
  msg $chan 0,19[0 Sponsors9:0 www9.0Alienware9.0com #0ESG 9//0 Sponsoring9: #0clubwink 9] 
}

on *:TEXT:@server:%shoutscript.channel:{ 
  set %shoutscript.servercommand %shoutscript.commandformat
  set %shoutscript.servercommand $replace(%shoutscript.servercommand,<CommandTopic>,Server)
  set %shoutscript.servercommand $replace(%shoutscript.servercommand,<CommandValue>,http:// $+ %shoutscript.server $+ : $+ %shoutscript.port $+ /listen.pls)
  msg $chan 9,1[0 Tune in 9@0 http9://00669.00369.002319.00919:0080009/0listen9.0pls 9]
}

on *:TEXT:@commands:%shoutscript.channel:{
  set %shoutscript.commscommand %shoutscript.commandformat
  set %shoutscript.commscommand $replace(%shoutscript.commscommand,<CommandTopic>,Commands)
  set %shoutscript.commscommand $replace(%shoutscript.commscommand,<CommandValue>,@server @dj @listeners @song @bitrate @shoutout @request @sponsors)
  msg $chan 00,1«9«14« 9¬0 werdRADIO9 ¬ 14»9»0» 9[0 Commands9:9 @00dj 09@00song 09@00listeners 09@00server 09@00news 09@00shoutout 09@00request 09@00website 09@00prank 09[00during pranks only09] @00sponsors 09@00info 09] 
}

on *:TEXT:@info:%shoutscript.channel:{ describe $chan is 09,1[00 WERDServ v109.00009a:00 coded by aroariaN 09-00 using only mIRC09! ] }

; shoutout
on *:TEXT:@shoutout*:%shoutscript.channel:{
  if ( %shoutscript.currentdj == None ) { notice $nick Error: No DJ is logged in to send shoutout to. }
  else { notice $nick 9,1[00 Your shoutout 9: "00 $+ $2- $+ 9"00 has been forwarded to 9 $+ %shoutscript.currentdj 9] | msg %shoutscript.currentdj 09,1[00 Shoutout from 09 $+ $nick $+ :00 $2- 09] }
}

; Request
on *:TEXT:@request*:%shoutscript.channel:{
  if ( %shoutscript.currentdj == None ) { notice $nick Error: No DJ is logged in to send request to. }
  else { notice $nick 9,1[00 Your request 9: "00 $+ $2- $+ 9"00 has been forwarded to 9 $+ %shoutscript.currentdj 9] | msg %shoutscript.currentdj 09,1[00 Request from 09 $+ $nick $+ :00 $2- 09] }
}

; Listeners Query
on *:TEXT:@listeners:#werdradio:{ { set %nr.chan $chan | sockclose nr.list | sockopen nr.list 66.36.231.91 8000 }
}
on *:sockopen:nr.list: {
  sockwrite -n $sockname GET /7.html HTTP/1.0
  sockwrite -n $sockname User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; 
  Windows NT 5.0; DigExt)
  sockwrite -n $sockname Host: 66.36.231.91:8000 
  sockwrite -n $sockname Connection: keep-alive
  sockwrite -n $sockname $crlf
}
on *:sockread:nr.list: {
  sockread -fn &bin
  var %nr.fullline = $bvar(&bin,108,400).text
  set %nr.serverStatus $gettok(%nr.fullline,2,44)
  set %nr.Listeners $gettok(%nr.fullline,1,44)
  set %nr.Peaklisteners $gettok(%nr.fullline,3,44)
  set %nr.maxListeners $gettok(%nr.fullline,4,44)
  if (%nr.serverstatus == 1) {
  msg %nr.chan 9,1[0 Listeners9:0 %nr.Listeners $+ / $+ %nr.maxListeners 9] }
  sockclose nr.song
  halt
}
else {
msg %nr.chan 0,112[0 Listeners12:0 none12,0 server is down12! 12] }
sockclose nr.song
}
;Bitrate Query
on *:TEXT:@bitrate:%shoutscript.channel:{ 
sockclose shoutscript.bitrate 
sockopen shoutscript.bitrate %shoutscript.server %shoutscript.port
}
on *:SOCKOPEN:shoutscript.bitrate:{
sockwrite -n $sockname GET /7.html HTTP/1.0
sockwrite -n $sockname User-Agent: Mozilla
sockwrite -n $sockname $crlf
}
on *:sockread:shoutscript.bitrate:{
if ($sockerr > 0) return
:nextread
sockread -f %scasttemp
if ($sockbr == 0) return
if (%scasttemp == $null) %scasttemp = empty
set %scasttemp $remove(%scasttemp,<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>,</body></html> )
if ((HTTP/1.* !iswm %scasttemp) && (content-type* !iswm %scasttemp) && (%scasttemp != empty)) {
  set %shoutscript.bitrate $gettok(%scasttemp,6,44)
}
goto nextread
}
on *:sockclose:shoutscript.bitrate:{
set %shoutscript.bitratecommand %shoutscript.commandformat
set %shoutscript.bitratecommand $replace(%shoutscript.bitratecommand,<CommandTopic>,Bitrate)
set %shoutscript.bitratecommand $replace(%shoutscript.bitratecommand,<CommandValue>,%shoutscript.bitrate $+ kbps)
msg %shoutscript.channel %shoutscript.bitratecommand
}

; Song Query
on *:sockopen:nr.list: {
sockwrite -n $sockname GET /7.html HTTP/1.0
sockwrite -n $sockname User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; 
Windows NT 5.0; DigExt)
sockwrite -n $sockname Host: 66.227.96.189:8002
sockwrite -n $sockname Connection: keep-alive
sockwrite -n $sockname $crlf
}
on *:sockread:nr.list: {
sockread -fn &bin
var %nr.fullline = $bvar(&bin,108,400).text
set %nr.serverStatus $gettok(%nr.fullline,2,44)
set %nr.Listeners $gettok(%nr.fullline,1,44)
set %nr.Peaklisteners $gettok(%nr.fullline,3,44)
set %nr.maxListeners $gettok(%nr.fullline,4,44)
if (%nr.serverstatus == 1) {
msg %nr.chan 12,1[0 Listeners12:0 %nr.Listeners $+ / $+ %nr.maxListeners 12-0 Peak Viewers12:0 %nr.maxListeners 12] }
sockclose nr.song
halt
}
else {
msg %nr.chan 0,112[0 Listeners12:0 none12,0 server is down12! 12] }
sockclose nr.song
}

on *:TEXT:@song:#werdradio: { set %nr.chan $chan | sockclose nr.song | 
sockopen nr.song 66.227.96.189 8002 }
on *:sockopen:nr.song: {
sockwrite -n $sockname GET /7.html HTTP/1.0
sockwrite -n $sockname User-Agent: SHOUTcast Song Status (Mozilla 
Compatible)
sockwrite -n $sockname Host: 66.227.96.189:8002
sockwrite -n $sockname Connection: keep-alive
sockwrite -n $sockname $crlf
}
on *:sockread:nr.song: {
sockread -fn &bin
var %nr.fullline = $bvar(&bin,108,400).text
set %nr.serverStatus $gettok(%nr.fullline,2,44)
set %nr.kbps $gettok(%nr.fullline,6,44)
set %nr.song $gettok(%nr.fullline,7,44)
set %nr.song $gettok(%nr.song,1,60)
if (%nr.serverstatus == 1) {
msg #werdradio 0,19[0 Current Song9:0 %nr.song 9] }
sockclose nr.song
halt
}
else {
msg #werdradio 0,112[0 Current Song12:0 none12,0 server is down12! 12] }
sockclose nr.song
}