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.