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
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Forum
RE : AIDERE : AIDE par Nico26000
Cliquez pour lire la suite par Nico26000 RE : AIDERE : AIDE par WorldDMT
Cliquez pour lire la suite par WorldDMT AIDEAIDE par Nico26000
Cliquez pour lire la suite par Nico26000
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|