Add contact handling

This commit is contained in:
rnhmjoj 2015-06-23 03:35:54 +02:00
parent 622b801143
commit 13da4c40b7

View File

@ -9,6 +9,7 @@
# hubot chi sono / cosa sai di me - mostra il tuo contatto nel registro di hubot
# hubot in che gruppi sei / dove scrivi - chiedi a hubot dove chatta
# hubot (mi inviti / invitami) (nel gruppo / in) - chiedi ad hubot di invitardi in un gruppo
# hubot (aggiungi[mi] / crea) (il mio / [tra]i contatto/i) [telefono] - chiedi ad hubot creare il tuo contatto
#
# Author:
# Michele Guerini Rocco (rnhmjoj)
@ -46,6 +47,21 @@ module.exports = (robot) ->
robot.logger.info 'parsed user data: ' + JSON.stringify user, null, 2
callback user
# add a user to the contact list
add_contact = (name, phone, callback) ->
robot.logger.info "create contact for user #{name}"
user_info 'user_info ' + name, (user) ->
[first, last...] = user.name.split ' '
phone = if phone? then phone else user.phone
if not phone?
return callback 'serve per forza il tuo numero'
run_command "add_contact #{phone} '#{first}' '#{last.join ' '}'", (reply) ->
robot.logger.info 'result: ' + reply
reply = reply[0].split ' '
if reply[0] is 'FAIL:'
return callback reply[1..]
callback()
# return the list of active chat groups
group_list = (callback) ->
run_command 'dialog_list', (list) ->
@ -73,6 +89,13 @@ module.exports = (robot) ->
group_list (list) ->
res.send (res.random intro) + ':\n' + (list.map (i) -> '* '+i).join '\n'
robot.respond /(aggiungi(mi)?|crea) ((trai? (i )?contatti)|(il mio contatto))( (\d+))?/, (res) ->
add_contact res.message.user.name, res.match[8], (err) ->
if err?
res.send "c'è un problema: " + err
else
res.send "fatto!"
robot.respond /(mi )?invit(i|ami) (in|nel gruppo) (.+)\??/, (res) ->
denied = ['BZBZ ADMIN-NOT-DETECTED', 'BZBZ IS-NOT-AUTHORIZED', 'BZBZ ACCESS-DENIED']
nope = ['ahahah NO', 'mai sentito questo?', 'invita anche me magari']