-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathstatus.coffee
More file actions
34 lines (29 loc) · 1.13 KB
/
status.coffee
File metadata and controls
34 lines (29 loc) · 1.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Allows hubot to track user statuses with away messages.
#
# /status <message> - sets your status message
# /status - shows your current status message
# /clear - clears your status message
module.exports = (robot) ->
robot.hear /\/status (.*)/i, (msg) ->
user = msg.message.user
away_message = msg.match[1].trim()
robot.brain.data.users[user.id].away_message = away_message
msg.reply "I have set your status to \"#{away_message}\"."
robot.hear /\/status$/i, (msg) ->
user = msg.message.user
away_message = robot.brain.data.users[user.id].away_message
if away_message is null
msg.reply "You do not have a status message set."
else
msg.reply "Your current status is \"#{away_message}\"."
robot.hear /\/clear$/i, (msg) ->
user = msg.message.user
robot.brain.data.users[user.id].away_message = null
msg.reply "I have cleared your status message."
robot.hear /(.*)\:(.*)/i, (msg) ->
name = msg.match[1]
users = robot.brain.usersForFuzzyName(name)
if users.length is 1
user = users[0]
if user.away_message
msg.reply "#{name} is #{user.away_message}."