Bot pour canal de webradio (by a noob :d)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 13 345 fois - Téléchargée 27 fois

Contenu du snippet

Ce code est un simple bot IRC avec des options de merdes ... vu que je suis un noob et que c'est ma 1ere source merci de ne pas être trop mechant avec moi ... Je poste quand même ce script (sans trop de pub ^^) car il n'y en a AUCUN ! J'ai dailleur chercher longtemps ... en tout cas, ce qu'il manque vraiment à cette add-on c'est un interface et aussi un truc en socket qui chercher sur un site web (ex: http://www.watchout.net:8012 ) le nombre de personnes qui ecoutent la radio ou quelle musique passe ... J'éspère que vous serez compréensifs face à ma nulité en IRC Scripting et en Orthographe ;)

Source / Exemple :


alias msg { 
  if (%msgqueue) { 
    .timermsgqueue off 
    .timer 1 %msgqueue raw privmsg $1 : $+ $2- 
    .timermsgqueue 1 $calc(%msgqueue +1) unset %msgqueue 
    inc %msgqueue 
  } 
  else { raw privmsg $1 : $+ $2- | inc %msgqueue | .timermsgqueue 1 1 unset %msgqueue } 
} 
alias notice { 
  if (%noticequeue) { 
    .timernoticequeue off 
    .timer 1 %noticequeue raw notice $1 : $+ $2- 
    .timernoticequeue 1 $calc(%noticequeue +1) unset %noticequeue 
    inc %noticequeue 
  } 
  else { raw notice $1 : $+ $2- | inc %noticequeue | .timernoticequeue 1 1 unset %noticequeue } 
}

on *:TEXT:*:*:{
  if (($chr(35) isin $1-) && ($nick !isop $chan)) {   msg $nick 0,7.:4|0:. 8Evite de puber et join & perform12 %radio.chan 8! 0,7.:4|0:. }
  if ($1 == !help) { .notice $nick 0,7.:4|0:. 8pv un admin ou laisse moi un message en disant 5!msg 0,7.:4|0:. }
  if ($1 == !url) { .notice $nick 0,7.:4|0:. 8Stream is currently %thestream 8on %theurl 0,7.:4|0:. }
  if ($1 == !anim) {
    if (%onair = offair) { .notice $nick 0,7.:4|0:. 4personne 8n'est actuellement 0n air ! 0,7.:4|0:. }
    if (%onair != offair) { .notice $nick 0,7.:4|0:.4 %onair 8est actuellement9 0n air7 ! 0,7.:4|0:. }
  }
  if ($1 == !dedi) {
    if (%onair = offair) { .notice $nick 0,7.:4|0:. 4personne 8n'est actuellement 0n air tu ne peux donc 4pas faire8 de dedi ! 0,7.:4|0:. }
    if (%onair != offair) {
      .query %onair voici le ce que $nick m'a dit (en dedicasse): $2-
      .notice $nick 0,7.:4|0:.8 ta dedicasse4 ( $2- )8 est partit à4 %onair 8! 0,7.:4|0:.
    }
  }
  if (($1 == !msg) && ($chan == %radio.chan)) { query $nick 0,7.:4|0:. 8pose ton message ici en disant !msg xxx (xxx => ton msg) 0,7.:4|0:. }
  if (($1 == !msg) && ($chan == $null)) {
    if ($2 == $null) { return }
    set -u0 %a 0
    :loop
    inc %a
    if (%a >= 5) { .notice $nick 0,7.:4|0:. 8La liste est pleine  0,7.:4|0:. | return }
    if (%msg [ $+ [ %a ] ] == $null) { set %msg [ $+ [ %a ] ] $2- | set %nickofmsg [ $+ [ %a ] ] $nick | .msg $nick 0,7.:4|0:. 8Msg enregistré 0,7.:4|0:. | return }
    goto loop
  }
  if ($1 == !news) {
    .notice $nick %news1
    .notice $nick %news2
    .notice $nick %news3
    .notice $nick %news4
  }
  if ($1 == !cmds) {
    .notice $nick 0,7.:4|0:. 8Les commandes du bot sont les suivantes:0,7 .:4|0:.
    .notice $nick 0,7.:4|0:. 8!url (pour connaitre l'adresse du stream et son statut) 0,7.:4|0:.
    .notice $nick 0,7.:4|0:. 8!anim (pour savoir qui anim) 0,7.:4|0:.
    .notice $nick 0,7.:4|0:. 8!dedi xxx (pour faire le dedicasse xxx si quelqun est 0nAir) 0,7.:4|0:.
    .notice $nick 0,7.:4|0:. 8!news (pour connaitre les news) 0,7.:4|0:.
    .notice $nick 0,7.:4|0:. 8!help (si vous avez des problemmes) 0,7.:4|0:.
    .notice $nick 0,7.:4|0:. 8!msg (pour laisser un message aux admins) 0,7.:4|0:.
    if ($nick isop $chan) {
      .notice $nick 0,7.:4|0:. 4op cmd: 8!opcmds (pour connaitre les commandes des operateurs) 0,7.:4|0:.
    }
  }

  if ($nick !isop %radio.chan) { return }
  if ($1 == !onair) { .notice $nick 0,7.:4|0:. 8ok tu es maintenant onair ! 0,7.:4|0:. | set %onair $nick }
  if ($1 == !offair) { .notice $nick 0,7.:4|0:. 8ok: personne n'est onair :'( 0,7.:4|0:. | set %onair offair }
  if ($1 == !do) {
      $2-
      .notice $nick 0,7.:4|0:. 8Action réalisée 0,7.:4|0:.
  }
  if (($1 == !readmsg) && ($2 isnum) && ($2 > 0)) {
    if (%msg [ $+ [ $2 ] ] == $null) { .notice $nick Msg n'existe pas | return }
    .notice $nick Msg $2 : %msg [ $+ [ $2 ] ] :: par : %nickofmsg [ $+ [ $2 ] ]
  }
  if ($1 == !readallmsg) {
    set -u0 %a 0
    set -u0 %b 0
    :hum
    inc %a
    inc %b 2
    if (%msg [ $+ [ %a ] ] == $null) { .timer 1 %b notice $nick Lecture Finie | return }
    .timer 1 %b .notice $nick Msg %a : %msg [ $+ [ %a ] ] :: par : %nickofmsg [ $+ [ %a ] ]
    goto hum
  }
  if ($1 == !opcmds) {
    .notice $nick 0,7.:4|0:. 8!do xxx (pour que le bot fasse exactement xxx) 0,7.:4|0:.
    .notice $nick 0,7.:4|0:. 8!saynews (pour que le bot dise les news sur tous les chans) 0,7.:4|0:.
    .notice $nick 0,7.:4|0:. 8!setnews(1,2,3,4) (pour que le bot configure les news 1,2,3 et 4) 0,7.:4|0:.
    .notice $nick 0,7.:4|0:. 8!readallmsg (pour que le bot vous dise les msgs) 0,7.:4|0:.
    .notice $nick 0,7.:4|0:. 8!supprallmsg/supprmsg x (pour que le bot supprime tous les msgs ou 1 en particulier) 0,7.:4|0:.
    .notice $nick 0,7.:4|0:. 8!onair/offair (pour vous mettre onair/offair aupres du bot sur %radio.chan !) 0,7.:4|0:.
    .notice $nick 0,7.:4|0:. 8!seturl (url)/!setstream (1/0) (pour configurer l'url et le status du stream !) 0,7.:4|0:.
    .notice $nick 0,7.:4|0:. 8!massvoice (1/0) (met l'auto voice on/off) 0,7.:4|0:.
  }
  if ($1 == !seturl) {
    set %theurl $2-
    .notice $nick 0,7.:4|0:. 8Stream is currently %thestream 8on %theurl 0,7.:4|0:.
  }
  if ($1 == !massvoice) {
      set %voiceonjoin $2
  }
  if ($1 == !setstream) {
    if ($2 == 1) {
      set %thestream 9UP 
      .notice $nick 0,7.:4|0:. 8Stream is currently %thestream 8on %theurl 0,7.:4|0:.
    }
    if ($2 == 0) {
      set %thestream 4DOWN
      .notice $nick 0,7.:4|0:. 8Stream is currently %thestream 8on %theurl 0,7.:4|0:.
    }
  }
  if ($1 == !saynews) {
    amsg %news1
    amsg %news2
    amsg %news3
    amsg %news4
  }
  if ($1 == !setnews) { .notice $nick les cmds sont !setnews1 !setnews2 !setnews3 !setnews4 !news !saynews }
  if (($left($1,8) == !setnews) && ($len($1) == 9)) {
    set %news [ $+ [ $right($1,1) ] ] $2- | .notice $nick voici la news $right($1,1) : $2-
  }
  if ($1 == !supprallmsg) {
    unset %nickofmsg* %msg* | .notice $nick Tous les messages ont été effacés
  }
  if (($1 == !supprmsg) && ($2 isnum) && ($2 > 0)) {
    if (%msg [ $+ [ $2 ] ] == $null) { .notice $nick Msg n'existe pas | return }
    set -u0 %a $2
    dec %a
    :del
    inc %a
    if (%msg [ $+ [ %a ] ] == $null) { .notice $nick Msg $2 effacé | return }
    set -u0 %t %msg [ $+ [ $calc(%a +1) ] ]
    set %msg [ $+ [ %a ] ] %t
    set -u0 %t %nickofmsg [ $+ [ $calc(%a +1) ] ]
    set %nickoffmsg [ $+ [ %a ] ] %t
  }
}

ON *:LOAD:{
  .echo -a 0,7.:4|0:. 8Bot pour chan de radio installé 0,7.:4|0:.
  .echo -a 0,7.:4|0:. 8Des dialogues devraient apparaitre ... remplissez bien les 2 premiers ! 0,7.:4|0:.
  .echo -a 0,7.:4|0:. 8Bot by b3b3n (b3n_j@voila.fr) ! 0,7.:4|0:.

  set %botsrv $?="serveur irc du bot (irc.quakenet.eU.org/irc.voila.fr/...)"
  set %radio.chan $?="Nom du chan principal ?"
  set %botnick $?="Nom du bot ?"
  set %botpass $?="owner pass (pour la cmd !do uniquement)"
  set %Qauth $?="compte Q du bot"
  set %Qpass $?="pass Q du bot"
  if if (%botsrv) {
  .server -m %botsrv
}
}

ON *:UNLOAD:{
  .echo -a 0,7.:4|0:. 8Bot pour chan de radio désinstallé 0,7.:4|0:.
  .echo -a 0,7.:4|0:. 8Bot by b3b3n (b3n_j@voila.fr) ! 0,7.:4|0:.
}

alias botsrv {
set %botsrv $?="serveur irc du bot (irc.quakenet.eU.org/irc.voila.fr/...)"
}

alias botchan {
set %radio.chan $?="Nom du chan principal ?"
}

alias botnick {
set %botnick $?="Nick du bot"
}
alias botQpass {
set %Qpass $?="pass Q du bot"
}
alias botpass {
set %botpass $?="pass du bot (pour la cmd !do"
}

ON *:CONNECT:{
  .msg Q@Cserve.Quakenet.org auth %Qauth %Qpass
  mode $me +x
  /join %radio.chan
}

ON *:START:{
/server -m %botsrv
/nick %botnick
}
on *:JOIN:%radio.chan:{
  .notice $nick 0,7.:4|0:. 8Welcome²5 %radio.chan 8! dites 1 !cmds 8pour les connaitre ! 0,7.:4|0:.
  if (%voiceonjoin == 1) {
    mode $chan +v $nick
  }
}

menu menubar,channel,query,status {
  -
  ? Bot Pour Radio-Channel ?
  .Nick du bot ( %botnick ): /botnick
  .Serveur du bot  ( %botsrv ):/botsrv
  .Chan principal ( %radio.chan ):/botchan
  .Q auth du bot ( %Qauth ):/botQauth
  .Q pass du bot ( %Qpass ):/botQpass
}

Conclusion :


le debut du code (anti exess flood) fait partit d'un autre post sur ce site ... j'en remerci l'auteur ^:p
Je rapelle que si des vrais scripteurs regardaient ce code et le rendent potable ca serait cool ... Soyez indulgent !

A voir également

Ajouter un commentaire Commentaires
Messages postés
16
Date d'inscription
jeudi 15 janvier 2009
Statut
Membre
Dernière intervention
12 mars 2013

c'est en script mIRC ou en tcl ?
si vous avez un tcl pour une Web Radio, prévenez moi. Merci.
Messages postés
16
Date d'inscription
mardi 7 février 2006
Statut
Membre
Dernière intervention
1 avril 2008

dsl je viens de voir que j'ai lu un peu trop rapidement mais si quelqu'un a une idée pour finalisé la chose ca m'intersser
merci d'avance et encore dsl
Messages postés
16
Date d'inscription
mardi 7 février 2006
Statut
Membre
Dernière intervention
1 avril 2008

bonjour je voudrai avoir un peu plus d'info sur l'add on j'ai vue dans le commentaire de depart je cite
"c'est un interface et aussi un truc en socket qui chercher sur un site web (ex: http://www.watchout.net:8012 ) le nombre de personnes qui ecoutent la radio ou quelle musique passe ... "
je voudrai maintenant savoir doit je mettre l'url de la radio ou son IP pour qu'il puisse le faire !!!
merci d'avance


ps : manques une fonction pour eviter que le bot envoie la notice
.:|:. Evite de puber et join & perform #... ! .:|:.
en goros pour qu'il ne prenne en compte que le chan de la radio mais c'ets pas gagné pour moi
Messages postés
9
Date d'inscription
samedi 8 juillet 2006
Statut
Membre
Dernière intervention
25 juin 2019

une fois deconecte comment on fait pour le reconnecte
Messages postés
2
Date d'inscription
jeudi 10 août 2006
Statut
Membre
Dernière intervention
17 septembre 2006

Bonjour ;)
Serait il possible d'avoir le résultat de la remote pour vybration ? Juli125200@hotmail.fr

Je vous remerci d'avance a tous ;)
Afficher les 18 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (b3b3n)