Konversation/Скрипти/Ghosttrick

From KDE Wiki Sandbox
This page is a translated version of the page Konversation/Scripts/Ghosttrick and the translation is 100% complete.
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