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
TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : ON RAWMODERE : ON RAWMODE par WorldDMT
Cliquez pour lire la suite par WorldDMT AVERTISSMENT ET KIKKAVERTISSMENT ET KIKK par mouhcine951990
Cliquez pour lire la suite par mouhcine951990
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|