Communauté Eggdrop
Pb: TCL Kick PL - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Scripts TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Sujet : Pb: TCL Kick PL (/showthread.php?tid=1008)



Pb: TCL Kick PL - Aristide - 09/08/2011

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"



RE: Pb: TCL Kick PL - blaster911 - 09/08/2011

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,


RE: Pb: TCL Kick PL - fedora - 09/08/2011

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


RE: Pb: TCL Kick PL - djkenny - 09/08/2011

salut,

tu ne refermes pas le sock?


RE: Pb: TCL Kick PL - djkenny - 09/08/2011

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)


RE: Pb: TCL Kick PL - djkenny - 09/08/2011

voici la nouvelle version:

shoutcast.tcl


RE: Pb: TCL Kick PL - Aristide - 10/08/2011

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