Konversation/Скрипти/Ghosttrick

    From KDE UserBase Wiki
    Revision as of 14:19, 13 July 2019 by Yurchor (talk | contribs)
    (diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
    Other languages:

    У параметрах мережі є пункт «Команди», за допомогою якого можна наказати програмі виконати команди у разі встановлення з’єднання з мережею. У цьому полі можна скористатися особливою змінною "%nick", яка розгортається до поточного псевдоніма. Цю змінну можна поєднати з командою /exec з метою запуску зовнішнього скрипту, який визначатиме, чи є поточний псевдонім бажаним, і, якщо це не так, використати командний інтерфейс Konversation для надсилання команди ghost до сервера псевдонімів.

    Отже вам слід зберегти один з наведених нижче скриптів до теки скриптів користувача (KDE3 & KDE4:~/.kde/share/apps/konversation/scripts, KF5: ~/.local/share/konversation/scripts) під назвою "getnickback" і позначити файл для виконання:

    У KDE 3.5 використовуйте такий скрипт
    #!/bin/sh
    
    nick=********           # бажаний псевдонім
    pass=********           # відповідний пароль
    
    # текст нижче не змінюйте #
    
    PORT=$1
    SERVER=$2
    NICK=$4
    
    # якщо ваш поточний псевдонім не збігається з бажаним, приховатися і змінити псевдонім
    if [ "$NICK" != "$nick" ]
    then
      dcop $PORT default raw $SERVER "PRIVMSG nickserv :GHOST $nick $pass"
      dcop $PORT default raw $SERVER "/nick $nick"
    fi
    
    # ідентифікувати себе на сервері
    dcop $PORT default raw $SERVER "PRIVMSG nickserv :IDENTIFY $pass"
    
    Оскільки у KDE 4 і пізніших версіях D-Bus замінив собою DCOP, у версіях для kdelibs4 або KF5 слід користуватися цією версією
    #!/bin/sh
    
    nick=********          # бажаний псевдонім
    pass=********          # відповідний пароль
    
    # текст нижче не змінюйте #
    
    CONNECTION=$1
    NICK=$3
    
    # якщо ваш поточний псевдонім не збігається з бажаним, приховатися і змінити псевдонім
    if [ "$NICK" != "$nick" ]
    then
      qdbus org.kde.konversation /irc raw $CONNECTION "PRIVMSG nickserv :GHOST $nick $pass"
      qdbus org.kde.konversation /irc raw $CONNECTION "NICK $nick"
    fi
    
    # ідентифікувати себе на сервері
    qdbus org.kde.konversation /irc raw $CONNECTION "PRIVMSG nickserv :IDENTIFY $pass"
    

    Зауважте, що значення параметрів псевдоніма і пароля слід вказати явним чином. Потім у поле «Команди» мережі слід вказати /exec getnickback %nick