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"
Répondre Avertir
#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,
Répondre Avertir
#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
[font=Times New Roman]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.[/font]
Répondre Avertir
#4
salut,

tu ne refermes pas le sock?
C'est en reconnaissant ses erreurs que l'on progresse Wink
Répondre Avertir
#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 Wink
Répondre Avertir
#6
voici la nouvelle version:

shoutcast.tcl
C'est en reconnaissant ses erreurs que l'on progresse Wink
Répondre Avertir
#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
Répondre Avertir


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté