Konversation/Scripts/Ghosttrick: Difference between revisions

From KDE Wiki Sandbox
m (fix the brackets)
(Add notes for KF5 variant)
 
(One intermediate revision by one other user not shown)
Line 6: Line 6:


<!--T:2-->
<!--T:2-->
Hence, you would have to put something like this into the user-local scripts folder (~/.kde/share/apps/konversation/scripts), under the name "getnickback", and mark it as executable:
Hence, you would have to put something like this into the user-local scripts folder (KDE3 & KDE4: <tt>~/.kde/share/apps/konversation/scripts</tt>, KF5: <tt>~/.local/share/konversation/scripts</tt>), under the name "getnickback", and mark it as executable:


<!--T:3-->
<!--T:3-->
; For KDE 3.5 use this here:
; For KDE 3.5 use this here:
<syntaxhighlight lang="php" line>
<!--}}-->{{Input|<syntaxhighlight lang="php" line>
#!/bin/sh
#!/bin/sh


Line 36: Line 36:
# now identify yourself at the server
# now identify yourself at the server
dcop $PORT default raw $SERVER "PRIVMSG nickserv :IDENTIFY $pass"
dcop $PORT default raw $SERVER "PRIVMSG nickserv :IDENTIFY $pass"
</syntaxhighlight>
</syntaxhighlight>}}<!--{{-->


<!--T:9-->
<!--T:9-->
; As KDE 4 has changed to dbus instead of dcop use this version for KDE 4:
; As KDE 4 and later has changed to use D-Bus instead of DCOP, use this variant for versions based on kdelibs4 or KF5:
<!--}}-->{{Input|<syntaxhighlight lang="php" line>
<!--}}-->{{Input|<syntaxhighlight lang="php" line>
#!/bin/sh
#!/bin/sh

Latest revision as of 15:09, 3 June 2016

Other languages:

The settings of a network contain a "Commands" field which can be used to run input line commands upon a connection to that network being established. In that field, there's a special "%nick" variable available which expands into the current nickname. This can be combined with the /exec command to run an external script that evaluates whether the nickname is the desired nick, and if not, use Konversation's DCOP IPC interface to make it send the ghost command to nickserv.

Hence, you would have to put something like this into the user-local scripts folder (KDE3 & KDE4: ~/.kde/share/apps/konversation/scripts, KF5: ~/.local/share/konversation/scripts), under the name "getnickback", and mark it as executable:

For KDE 3.5 use this here
#!/bin/sh

nick=********           # your desired nickanme
pass=********           # the according password

# don't edit below #

PORT=$1
SERVER=$2
NICK=$4

# if your current assigned nick isn't the same as your desired one, ghost yourself and change nick
if [ "$NICK" != "$nick" ]
then
  dcop $PORT default raw $SERVER "PRIVMSG nickserv :GHOST $nick $pass"
  dcop $PORT default raw $SERVER "/nick $nick"
fi

# now identify yourself at the server
dcop $PORT default raw $SERVER "PRIVMSG nickserv :IDENTIFY $pass"
As KDE 4 and later has changed to use D-Bus instead of DCOP, use this variant for versions based on kdelibs4 or KF5
#!/bin/sh

nick=********           # your desired nickanme
pass=********           # the according password

# don't edit below #

CONNECTION=$1
NICK=$3

# if your current assigned nick isn't the same as your desired one, ghost yourself and change nick
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

# now identify yourself at the server
qdbus org.kde.konversation /irc raw $CONNECTION "PRIVMSG nickserv :IDENTIFY $pass"

Notice the nick and password settings you need to fill in as you need them to be. Then, into the network's "Commands" field put /exec getnickback %nick