Accueil > > > SONDAGE: NOMBRE DE RÉPONSES ILLIMITÉ!
SONDAGE: NOMBRE DE RÉPONSES ILLIMITÉ!
Information sur la source
Description
voici le tout premier sondage (du moins je n'en ai pas vu ici, pardonnez moi si j'ai mal cherché) avec un nombre de réponses disponnibles illimité! au programme: - nombre de reponses illimité - temps imparti à definir - un petit titre pour le fun bientôt: - les archives du sondage! chaque sondage restera en memoire dans la base de dnnées (pas en variables lol), avec son titre, son auteur, la question et la réponse gagnante avec ses résultats et: - les pourcentages! euh par contre je 'nai aps pu tester ce sondage étant en vacances et n'ayant que le bloc notes à ma disposition, mais je suis presque sur de son bon fonctionnement. un seul detail que 'jai oublié... quand je fais les timers, je ne sais pas si je fais [timer temps repetition] ou [timer repetition temps]... j'ai opté pour la derniere sollution étant la plus logiue à mes yeux... testez le pour moi! (soyez indulgents, c'est que ma 4eme source et la plus approfondie) au fait: je peux pas mettre de zip, y'a pas moyen sur cet ordi pourri ^^ plus tard peut etre, en attendant, tapez voius le code pour les interessés.
Source
- on *:text:!sondage:#: {
- if (%sond.start) { notice $nick Impossible de préparer un sondage, un est déjà en cours. }
- else {
- msg $nick Bien, $nick $+ , nous allons commencer le sondage. Si ca prend du temps, ne perds pas patience, nous enregistrons les données.
- set %sond.nick $nick
- set %sond.nick.host $address($nick, 5)
- set %sond.start off
- timer1 1 5 /question
- }
- }
-
- alias question {
- msg %sond.nick Pour commencer, tape la question à laquelle les personnes présentes dans le channel répondront.
- set %sond.text question
- }
-
- on %sond.nick:text:*:?: {
- if (%sond.text == question) validQuestion $1-
- if (%sond.text == timer) validTimer $1
- if (%sond.text == nbrep) validNbrep $1
- if (%sond.text == reponse) validReponse $1-
- if (%sond.text == titre) validTitre $1-
- }
-
- alias validQuestion {
- set %sond.param.question $1-
- msg %sond.nick Bien, la question est: $1-
- msg %sond.nick Tape maintenant le temps en secondes au cours duquel les chatteurs devront répondre
- set %sond.text timer
- }
-
- alias validTimer {
- set %sond.param.timer $1
- msg %sond.nick Parfait, le temps imparti est donc: $1
- msg %sond.nick nous allons passer maintenant au nombre de réponses. Combien en veux-tu?
- set %sond.text nbrep
- }
-
- alias validNbrep {
- set %sond.param.nbquest $1
- if ($1 == 1) msg %sond.nick Tu veux donc 1 réponse.
- else msg %sond.nick Tu veux donc $1 réponses.
- msg %sond.nick Tape donc ta première réponse.
- set %sond.text reponse
- }
-
- alias validReponse {
- inc %sond.numrep
- set %sond.param.reponse. $+ %sond.numrep $1-
- if (%sond.numrep == %sond.param.nbquest) {
- msg %sond.nick C'était la dernière réponse à donner. Donne un titre à ton sondage.
- set %sond.text titre
- }
- else {
- msg %sond.nick Bien. Tape maintenant la réponse suivante. Il en reste $calc(%sond.param.nbquest-%sond.numrep) $+ .
- }
- }
-
- alias validTitre {
- set %sond.param.titre $1-
- msg %sond.nick Tadaaaaaaaaaaaa!!!! Le questionnaire est maintenant fini, je n'attend plus que ton commandement pour lancer le sondage. Pour ce faire, tape !go sur le channel. Mais ne tarde pas, au bout de deux minutes, j'efface toutes les données si le sondage n'est pas commencé. 120... 119... 118...
- set %sond.go ok
- timer2 1 120 timeEnd
- }
-
- alias timeEnd {
- notice %sond.nick Je t'avais prévenu, les deux minutes se sont écoulées. A pu les jolies données de %sond.nick !!!
- unset %sond*
- }
-
- on %sond.nick:text:!go:#: {
- set %sond.chan $chan
- timer2 off
- notice $nick Le sondage va commencer. Surtout, soit patient, le temps d'initialiser les données.
- msg $chan Un sondage va bientôt commencer. Patientez un petit instant.
- timer3 1 10 sondStart
- }
-
- alias sondStart {
- msg %sond.chan %sond.nick $+ ( $+ %sond.nick.host $+ ) vous propose un petit sondage comportant 1 question et %sond.param.nbrep réponse(s).
- msg %sond.chan Le sondage s'intitule: %sond.param.titre
- msg %sond.chan La question est: %sond.param.question
- msg %sond.chan Les réponses sont (veuillez patienter si chargement il y a):
- questionListe
- }
-
- alias questionListe {
- inc %i
- msg %sond.chan %1 $+ ) %sond.param.reponse. $+ %i (tapez !sond %i $+ )
- if (%i == sond.param.nbrep) {
- msg %sond.chan Vous avez %sond.param.timer secondes pour répondre.
- timer00 1 %sond.param.timer FinDuSondage
- }
- else {
- questionListe
- }
- }
-
- on *:text:!sond*:%sond.chan: {
- if ($nick != %sond.nick) && (!%sond.avote. $+ $address($nick, 2)) {
- set %sond.avote. $+ $address($nick, 4) a voté
- notice $nick Merci d'avoir voté (ne pas recommencer, de toutes facons, c'est impossible).
- inc %sond.param.reponse. $+ $2 $+ .vote
- inc %sond.total
- pourcentages
- }
- }
-
- alias FinDuSondage {
- msg %sond.chan Le sondage: %sond.param.titre est terminé!
- msg %sond.chan Il était proposé par %sond.nick $+ ( $+ %sond.nick.host $+ )
- msg %sond.chan La question était: %sond.param.question
- msg %sond.chan Vous aviez %sond.param.timer secondes pour y répondre.
- msg %sond.chan Voici les résultats (merci de patienter si chargement il y a)
- resultats
- }
-
- alias resultats {
- inc %a
- msg %sond.chan %sond.param.reponse. $+ %a $+ .vote votes pour: %sond.param.reponse. $+ %a ( %sond.param.reponse. $+ %a $+ .pourcent
- if (%sond.param.reponse. $+ %a $+ .vote > %sond.derniere.vote) {
- set %sond.gagnante %a
- }
- set %sond.derniere.vote %sond.param.reponse. $+ %a $+ .vote
- if (%a == %sond.param.nbrep) {
- msg %sond.chan Avec %sond.param.reponse. $+ %sond.gagnante $+ .vote votes sur un total de %sond.total $+ ( $+ %sond.param.reponse. $+ %sond.gagnante $+ .pourcent $+ ) , la réponse: %sond.param.reponse. $+ %sond.derniere.vote l'emporte!
- unset %sond.*
- unset %a
- unset %i
- unset %b
- }
- else {
- resultats
- }
- }
-
- alias pourcentages {
- inc %b
- set %sond.param.reponse. $+ %b $+ .pourcent $calc($calc(%sond.param.reponse. $+ %b $+ .vote*100)/%sond.total)
- if (%b != %sond.param.nbrep) {
- pourcentages
- }
- }
on *:text:!sondage:#: {
if (%sond.start) { notice $nick Impossible de préparer un sondage, un est déjà en cours. }
else {
msg $nick Bien, $nick $+ , nous allons commencer le sondage. Si ca prend du temps, ne perds pas patience, nous enregistrons les données.
set %sond.nick $nick
set %sond.nick.host $address($nick, 5)
set %sond.start off
timer1 1 5 /question
}
}
alias question {
msg %sond.nick Pour commencer, tape la question à laquelle les personnes présentes dans le channel répondront.
set %sond.text question
}
on %sond.nick:text:*:?: {
if (%sond.text == question) validQuestion $1-
if (%sond.text == timer) validTimer $1
if (%sond.text == nbrep) validNbrep $1
if (%sond.text == reponse) validReponse $1-
if (%sond.text == titre) validTitre $1-
}
alias validQuestion {
set %sond.param.question $1-
msg %sond.nick Bien, la question est: $1-
msg %sond.nick Tape maintenant le temps en secondes au cours duquel les chatteurs devront répondre
set %sond.text timer
}
alias validTimer {
set %sond.param.timer $1
msg %sond.nick Parfait, le temps imparti est donc: $1
msg %sond.nick nous allons passer maintenant au nombre de réponses. Combien en veux-tu?
set %sond.text nbrep
}
alias validNbrep {
set %sond.param.nbquest $1
if ($1 == 1) msg %sond.nick Tu veux donc 1 réponse.
else msg %sond.nick Tu veux donc $1 réponses.
msg %sond.nick Tape donc ta première réponse.
set %sond.text reponse
}
alias validReponse {
inc %sond.numrep
set %sond.param.reponse. $+ %sond.numrep $1-
if (%sond.numrep == %sond.param.nbquest) {
msg %sond.nick C'était la dernière réponse à donner. Donne un titre à ton sondage.
set %sond.text titre
}
else {
msg %sond.nick Bien. Tape maintenant la réponse suivante. Il en reste $calc(%sond.param.nbquest-%sond.numrep) $+ .
}
}
alias validTitre {
set %sond.param.titre $1-
msg %sond.nick Tadaaaaaaaaaaaa!!!! Le questionnaire est maintenant fini, je n'attend plus que ton commandement pour lancer le sondage. Pour ce faire, tape !go sur le channel. Mais ne tarde pas, au bout de deux minutes, j'efface toutes les données si le sondage n'est pas commencé. 120... 119... 118...
set %sond.go ok
timer2 1 120 timeEnd
}
alias timeEnd {
notice %sond.nick Je t'avais prévenu, les deux minutes se sont écoulées. A pu les jolies données de %sond.nick !!!
unset %sond*
}
on %sond.nick:text:!go:#: {
set %sond.chan $chan
timer2 off
notice $nick Le sondage va commencer. Surtout, soit patient, le temps d'initialiser les données.
msg $chan Un sondage va bientôt commencer. Patientez un petit instant.
timer3 1 10 sondStart
}
alias sondStart {
msg %sond.chan %sond.nick $+ ( $+ %sond.nick.host $+ ) vous propose un petit sondage comportant 1 question et %sond.param.nbrep réponse(s).
msg %sond.chan Le sondage s'intitule: %sond.param.titre
msg %sond.chan La question est: %sond.param.question
msg %sond.chan Les réponses sont (veuillez patienter si chargement il y a):
questionListe
}
alias questionListe {
inc %i
msg %sond.chan %1 $+ ) %sond.param.reponse. $+ %i (tapez !sond %i $+ )
if (%i == sond.param.nbrep) {
msg %sond.chan Vous avez %sond.param.timer secondes pour répondre.
timer00 1 %sond.param.timer FinDuSondage
}
else {
questionListe
}
}
on *:text:!sond*:%sond.chan: {
if ($nick != %sond.nick) && (!%sond.avote. $+ $address($nick, 2)) {
set %sond.avote. $+ $address($nick, 4) a voté
notice $nick Merci d'avoir voté (ne pas recommencer, de toutes facons, c'est impossible).
inc %sond.param.reponse. $+ $2 $+ .vote
inc %sond.total
pourcentages
}
}
alias FinDuSondage {
msg %sond.chan Le sondage: %sond.param.titre est terminé!
msg %sond.chan Il était proposé par %sond.nick $+ ( $+ %sond.nick.host $+ )
msg %sond.chan La question était: %sond.param.question
msg %sond.chan Vous aviez %sond.param.timer secondes pour y répondre.
msg %sond.chan Voici les résultats (merci de patienter si chargement il y a)
resultats
}
alias resultats {
inc %a
msg %sond.chan %sond.param.reponse. $+ %a $+ .vote votes pour: %sond.param.reponse. $+ %a ( %sond.param.reponse. $+ %a $+ .pourcent
if (%sond.param.reponse. $+ %a $+ .vote > %sond.derniere.vote) {
set %sond.gagnante %a
}
set %sond.derniere.vote %sond.param.reponse. $+ %a $+ .vote
if (%a == %sond.param.nbrep) {
msg %sond.chan Avec %sond.param.reponse. $+ %sond.gagnante $+ .vote votes sur un total de %sond.total $+ ( $+ %sond.param.reponse. $+ %sond.gagnante $+ .pourcent $+ ) , la réponse: %sond.param.reponse. $+ %sond.derniere.vote l'emporte!
unset %sond.*
unset %a
unset %i
unset %b
}
else {
resultats
}
}
alias pourcentages {
inc %b
set %sond.param.reponse. $+ %b $+ .pourcent $calc($calc(%sond.param.reponse. $+ %b $+ .vote*100)/%sond.total)
if (%b != %sond.param.nbrep) {
pourcentages
}
}
Conclusion
si vous avez trouvé des erreurs, des oublis, ou des fautes de syntaxe, prevenez moi... si vous voyez que j'ai confindu question avec reponse ca m'arive souvent, dites moi ou et je rectifierai... sinon tout m'a l'air parfait.
(je sais qu'on aurait pu abreger la liste des reponses disponnibles avec un for, mais j'ai oublié la syntaxe... ^^ bete hein)
alors pour le fonctionnement: on lance , si y'en a pas deja un enc orus ou en preparation avec !sondage le bot comence le formulaire en privé, demande la question, le nombre de reponses, le timer, puis les reponses, et enfin le titre. on donne sa voix avec !sond <num de la reponse> inutile d'essayer de voter plusieurs fois, l'host est enregistré et le createur du sondage n'a pas le droit non plus.
PS: si j'ai mis des trucs comme quoi y'a un chargement, ca depend du serveur, si il met du temps à faire ca ou pas... perso, sur le mien (pas celui ou je suis hein, l'autre) ca devrait ramer un peud e temps ent emps... pis ca fait fun, "patientez pendant le chargement"... ca fait serieux. bon, assez de blabla, passons aux commentaires.
Historique
- 16 juillet 2004 11:36:23 :
- correction d'un petit bug sur la variable %sond.start
- 16 juillet 2004 11:56:07 :
- rajout des pourcentages et correction de bugs
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
[MIX 2010] - TELECHARGEZ INTERNET EXPLORER 9 EN PREVIEW ![MIX 2010] - TELECHARGEZ INTERNET EXPLORER 9 EN PREVIEW ! par redo
La Preview de Windows Explorer 9 est maintenant disponible à l'adresse suivante : http://ie.microsoft.com/testdrive/ Cette version ne nécessite pas un redémarrage de votre machine pour être exploitée . Cette version est fonctionnelle mais reste cependant ...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - KEYNOTE DAY 2 ONLINE : WINDOWS INTERNET EXPLORER 9, JQUERY, ODATA ET DALLAS CTP2 ![MIX 2010] - KEYNOTE DAY 2 ONLINE : WINDOWS INTERNET EXPLORER 9, JQUERY, ODATA ET DALLAS CTP2 ! par redo
Dans la lignée du premier keynote, retrouvez la vidéo du second keynote en ligne : Visionnez la vidéo à l'url suivante : http://www.microsoft.com/presspass/events/mix/VideoGallery.aspx Vous y retrouverez ainsi les speakers Scott Guthrie, Dean Hachamovitch...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - RETOUR D'EXPéRIENCE DéVELOPPEMENT SEESMIC SUR WINDOWS PHONE 7[MIX 2010] - RETOUR D'EXPéRIENCE DéVELOPPEMENT SEESMIC SUR WINDOWS PHONE 7 par redo
En avant première, Loic le retour d'expérience de Loïc Le Meur du portage de l'application http://seesmic.com/ sur plateforme Windows Phone 7 . c'était d'ailleurs une des rares opportunités de tester, voir toucher le nouveau device . voyez par vous-même :...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - LE KEYNOTE DAY 1 DISPONIBLE ONLINE ![MIX 2010] - LE KEYNOTE DAY 1 DISPONIBLE ONLINE ! par redo
Si tout comme moi, vous avez manqué de peu le premier keynote du Microsoft Mix 2010, je vous invite à prendre deux heure et le consulter ci-dessous . Visionnez le Keynote à l'url suivante : http://www.microsoft.com/Presspass/events/mix/videoGallery.aspx?c...
Cliquez pour lire la suite de l'article par redo VISUAL STUDIO TALK SHOW: EF4VISUAL STUDIO TALK SHOW: EF4 par Matthieu MEZIL
La semaine dernière, j'étais à Montréal pour y animer des conférences sur Entity Framework. J'en ai profité pour enregister un podcast Visual Studio Talk Show que vous pouvez retrouver ici ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|