Konversation/Скрипти/Ghosttrick
У параметрах мережі є пункт «Команди», за допомогою якого можна наказати програмі виконати команди у разі встановлення з’єднання з мережею. У цьому полі можна скористатися особливою змінною "%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