G-news un ptit bot de news sympa fait en 10 minutes =)

Contenu du snippet

Voila, je vous présente un petit bot que j'ai créé lors d'une révision d'un DS de maths lol.
Au début c'était pour un ami, puis finalement je l'ai mit ici.

Pour le faire fonctionner, créez un fichier news.txt avec les news dedans sous le format :

Site bidule ouvert !
Machin a eu 16 ans le 10 decembre
Je me suis niqué le doigt dans une porte !!

Et un fichier admins.txt qui contient le pseudo des personnes ayant le droit d'ajouter ou de supprimer des news. Exemple :

G-FACTION
bidule
machin

Commandes : !commandes !news [numero] !addnews <contenu> !delnews <numero>

Ce qui est entre [] est optionnel.
Entre <> obligatoire

Enjoy :)

×××G-FACTION×××

Source / Exemple :


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 News %i : $read(news.txt,%i)
      inc %i
    }
  }
}

on *:connect: {
  fullname Bot de news créé par G-FACTION (g-faction@fr.st)
}

on *:text:*:#: {
  if ($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 ($1 == !addnews) {
    if ($admin($nick) == $true) {
      if ($2) {
        write news.txt $2-
        msg $chan News ajoutée
      }
      else {
        msg $chan Entre le texte de la news $nick !
      }
    }
    else {
      msg $chan Désolé, mais tu dois être administrateur du bot :p
    }
  }
  elseif ($1 == !delnews) {
    if ($admin($nick) == $true) {
      if ($2) {
        if ($2 <= $lines(news.txt)) {
          write -dl $+ $2 news.txt
          msg $chan News $2 supprimée
        }
        else {
          msg $chan News inexistante !
        }
      }
      else {
        msg $chan Entre le numéro de la news à supprimer !
      }
    }
    else {
      msg $chan Désolé, mais tu dois être administrateur du bot :p
    }
  }
  elseif ($1 == !infos) {
    msg $chan 4Bot de news créé par G-FACTION (g-faction@fr.st)
  }
  elseif ($1 == !commandes) {
    msg $chan Commandes : !news [numero] !addnews <texte> !delnews <numero> !infos
  }
}

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
    }
  }
}

Conclusion :


Voila, sté simple. Vos impressions now :p

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.