Klein testje


  • http://puu.sh/iRkm


    Voorbeeld output:

    PHP
    !isAdmin compared to regularUser
    !isAdmin compared to !admin
    !isAdmin compared to @operator
    !isAdmin compared to isAlsoOperator
    !isAdmin compared to isAlsoAdmin
    !isAdmin compared to !isAdmin
    !isAdmin compared to normalMember


    In alle gevallen is er geen admin aanwezig. Weet iemand waarom? Weet iemand hoe je dit oplost (kun je de code geven?)


    Ikzelf weet het al, maar ben een tijdje bezig geweest met debuggen om dat te moeten ontdekken.


    Enige kennis die je mogelijk nodig hebt:
    ! voor een naam betekent dat de persoon +ao rechten heeft op IRC. Dus zowel OP als admin rechten.
    @ betekent +o rechten, dus operator.
    Als een bot binnenkomt dan ziet hij de admins aan met een ! voor de naam. Komt een admin binnen nadag de bot binnen is gekomen dan krijgt deze geen ! voor de naam in de bot.


    Als je antwoord weet, stuur het graag per PM. Dan zeg ik of het goed is. Hier kunnen vragen gesteld worden om erachter proberen te komen :)


    Dit betreft overigens Java.

  • Guest, wil je besparen op je domeinnamen? (ad)
  • alleen de !admin lijkt me in aanmerking te komen, waarom hij die niet pakt zie ik ook niet helemaal in de rest klopt omdat je de ! + * toevoegd aan de al bestaande nick, en voor zover ik weet wordt met raw gegevens niet Nick meegegeven maar echt alleen de nick en niet de status van die persoon (in raw even van irc dan als ik me goed herinner).


    Verder de isOp() is een functie neem ik aan die zelf is geschreven, hoe wordt daar gekeken of hij wel de goede rechten heeft.


    edit;
    owh wait;


    hoe kan isAdmin gelijk staan aan regularUser?
    Met de code zoals jij erboven doet met .equal of sla ik nu echt 100% de plank ernaast :')?


    @truecrime, totaal niks mee te maken.


  • Hij hoort idd !admin als admin te accepteren, echter dit gebeurd dus niet.


    isOp is een functie binnen het framework wat gewoon werkt.


    Er staat nergens dat isAdmin gelijk staat aan regularUser.


    Edit:
    Oeps, heb verkeerde output neergezet :$

  • Citaat van Patrick

    Maar je voegt ieder zoals ik het zie telkens een * of ! toe om het te controleren? Wat in mijn oogzicht dan weer niet klopt?


    Dat komt erbij omdat wanneer een admin joint, en deze +ao stauts krijgt en dus admin wordt. Is het voor de gebruiker met ! Maar de bot haalt deze automisch weg en slaat op dat deze persoon +ao rechten heeft.

  • Citaat van Patrick

    Oke dat snap ik dus echt niet :P wat je nu zegt, ik snap wel van de +ao het shizzle, (geef mij alleen maar +o en +v maar goed.. :P) maar als je alleen de nick opslaat waarom compare je dan 2 nicks en niet gewoon 1?


    Bot zit in meerdere kanalen. Eerst keek ik of een persoon een admin was op basis van de host. Echter, sommige personen verwisselden steeds van host en was dus onbetrouwbaar. Ook vhosts veranderen soms.


    Daarom ben ik gestapt naar een basis van waarbij een admin een admin is zodra deze person +ao rechten heeft in een bepaalde kanaal. Ik zal daarom door alle gebruikers in de kanaal moeten zoeken en zodra ik de person vind iets returnen.

  • De output die je geeft kan naar mijn idee sowieso niet kloppen:


    - tussen 'compared to' en userNick staat in de voorbeeld code geen spatie, die staat wel in je gegeven output.
    - de output van userNick bevat hoofdletters, terwijl je de String declareert nadat er op een input string user.getNick() de methode toLowerCase() is aangeroepen.


    Het eerste probleem zou kunnen betekenen dat op de userNick variabele de trim() methode moet worden aangeroepen, maar de tweede is onverklaarbaar. Hoe zit dat?


    Ps. Schrijf unittests voor dergelijke methoden, dat scheelt...

  • Citaat van Dein

    Ik ben geen held in Java maar volgens mij als ik het script goed bekijk gaat hij altijd false terugsturen i.p.v true of false?


    Zodra de methode een return vind stop hij daar. Net zoals bij php.


    @Killing, ik heb zelf de output herschreven. Omdat hij bij nu werkt. heb natuurlijk geen zin om het kapot te schrijven.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!