begin process at 2010 02 10 02:48:55
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

AddOns

 > SYSTEM DE NEWS

SYSTEM DE NEWS


 Information sur la source

Note :
Aucune note
Catégorie :AddOns Classé sous :System de-news, News, Commande-News Niveau :Débutant Date de création :24/11/2007 Date de mise à jour :28/11/2007 12:44:59 Vu :3 745

Auteur : minerbe

Ecrire un message privé
Commentaire sur cette source (16)
Ajouter un commentaire et/ou une note

 Description

System de news. Vous avez envie de faire passer une information spécial ou de laisser une trace de quelque chose, se system de news est présent pour vous.

!news : Pour les consultés
!addnews : Pour en ajouter une
!delnews : Pour en supprimer une

J'ai mit une protection pour !addnews et !delnews . Que les admin, op, owner, et propriétaire peut y toucher.

N'oublier pas de crée le fichier news.txt pour que les news puisse  s'ajouter

Source

  • on *:text:*:#: {
  • if ($strip($1) == !news) {
  • if (!$2) {
  • sendnews $nick
  • }
  • else {
  • if ($read(news.txt,$2)) {
  • .notice $nick News $2 : $read(news.txt,$2)
  • }
  • else {
  • .notice $nick News inexistante
  • }
  • }
  • }
  • elseif ($strip($1) == !addnews) {
  • if (!$istok(%protect,$nick,32) && !$istok(%owner,$nick,32) && !$istok(%master,$nick,32)) { notice $nick Accès refusé. | halt }
  • if ($2) {
  • write news.txt $2-
  • .notice $nick News ajoutée
  • }
  • else {
  • .notice $nick Entre le texte de la news $nick !
  • }
  • }
  • elseif ($strip($1) == !delnews) {
  • if (!$istok(%protect,$nick,32) && !$istok(%owner,$nick,32) && !$istok(%master,$nick,32)) { notice $nick Accès refusé. | halt }
  • if ($2) {
  • if ($2 <= $lines(news.txt)) {
  • write -dl $+ $2 news.txt
  • .notice $nick News $2 supprimée
  • }
  • else {
  • .notice $nick News inexistante !
  • }
  • }
  • else {
  • .notice $nick Entre le numéro de la news à supprimer !
  • }
  • }
  • ..................
  • Crée un fichier ALIASES:
  • alias sendnews {
  • if ($1) {
  • var %i 1
  • set %nbdnews $lines(news.txt)
  • if ((%nbdnews == 0) || (%nbdnews == $null)) {
  • .notice $nick Aucune news pour le moment
  • halt
  • }
  • while (%i <= %nbdnews) {
  • .notice $1 10( News %i ) 7 Poster a ( %time ) : $read(news.txt,%i)
  • inc %i
  • }
  • }
  • }
on *:text:*:#: {
  if ($strip($1) == !news) {
    if (!$2) {
      sendnews $nick
    }
    else {
      if ($read(news.txt,$2)) {
        .notice $nick News $2 : $read(news.txt,$2)
      }
      else {
        .notice $nick News inexistante
      }
    }
  }
  elseif ($strip($1) == !addnews) {
    if (!$istok(%protect,$nick,32) && !$istok(%owner,$nick,32) && !$istok(%master,$nick,32)) { notice $nick Accès refusé. | halt }
      if ($2) {
        write news.txt $2-
        .notice $nick News ajoutée
      }
      else {
        .notice $nick Entre le texte de la news $nick !
      }
    }
  elseif ($strip($1) == !delnews) {
    if (!$istok(%protect,$nick,32) && !$istok(%owner,$nick,32) && !$istok(%master,$nick,32)) { notice $nick Accès refusé. | halt }
      if ($2) {
        if ($2 <= $lines(news.txt)) {
          write -dl $+ $2 news.txt
          .notice $nick News $2 supprimée
        }
        else {
          .notice $nick News inexistante !
        }
      }
      else {
        .notice $nick Entre le numéro de la news à supprimer !
      }
    }
..................
Crée un fichier ALIASES:

alias sendnews {
  if ($1) {
    var %i 1
    set %nbdnews $lines(news.txt)
    if ((%nbdnews == 0) || (%nbdnews == $null)) {
      .notice $nick Aucune news pour le moment
      halt
    }
    while (%i <= %nbdnews) {
      .notice $1 10( News %i ) 7 Poster a ( %time ) : $read(news.txt,%i)
      inc %i
    }
  }
}

 Conclusion

Je suis ouvert a toute amélioration pour cette source.

N'oublier pas de crée le fichier news.txt

J'attend une note et des réponces de vous tous.

Merci =]


 Historique

24 novembre 2007 21:45:17 :
Modification mineur du code
25 novembre 2007 12:55:15 :
.notice rajouter ^^
25 novembre 2007 12:58:04 :
Suppression de: alias admin { if ($1) { unset %isadmin var %i 1 set %nbdlignesadmins $lines(admins.txt) { while (%i <= %nbdlignesadmins) { if ($read(admins.txt,%i) == $1) { set %isadmin oui } inc %i } } if (%isadmin == oui) { return $true } else { return $false } } }
25 novembre 2007 12:59:55 :
Suppression de morceau de la commande. Alias admin.txt ...
28 novembre 2007 12:44:59 :
Suppression de if ($nick) == $true) { Ps:Merci wims =]

 Sources du même auteur

S'ENREGISTRER AUPRÈS DE SON BOT
Source avec Zip UNE COMMANDE POUR AJOUTER VOS BLAGUE
COMMANDE DE PING POUR BOT

 Sources de la même categorie

BLACKLIST PSEUDOS/MASKS par usurpateur
Source avec une capture [XCHAT] ANTI KICK / AWAY C++ par GeroXXXX
JEU DU CODE par alanpersonproject
SERVEUR FTP par hisoka2501
BANNIR LES AGES, LES HOMMES, LES FEMMES ET PSEUDO AVEC CHIFF... par cougar_du_havre

 Sources en rapport avec celle ci

NEWS/TEST (DIALOG) JEUXVIDEO.COM par Nossoux
Source avec une capture DERNIERES INFOS DU NET. (SITE PC INPACT) par AgoRa_ScripT
Source avec une capture NEWS PC INPACT (BIS) par fjxokt

Commentaires et avis

Commentaire de minerbe le 25/11/2007 10:09:33

J'attend vos note et vos amélioration =] merci

Commentaire de RCA ArKanis le 25/11/2007 12:11:42

ma remarque : OH MON DIEU !!!

74 :    set %nbdlignesadmins $lines(admins.txt) {
tu m'expliques ?!
Pourquoi tu utilises deux variables globales alors que cet alias ne fait que retourner une valeur ?!

change le nom de ton alias, il est si banal ... et passe le en local

alias -l news.isadmin {
  if ($read(admins.txt,s,$1)) return 1
  return 0
}
devrait fonctionner ...

17 ET 32:   if ($nick) == $true) {
tu l'as testé ton code, sérieusement ? ... Je crois qu'en fait tu l'as codé tout de suite sur le site ... c'est pas possible autrement

fais un tokenize 32 $strip($1-) au tout début de ton ON TEXT, ça t'évitera d'utiliser $strip tout le temps, et fonctionnera aussi sur $2

Tu devrais instaurer un système d'anti-flood, il est tellement facile de faire flooder le bot avec ce code ...

Nul besoin de créer le fichier news.txt comme tu le disais ...

Les variables %owner, %protect, %master, ... n'existent pas chez moi, je suppose que je ne suis pas le seul dans ce cas.

Tu nous donnes l'alias admin (qui serait vraisemblablement utilisé comme identifieur) mais tu ne l'utilises même pas ... tu fais fort, vraiment

notice $1 10( News %i ) 7 Poster a ( %time )
Qu'est ce que cette variable %time ?

Ah mais j'ai compris, tu te fiches de nous, non ?
Ou alors c'est une blague, pour voir nos commentaires ... ça peut pas être autrement, sérieux.

Et pour finir, ton orthographe craint toujours autant ... Bosse ton français plutôt que la programmation, surtout celle en mIRC ...

Commentaire de minerbe le 25/11/2007 12:38:22

Je vois que tu fait toujours des remarque désobligante ^^
Et désolé pour mon orthographe ^^. Pas spécialement besoin d'etre fort en français pour la programmation. Je te signal que je code depuis peu. L'erreur est humaine c'est pas de ma faute si je fait des erreurs -_-

La variable time c'est pour leur exacte ou a été poser la news ^^ c'est pas indispensabe ^^ mais bon dans ton bot tu peut faire //set %time $time

Déjà je me fiche de personne, j'essaye de m'améliorer.

Et j'ai tester mon code je l'ai pas coder directement ici il marche très bien.
Pour les variables %owner %protect ... Sa peut se changer en fonction du site ^^. Et enfin pour

74 :    set %nbdlignesadmins $lines(admins.txt) {
tu m'expliques ?!
Pourquoi tu utilises deux variables globales alors que cet alias ne fait que retourner une valeur ?!

change le nom de ton alias, il est si banal ... et passe le en local

alias -l news.isadmin {
  if ($read(admins.txt,s,$1)) return 1
  return 0
}
devrait fonctionner .

Euh tu pourrais développer j'ai pas bien compris.
Merci ^^

Commentaire de RCA ArKanis le 25/11/2007 12:51:10

le { sur une ligne de /set, c'est du jamais vu ...
l'alias %nbdlignesadmins n'a aucune utilité à rester après l'éxécution du code, déjà qu'elle n'en a pas pendant ...

il fonctionne très bien ?!
le if ($nick) == true) {, tu rigoles ?!

"Pour les variables %owner %protect ... Sa peut se changer en fonction du site ^^."
et bien justement, il aurait été interessant que ça n'en dépende pas ...

"mais bon dans ton bot tu peut faire //set %time $time"
c'est à nous de le faire ? non mais là c'est fort, tu te rends même pas compte de ce que tu dis ...
Il n'y aura en plus aucun rapport entre l'heure de la news et l'heure à laquelle on tape cette ligne.

Au passage, autant ne pas utiliser d'alias sendnews, vu qu'il n'est utilisé qu'une fois. Il vaudrait mieux le caser là où il est appelé

Qu'est ce que tu n'as pas compris dans mon commentaire ? J'ai du mal à voir ce qui bloque ...

Dernière remarque : tu n'as aucune continuité dans ta programmation, tu mets des points devant des notices, mais pas devant toutes, tu nous expliques pourquoi ?

Commentaire de wims le 25/11/2007 16:00:48

"Je vois que tu fait toujours des remarque désobligante ^^"

Donc c'est de sa faute si ton code n'a rien a faire ici ?
Tu as le droit de débuté, certes, mais tu a le devoir de respecter les règles du site, càd que tes sources sont mal codés, inutiles, il manque des bouts de code,et pas pratique puisque l'on doit rajouté nous même des trucs.

Ensuite tu dis que ton code marche, mais le :
"if ($nick) == $true) {"
ça c'est faux, et ça ne fonctionne pas.

Encore une fois, si tu avais posté ton code dans le forum par exemple, tu aurait pu avoir les remarques qu'a fait ArKanis, bien moins agressivement.

Commentaire de uaip le 26/11/2007 17:20:28

Roo, je voulais être le premier a répondre, mais ce n'est pas le cas.
Minerbe, je comprends mieux pourquoi tu m'as demandé comment faire un tokenize l'autre fois, et je t'ai répondu tokenize 32 $strip($1-), tout comme l'a fait Arkanis (donc pas besoin de me demander).

Ensuite, les même remarques:
- un /write créé le fichier.txt s'il n'existe pas (donc pas besoin de le créer nous-même)

- l'alias sendnews est inutile... ca prend 20 lignes alors que 4 ou 5 suffisent (j'ai pas compté :p)

- comme je te l'ai toujours dit, dans un if, il faut toujours que le nombre de ( soit égal à celui des ) or dans "if ($nick) == $true) {" ce n'est pas le cas, et si ca marche chez toi, c'est un coup de chance :)

Bref, une petite astuce, avant de poster un code, on le teste sur un client VIERGE, et on regarde si tout marche, ca évitera les variables inconnues (spécifiques a ton script) ou des erreurs comme ton if ())
Bonne continuation :)

Commentaire de kakulupia44 le 26/11/2007 19:29:10

wins ; arkanis sa fait un moment que je vous li sur se site a part faire des remarque tous le temps qui sert a rein en plus regardé vos propre code avant son pas mieux ; le but ses de aidé pas se foutre de la gueule des gens comme vous le faite pfffffffff KenShin

Commentaire de wims le 26/11/2007 20:47:01

Franchement ? Ga!

Commentaire de RCA ArKanis le 26/11/2007 21:13:59

alors là, ça dépasse tout ce que j'ai pu imaginer jusqu'alors ... tu fais dans le comique ? :(

De minerbe :
Je suis ouvert a toute amélioration pour cette source.
J'attend une note et des réponces de vous tous.

Trouves-tu que ton commentaire est plus utile que le mien ? Qu'est ce que ton commentaire apporte ?
Laisse moi te le dire ... il ne sert à rien, tout comme cette source qui ne fonctionne pas ...

Tu trouves que tu l'as aidé ? Je ne l'ai p'tet pas aidé moi ? Ah ouais, excuse moi, mes 20 lignes d'optimisations, corrections et conseils ne sont pas à la hauteur de ton commentaire minable.

Es-tu réellement allé voir nos premières sources ? Je suis sûr qu'elles n'étaient pas si bien que ça certes, mais elles ont (avaient ?) au moins le mérite de fonctionner dès leur sortie ...

Balancer un code qui ne fonctionne pas, tout le monde peut le faire ... et je suis sûr que tu le peux toi aussi vu que l'orthographe que tu utilises correspond tout à fait à celle des codeurs acharnés à balancer des codes pourris.

Comme je l'avais déjà dit il y a de cela quelques semaines, il vaut mieux que le scripting mIRC crève en ayant eu une belle fin plutôt que de dériver en un coding d'abruti, mélé à une immaturité jamais rencontrée auparavant, ce qui lui ferait perdre toute crédibilité.
A bon entendeur

Commentaire de kakulupia44 le 26/11/2007 22:10:23

humm arkanis tu a plus de bagou sur le forum que quand tu a la personne devant toi certe mon commentaire la pas aidé ; enfin bon aprés avoir discuté sur votre serveur j'avoue que j'ai été fort avec vous deux , quand a mon orthographe elle est comme elle ; et si elle vous plais pas c la même chose

Ps : sur le code de minerbe  Wins et arkanis on pas tort essayé de testé vos code avant de les posés sa devient vraiment n'importe quoi ici
cordialement
KenShin

Commentaire de minerbe le 27/11/2007 17:15:05

Je tien a dire que mon code marche très bien peut-être que comme uaip a dit c'est un coup de chance. Mais regarder l'attitude de uaip qui m'explique calmement et l'attitude de Arkanis, franchement arkanis si c'est pour faire des remarques comme sa tu peut très bien te les garder.

La ligne if ($nick) == $true) { je pourrais la supprimer non ?

Merci ...

[ Minerbe ]

Commentaire de RCA ArKanis le 27/11/2007 17:21:37

franchement minerbe, si c'est pour faire dess sources comme ça, tu peux très bien te les garder ...

Le problème avec toi minerbe, c'est qu'à chacune de tes sources on te sort les mêmes commentaires, malgré le fait que tu nous demandes des conseils, et tu n'en tiens pas compte ... va voir tes sources, tu verras plein de nouveaux commentaires que tu n'as jamais vu ...

quitte à supprimer la ligne, autant supprimer la source, non ?

Commentaire de wims le 27/11/2007 20:18:06

"- comme je te l'ai toujours dit, dans un if, il faut toujours que le nombre de ( soit égal à celui des ) or dans "if ($nick) == $true) {" ce n'est pas le cas, et si ca marche chez toi, c'est un coup de chance :)"

As tu déjà vérifier ce que tu dis :?
//if a() != a(((() { echo -a ok } < contre exemple
mais bon, je devine que tu disais ça uniquement au niveau des parenthèses de condition :)
Je ne sais pas sur quelle version de mirc minerbe travaille, mais il y a un bug par rapport a cette ligne de code, je vais faire des essais...

Commentaire de wims le 27/11/2007 21:09:03

Ok donc je pensais que c'étais un bug, mais non :
http://trout.snt.utwente.nl/ubbthreads/ubbthreads.php?ubb=showflat&Number=190846&page=1

Donc en fait, le code doit uniquement provoquer une erreur au niveau du server (dans la fenetre status) et mirc continue a traité le code, donc c'est comme si cette ligne n'existait pas (if ($nick) == $true) {)
Cependant, dans un evenement on text, qui regarde pour les message privé, $nick est normalement toujours '$true' donc la ligne est inutile.

Commentaire de minerbe le 28/11/2007 12:44:10

D'accord merci beaucoup wims je vais supprimer cette ligne =]

Commentaire de XyLOng le 22/03/2008 20:25:25

Exacetment

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

antifllood [ par AniMa ] voila suis a la creation d'un micro script qui quand un user tap !news des news son envoye par mon intermediere j'aimerais ajouter un antiflood specif Besoin d'aide [ par Xavier_be ] Bonjour,Voila, je m'y connait pas beaucoups dans le scriptage ou autre qui tourne autour de mirc.Voila je cherche le moyen suivant:Kant je fait cela d prb de module de news [ par aeropad ] voila le probleme! g utiliser un script de news trouvé ici même et je l'ai modif un peu. mais c pas ca le prb :)le probleme c que je voudrais que les Aide bot news [ par dave_boulanger ] qqun peut me dire ce qui ne va pas avec ma sourceOn *:text:@newsfr:#:{ write -c news\newsfr.txt $$1 notice $nick News ajoutée (francais)}je veut qui News en socket - clubic.com [ par neo66 ] Bonjour,Je voudrais recupéré une des DERNIERES BREVES ACTU qui se trouve a la page:http://www.clubic.com/n/Voici le debut de mon code:on *:sockopen:ne svp aidez moi pour socket news [ par nocomment ] Bonjour je cherche désésperement une remote sur plein de site qui serai capable de dire les news sur un canal en tapant par exemple !news sur le gener Help script news [ par masseur ] Salut.Je vient de tester ce scripthttp://www.ircfr.com/code.aspx?ID=21446Quand je tape /koloznews ca m'ouvre un menu pour rajouter des news etc.J'aout Sockets [ par Milk0z ] Voila, bonjour all jusqu'a maintenant je codais juste des petites choses mais je me suis mit aux sockets et dialogs , le dialogs je les geres pas mal Annonce de news ... [ par DragoonMaster ] Voila, j'aimerais faire un bot, qui annonce toutes les nouvelles news de mon site, sur mon chan .... Pour ce faire, j'ai trouv&#233; differentes chose Modification d'un .txt et utilisation concrete ... [ par DragoonMaster ] Je m'explique, J'ai un code qui me lis via socket un fichier rss sur un site et qui me le copie sur un .txt en local. et qui ensuite copie le contenue


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,357 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales