Crie lembretes de equipe com Hubot

Os scripts Hubot vêm com um script de lembretes . É ótimo, mas (propositalmente?) Está faltando a capacidade de adicionar lembretes para sua equipe. Veja como adicionei notificações de equipe.

Neste bit, adicionamos uma correspondência regex extra para capturar who. Todo o resto é idêntico ao script original.

robot.respond /(remind )(.*) in ((?:(?:d+) (?:weeks?|days?|hours?|hrs?|minutes?|mins?|seconds?|secs?)[ ,]*(?:and)? +)+)to (.*)/i, (msg) ->
who
= msg.match[2]
time
= msg.match[3]
action
= msg.match[4]

Hubot vem com uma pesquisa de fuzzyname incrivelmente útil. Então vá em frente e abrevie o nome de seus companheiros de equipe, apenas certifique-se de ser específico o suficiente para que não haja vários resultados.

users = robot.brain.usersForFuzzyName(who)
if users.length is 1
user
= users[0]

Esta é a mudança fundamental. A maioria dos scripts hubot padrão responde à pessoa que escreveu a solicitação, aqui precisamos definir o usuário dentro de msg.envelope.user para aquele que capturamos acima.

msg.envelope.user = user

E, finalmente, crie o lembrete.

reminder = new Reminder msg.envelope, time, action
reminders
.add reminder

Se achar isso útil, você pode adicionar este código ao final do script remova.coffee encontrado em hubot-scripts e movê-lo onde quer que você esteja carregando seus scripts.