Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

LimeChat2の自動不在スクリプトを作ってみた

ログイン後、もしくは自分の発言後一定時間発言しないと自動的にニックネームを指定した物に変え、不在設定にします。LimeChat2.34で動作確認済み

  1. 添付ファイルをダウンロードしてテキストエディタなどで開いてください
  2. コメントに従って自分の環境に合わせて書き換えてください
  3. 書き換えたファイルを保存してLimeChatのscriptフォルダに格納してください
  4. LimeChatのメニュー→設定→スクリプトの設定で表示されているファイルを右クリックしてスクリプトを有効にしてください(○が付きます)
  5. 動作確認してください(最初はintervalを10秒など短い時間で動作確認すると良いです)
// 以下は環境に合わせてカスタマイズしてください
var interval = 30 * 60 * 1000; // 30分(intervalはミリ秒単位なので1000倍で秒)
var nickname = 'PERMAN'
var away_nickname = 'PER_away'
var away_message = '席を外しています。'

// 以下変更不可
var timer_handle;

function event::onConnect()
{
  setTimer()
  log(timer_handle)
}

function event::onChannelText(prefix, channel, text)
{
  if (prefix.nick == myNick) {
    if(myNick == away_nickname) {
      away()
      nick(nickname)
    }
    clearInterval(timer_handle)
    setTimer()
  }
}

function setTimer()
{
  timer_handle = setInterval(changeNickname, interval)
}

function changeNickname()
{
  if(myNick == nickname && window.minimized == true)
  {
    nick(away_nickname)
    away(away_message)
  }
  else
  {
    log("retry")
    clearInterval(timer_handle)
    setTimer()
  }
}

2009/05/23
最小化しているときのみニックネームを変え不在に設定するように変更。
onChannelTextでwindow.minimized == true条件を追加し、そうでない場合はタイマーをセットしなおす処理を追加。