SYSTÈME DE QUOTES PUBLIC

KainKiller Messages postés 21 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 8 août 2006 - 9 juin 2006 à 19:35
chiwi1 Messages postés 1 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 29 septembre 2012 - 29 sept. 2012 à 01:53
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/38025-systeme-de-quotes-public

chiwi1 Messages postés 1 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 29 septembre 2012
29 sept. 2012 à 01:53
bonsoir je viens un peu plus tard mais j'expose mon probleme a se super quoteur, avec quelque confrères on essaie de mettre une variable pour pouvoir mettre les quotes sur php mais petit soucis on ne peut pas mettre le code n'importe ou:

$address($nick,5) a effacé : %delread_quote
(delquote $$2-)<<<<<< je pensais le mettre ici mais ca fonctionne pas>>>>>>>>>>
.msg botserv say $chan Quote n° $+ %delquote_number effacée.
}

alors j'ai essayé de le mettre ici:

elseif ($strip($1) == !delquote) {
(delquote $$2-)<<<<<>>>>>>>
quotessetup

mais ici ça del comme on veut et tout le monde peut le faire ce qui fausse complétement et j'aimerais pouvoir me servir du code créer donc ca me plais pas, alors si quelqu'un ou le createur a une reponse a ceci ce serais super.
merci a vous.
Cloud
MenzAgitat Messages postés 8 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 5 mars 2007
12 oct. 2006 à 13:55
Pas de souci, je reste à ta disposition.
_EnZoO77 Messages postés 8 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 mai 2007
7 oct. 2006 à 17:41
oui MenzAgitat j'ai tt fait comme c'est expliqué dans le code !
mon bot a un level assez elevé pour faire parler BotServ !
je ne comprend pas je vais tt refaire pour voir , je te tien au courant :)
MenzAgitat Messages postés 8 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 5 mars 2007
5 oct. 2006 à 19:00
_EnZoO77 : as-tu bien suivi les étapes de l'installation comme il est expliqué ? as-tu paramétré la section configuration du script (et tout particulièrement la variable %quotes_channels) ?
_EnZoO77 Messages postés 8 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 mai 2007
4 oct. 2006 à 01:14
bonsoir :)
je viens de d'essayer cette source que je trouves interessante , mais apres plusieurs essais , impossible d'ajouter une quote , de meme que le fichier.txt (quotes.txt) ne se crer pas ..
si vous pouviez m'eclairer ca serait pas de refus :) !
merci d'avance
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
13 juin 2006 à 21:31
salut,
Comme l'a dit wims, je ne souhaitais pas être "acide" avec toi, ni te descendre, mais je t'expliquais juste ce qui faisait que ta source ne soit pas de niveau initié.
Je suis désolé mais je ne comprends pas par exemple comment ton code peut être aussi gros.
Beaucoup de choses peuvent être améliorées, on te le dit, mais ça semble plus te froisser qu'autre chose.
Biensur que tu peux faire de cette source une source de niveau initié, mais dans ce cas, utilise des outils "d'initié" , plus performants que ceux de "débutants" (cf. Isoka)
(Ce serait moi, je n'utiliserai d'ailleurs que les hashtables, et pas de txt)
Enfin bref, tu fais ce que tu veux de nos commentaires...
MenzAgitat Messages postés 8 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 5 mars 2007
13 juin 2006 à 21:24
Tu as toujours réponse à tout hein ^^
Je ne cherche pas à avoir le dernier mot, je passe donc à autre chose. Bonne continuation à tous.
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008
13 juin 2006 à 21:07
Bonsoir,
Alors, si j'ai pri la peine de te faire des remarques sur ton code, et donc de le lire, c'est justement pour faire des choses constructives. Ensuite il me semble pas que regrouper tes actions grace aux regex pour input et on text, ni faire du file handling dans ton while au lieu de $read et write, ni tes unload en series alors qu'avec un mask c'est quand mm beaucoup plus propre, ce soit de la masturbation intelectuelle, mais bien une réelle optimisation de ton code. Si je t'ai di "pour un initié ca devrai pas poser de probs" c'est pck si dés le debut tu avait mis ta source en débutant j'aurai surement pas parlé de regex ou file handling, estimant que ces notions leurs sont souvent etrangeres (meme si j'estime etre plus que debutant moi meme). Quand je post sur une source pour dire ce qui "à mon avis" pourrai etre optimisé\amélioré je vai pas le faire de facon administrative et completement inpersonelles. Si ton égo fait que tu prends tout comme une attaque, soit je m'en souviendrai et eviterai simplement de donné mon avi sur tes prochaines sources.
Cdlt
ISoKa
P.S: il me semblait que le but de poster des sources ici etait certes de fournir des choses interessantes voir innovantes aux gens, mais avant tout de pouvoir grace à des regards exterieurs essayer d'améliorer son codage.
MenzAgitat Messages postés 8 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 5 mars 2007
13 juin 2006 à 20:48
C'est de la masturbation de cerveau là... y'aura toujours moyen d'optimiser plus blanc que blanc mais faut savoir s'arrêter. Ptet je verrai pour fusionner les commandes privées et publiques au moyen des regular expressions car c'est vrai que c'est pas une mauvaise idée.

Par contre, les sarcasmes du genre "j'pense que pour un initier c pas un prob à faire ;)", franchement .... bref, je vois pas le rapport ni l'utilité ici, à part que ça t'a sans doute fait du bien.
Les commentaires qui se terminent en joute verbale ne m'intéressent pas mais je suis toujours ouvert à la critique constructive.
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008
13 juin 2006 à 01:28
lol oué tu m'etonnes :P
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
13 juin 2006 à 01:25
Les . devant les /msg ne servent a rien =]
Si Si Isoka, répondre sur les forums a 1h15 c'est très special
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008
13 juin 2006 à 01:18
encore quelques trucs que je voi en passant:
- .msg botserv say $chan  $+ %nbr_findquote_results résultat a été trouvé << une raison particuliere à ce $+ ?

- alias -l backupquotes {
.timerbackupquotes off
if ( !$exists(quotes.txt) ) { goto skipbackup }
if ( !%quotesbackupstatus ) { set %quotesbackupstatus 0 }
if ( %quotesbackupstatus < %quotesbackupnumber ) { inc %quotesbackupstatus }
else { set %quotesbackupstatus 1 }
devient :
alias -l backupquotes {
.timerbackupquotes off
if ( !$exists(quotes.txt) ) { goto skipbackup }
else { set %quotesbackupstatus 1 }

les 2 lignes en plus que tu as mises sont à mon avi inutiles vu qu'elles resultent tjs il me semble à ce meme résultat.
( tu as rien de spécial à faire toi non plus wims :p ? lol )
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
13 juin 2006 à 01:09
si tu peux jouer au ptite optimisation on a pas finis :d

Au lieu de mettre des /halt partout, met des return :)
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008
13 juin 2006 à 01:05
dans ton unload :
unset %setcmdflood.addquote | unset %setcmdflood.quote
unset %setcmdflood.quoteinfo | unset %setcmdflood.delquote
unset %setcmdflood.randquote | unset %setcmdflood.lastquote
unset %setcmdflood.findquote

unset %setcmdflood.*

non ?
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
13 juin 2006 à 01:02
var %quote_author = $2 | var %quote_date = $3 | var %quote_time = $4
>>
var %quote_author $2 ,%quote_date $3 ,%quote_time = $4

;)
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008
13 juin 2006 à 00:51
ha oui aussi j'ai cru voir passer des $read et write dans des while fais du file handling c'est quand meme largement plus optimal dans ce genre de situations. pour le reste un peu le mm avi que les autres, mais pour le regroupement comme t'es di en alias tu gagnerai franchement en lisibilitée j'pense.
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008
13 juin 2006 à 00:41
oups pour etre plus précis, c'est { $regm(1) $2- } evidement
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008
13 juin 2006 à 00:39
heu qestion con :
- si j'ai bien suivi tu fais des commandes sur input et on text, à priori les réactions de ton truc sont les mêmes que ce soit en input ou on text sur le principe alors pk ne pas faire un truc du genre :
on 1:input:%quotes_channels:{
if ($regex($1,/^!((addquote|quote|quoteinfo|delquote|randquote|lastquote|findquote)$)/i)) { $regml(1) }
}
idem sur le on text et ainsi tu te crée des alias : addquote,quote,quoteinfo etc... tu reduirais de moitier ton code en gros. j'pense que pour un initier c pas un prob à faire ;)
KainKiller Messages postés 21 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 8 août 2006
12 juin 2006 à 12:35
"- if ( $exists(quotes.txt) == $false ) , pas besoin de verifier si c'est $false, tu peux tout simplement faire if ($exists(quotes.txt)) { .. }"
C'est plutot if (!$exists(quotes.txt))

effectivement ^^, oublie du "!" ..
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
11 juin 2006 à 18:46
Fjxokt n'est pas acide, il te dis pourquoi ton code n'est pas de niveau initié :)

Kainkiller tu dis :
"- if ($2 $null)> if (!$2) , pareil pour les autres."
Faut voir si $2 n'est pas egal a 0 au quel cas if (!$2) ne marchera pas.

Aussi :
"- if ( $exists(quotes.txt) == $false ) , pas besoin de verifier si c'est $false, tu peux tout simplement faire if ($exists(quotes.txt)) { .. }"
C'est plutot if (!$exists(quotes.txt))

Dans le code j'ai trouvé ca : $chr($asc([)) :x
$eval() == $()

Sinon tout a été dis (:
KainKiller Messages postés 21 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 8 août 2006
10 juin 2006 à 18:59
Ah, effectivement, autant pour moi..
MenzAgitat Messages postés 8 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 5 mars 2007
10 juin 2006 à 14:10
Je ne prétends rien du tout, j'ai juste trouvé que c'était un peu hermétique pour un débutant donc j'ai classé dans initié. C'est le 1er code source que je poste ici, je ne suis inscrit que depuis hier, je ne suis donc pas accoutûmé au classement. Et je ne fais pas ça pour montrer de quoi je suis capable mais plutôt pour en faire profiter à ceux que ça intéresse; ça ne me rapporte rien de publier mon travail ici, je ne le fais qu'en pensant aux autres donc inutile d'être acide avec moi (fjxokt).
Je suis en train de remettre en forme le tout en tenant compte des suggestions constructives de Kain, je ferai une mise à jour du source ce soir ou demain.
Précision : j'utilise bien des hash tables dans l'anti flood, ouvrez les yeux :p
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
10 juin 2006 à 10:24
désolé mais cette source (que je n'ai pas testé) n'est vraiment pas de niveau initié:
-variables globales à gogo
-unset de folie
-goto au lieu de while
-des $+ par milliers
-il faut éditer le remote pour changer les options (un dialog aurait été pas mal...)
-+ commentaires ci-dessus

Quand tu feras quelquechose de plus propre, sans toutes ces horreurs, en utilisant autre chose que des variables, peut être que ta source pourra être de niveau initié. (ce dont je doute puisque ce n'est qu'un systeme de quotes qui n'a normalement pas la prétention d'être complexe)
KainKiller Messages postés 21 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 8 août 2006
10 juin 2006 à 01:45
Pour le "initié" , je ne parlais pas de ton niveau mais du niveau de la source ^^ , qui, elle, ne contient pas de hashtables :)
Bonne soirée, Kain.
MenzAgitat Messages postés 8 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 5 mars 2007
9 juin 2006 à 20:23
Si si y'a des hash tables pour l'anti-flood ainsi qu'un petit algo de compression des hash tables :p

merci pour tes suggestions, j'en prends bonne note et je vais améliorer tout ça ;)
KainKiller Messages postés 21 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 8 août 2006
9 juin 2006 à 19:35
Relativement bien codé, assez d'options, commenté, c'est bien. Optimisations possibles:

- Les / ne servent à rien
- Tu pourrais regrouper tes on *:text:#:*:{ :

on *:text:#:*:{
if ($strip($1-) == !commande) { .. }
elseif ($strip($1-) == !commande2) { .. }
}

- if ($2 $null)> if (!$2) , pareil pour les autres.
- Tu devrais utiliser des variables locales à certains endroits, au lieu de set et unset, autant var.
- Beaucoup de $+ .. $+ .. ; pourquoi pas $+() ?
- if ( $exists(quotes.txt) == $false ) , pas besoin de verifier si c'est $false, tu peux tout simplement faire if ($exists(quotes.txt)) { .. }
- Tu pourrais utiliser les hashtables vu le nombre de variables dans ton code, ça raccourcirais et alegerais..

Je n'ai pas eu le temps de tout regarder..

A part ça, le code n'est pas mal, des commentaires, assez d'options. Niveau initié ? je ne sais pas, il n'y à rien de très difficile, pas de hashtables, binvar, etc.. 8/10 .

Bonne continuation, Kain.
Rejoignez-nous