Eigene Befehle schreiben

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Viele kennen das. Man möchte einen eigenen Befehl schreiben, der nicht viel können, dafür aber vorhanden sein soll.

    Dafür gibts hier mal ein kleines Tutorial.

    Also:
    Ihr öffnet die settings.dat und sucht nach:

    Quellcode

    1. custom_command_handlers => {
    2. '' => 'plugindir::CommandHandlers/TextCommands.pm',



    Darunter fügt ihr ein:

    Quellcode

    1. 'test' => 'plugindir::CommandHandlers/TextCommands.pm',


    Dies bewirkt das wenn jemand im Chat /test eingibt der Befehl erkannt wird und in der CommandHandlers/TextCommands.pm beschrieben wird!
    Und weiter:

    Nun sucht ihr nach:

    Quellcode

    1. log_messages => {
    2. 'text' => 1,


    Darunter fügt ihr ein:

    Quellcode

    1. 'test' => 1,



    Dies bewirkt das der Befehl /test von der ChatLog erkannt wird.

    Nun weiter:

    ihr sucht:

    Quellcode

    1. ignore_messages => {
    2. 'message' => 1,



    hier fügt ihr ein:

    Quellcode

    1. 'test' => 1,


    Dies bewirkt das der Befehl als Nachricht vom Chat ignoriert wird!

    Nun sucht ihr noch:

    Quellcode

    1. custom_output_params => {
    2. 'alive' => [],



    darunter:

    Quellcode

    1. 'test' => ['name','nick','color','text'],



    Hier werden die Parameter definiert die der Chat an die Datei TextCommands.pm übergeben muss!
    Nun ist unsere Arbeit in der settings.dat beendet jetzt wird ein Template im Ordner Templates_de/messages/ namens test.html(der Name ist der gleiche wie der vom Befehl) angelegt mit folgendem Inhalt:

    Quellcode

    1. {IF|$current_user.show_time}({GETTIME}) {ENDIF}<font color="{GET|$params.color}" class="bigtext"><b><a href="java script:void(0)" onfocus="resetFocus()" onclick="{IF|$params.name ne $current_user.name}{IF|$current_user.popup_privatemsg}writePrivateMsg('{GET
    2. _ESCAPED|$params.name}','{GET_ESCAPED|$params.nick}','');{ELSE}insertText('
    3. /msg {GET_JS|$params.nick} ');{ENDIF}{ENDIF}return false;" style="color:{GET|$params.color}">{GET|$params.nick}</a>
    4. hat das Tutorial erfolgreich absolviert, folgendes Text Parameter wurde
    5. mitgeliefert:</b> {DOFILTER|links|formatting|smileys}{GET|$params.text}{ENDDO}</font><br>



    Dies ist die eigentliche Wirkung des Befehls also das was der User nachher sieht!

    Jetzt erstellt ihr eine Template im Ordner Templates_de/log/ namens test.html und dem gleichen Inhalt wie das andere Template! Das ist nämlich die Anzeige in der Log!

    So jetzt noch etwas kleines :
    öffne die Plugins/CommandHandlers/TextCommands.pm uns suche nach:

    Quellcode

    1. command_handlers => {
    2. '' => \&text_handler,


    darunter fügst du jetzt ein:

    Quellcode

    1. 'test' => \&custom_handler,



    Ihr habt es geschafft der Befehl müsste jetzt folgendermaßen funktionieren : ihr geht in den Chat und gebt /test TEXT ein , die Ausgabe seht ihr selbst!

    Viel Spaß damit.

    Und nochwas natürlich:
    Ich übernehme keine Haftung falls dieses Script Schäden an eurem Chat hervorrufen sollte! Macht am besten vorher ein Backup aller Dateien!

    1.316 mal gelesen