using terms from application "Colloquy" on process user command theCommand with theArguments for theView try if theCommand is "gone" then if theArguments is not "" then tell chat room panels to send message "is away: " & theArguments with action tense tell connections set the away message to theArguments end tell do shell script "defaults write com.Colloquy.awayscript 'awaym' '" & theArguments & "'" do shell script "defaults write com.Colloquy.awayscript 'awayt' '" & (current date) & "'" else tell chat room panels to send message "is away (no reason was provided)" with action tense tell connections set the away message to "AwayScript for Colloquy by simon360" end tell do shell script "defaults write com.Colloquy.awayscript 'awaym' 'no reason was provided'" do shell script "defaults write com.Colloquy.awayscript 'awayt' '" & (current date) & "'" end if end if on error (err) tell theView to add event message err end try if theCommand is "back" then set awaymess to (do shell script "defaults read com.Colloquy.awayscript 'awaym'") set awaytime to (do shell script "defaults read com.Colloquy.awayscript 'awaym'") try if awaytime is not "" then set timestampr to (current date) - (date (do shell script "defaults read com.Colloquy.awayscript 'awayt'")) set ghours to (timestampr div hours) set gminutes to (timestampr - ((ghours * 60) * 60)) div minutes set gseconds to (timestampr - (timestampr div minutes * 60)) set gonetime to "Gone " & ghours & " hours, " & gminutes & " minutes, " & gseconds & " seconds." tell chat room panels to send message "is back (" & awaymess & "): " & gonetime with action tense tell connections set the away message to "" end tell do shell script "defaults write com.Colloquy.awayscript 'awayt' ''" else add event message "You were not set to away" end if on error (err) tell theView to add event message err end try end if return true end process user command end using terms from