2017-09-15 10 views
0

コマンドラインからPidginインスタントメッセンジャーで自分のステータス(Available/Busy/Awayなど)を設定/変更する方法はありますか?私は私の画面をロックするたびに私の状態が「離れて」変わることを確認するためにこれが必要でした。私は 'awayonlock'プラグインをインストールしましたが、MATEデスクトップ環境では動作しません。ピジンのステータスをコマンドラインから設定する方法は?

+0

何かを: '$ pidgin-client --state" dont_disturb "--text-state" B55ルームで11時から12時まで会議 " –

+0

@ Goran.it:私は 'pidgin-client'というプログラムを持っていません。私のDebian 8マシンで。私が持っているのは「ピジン」と「ピジン・オグ」です。私はこれらの両方であなたのコマンドを試してみると、うまくいかないようです。 –

+0

たぶんあなたは 'purple-remote 'setstatusを試してみることができますか?status = away&message = AFK" '..私はどのプログラムがubuntuにpidginでインストールされるのかよくわかりません。詳細はこちらをご覧ください:http://www.commandlinefu.com/commands/view/4554/change-pidgin-status –

答えて

0

私はこれを行うためのシンプルなPythonスクリプトを作成することができました:

set_im_status.py今

#!/usr/local/bin/python 

import sys 
import dbus, gobject 
from dbus.mainloop.glib import DBusGMainLoop 

dbus_loop = DBusGMainLoop() 

bus = dbus.SessionBus(mainloop=dbus_loop) 
dbus_obj = bus.get_object("im.pidgin.purple.PurpleService", "/im/pidgin/purple/PurpleObject") 
purple = dbus.Interface(dbus_obj, "im.pidgin.purple.PurpleInterface") 

status = sys.argv[1] 

# Available 
if status == "a": 
    status_id = dbus.String(u'available') 

# Busy 
elif status == "b": 
    status_id = dbus.String(u'unavailable') 

# Away 
elif status == "w":  
    status_id = dbus.String(u'away') 

# Invisible 
elif status == "i": 
    status_id = dbus.String(u'invisible') 

# Offline 
elif status == "f": 
    status_id = dbus.String(u'offline') 

else: 
    status_id = dbus.String(u'available') 

status_type = purple.PurplePrimitiveGetTypeFromId(status_id) 
saved = purple.PurpleSavedstatusNew("", status_type) 
purple.PurpleSavedstatusActivate(saved) 

、 'ビジー' にステータスを設定実行するために:のような% python set_im_status.py b

関連する問題