Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


Pb: TCL Kick PL
#1
Bonjour,
J'aimerais ajouter une fonctionnalité sur mon Bot pour pouvoir Kicker la Playlist Shoutcast par une commande "!kicksrc", j'ai essayé plusieurs codes TCL, mais je n'ai eu aucun résultat. Quand je tape la commande "!kicksrc" la requête n'arrive au Serveur pour réaliser le Kick, je vous poste le code afin de voir s'il s'agit d'une erreur de codage, ou un problème de flags avec le Bot.

NB: Je n'ai aucune erreur en Party-Line, le script TCL se charge correctement.

Merci de votre aide par avance.

Cordialement.

Code:
TCL:

bind pub n !kicksrc kicksource

proc kicksource {nick host handle chan text} {
#ip:
set server "l'adresse de mon serveur"
#port:
set port "le port du serveur"
set login "mot de passe du streaming"

######Config######

set sock [socket $server $port]
puts $sock "GET http://IP:Port/admin.cgi?mode=kicksrc HTTP/1.1"
puts $sock "User-Agent:Mozilla"
puts $sock "Host: $server"
puts $sock "Authorization: Basic $login"
puts $sock ""
flush $sock
}
putlog "Kicksource loaded"
#2
Salut,

Modifie

Code:
puts $sock "GET http://IP:Port/admin.cgi?mode=kicksrc HTTP/1.1"
par


Code:
puts $sock "GET /admin.cgi?admin=admin&pass=$login&mode=kicksrc HTTP/1.1"
Cordialement,
#3

tcl
# Configuration #
# Pass admin de la stream
set streampass "LEPASS"
# l'ip de la stream:
set streamip "IP STREAM"
# Le port de la stream:
set streamport "8000"
 
bind pub n .kicksrc kickshout
proc kickshout {nick host handle chan text} {
global kickshout streamip streamport streampass
set login ""
set sock [socket $streamip $streamport]
puts $sock "GET /admin.cgi?admin=admin&pass=$::streampass&mode=kicksrc HTTP/1.1"
puts $sock "User-Agent:Mozilla"
puts $sock "Host: $streamip"
puts $sock "Authorization: Basic $login"
puts $sock ""
flush $sock
 }


Cordialement
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#4
salut,

tu ne refermes pas le sock?
C'est en reconnaissant ses erreurs que l'on progresse ;)
Away
#5

Code:
namespace eval ::sc {
    package require http
    variable sc
    array set sc [list\
        adminpass ***** \
        ip ******* \
        port ***** \
    ]
    bind pub n .kicksrc [namespace current]::kickshout
    proc kickshout {nick host handle chan text} {
        variable sc
        set url "http://[set sc(ip)]:[set sc(port)]/admin.cgi?pass=[set sc(adminpass)]&mode=kicksrc"
        set httpconfig [::http::config -useragent "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"]
        set marque [http::geturl $url -timeout 30000]
        http::cleanup $marque
    }
}
édite: je posterais le tcl shoutcast, que j ai entièrement re-codé, dans la journée (j'ai quelques modifications a apporter dessus)
C'est en reconnaissant ses erreurs que l'on progresse ;)
Away
#6
voici la nouvelle version:

shoutcast.tcl
C'est en reconnaissant ses erreurs que l'on progresse ;)
Away
#7
Bonsoir,

Merci pour votre aide, le code TCL a fonctionné, il s'agissait juste d'une mauvaise Flags.

NB: Tous les codes que vous avez posté fonctionnent.

Cordialement.

Aristide


Forum Jump:


Users browsing this thread: 1 Guest(s)