diff options
Diffstat (limited to 'includes/external/addressbook/phone.js')
-rw-r--r-- | includes/external/addressbook/phone.js | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/includes/external/addressbook/phone.js b/includes/external/addressbook/phone.js new file mode 100644 index 0000000..9f9236b --- /dev/null +++ b/includes/external/addressbook/phone.js @@ -0,0 +1,59 @@ +const axios = require('axios'); +const apiVersion = "v2"; +const app = require('../../app.json'); + +function sleep(ms) { + return new Promise((res) => { + setTimeout(res, ms); + }); +} + +(async () => { + let user = process.argv[2]; + + try { + let data = (await axios.get(`https://lookups.twilio.com/${apiVersion}/PhoneNumbers/${user}`, { + auth: { + username: app.twilio.sid, + password: app.twilio.secret + } + })).data; + + if (!data['valid']) throw new Error(JSON.stringify(data['validation_errors'])); + + let obj = { + error: null, + avatar: `https://flagcdn.com/w160/${data['country_code'].toLowerCase()}.png`, + name: data['national_format'], + description: data['phone_number'], + link: `tel:${data['phone_number']}`, + copy: [ + { + title: "Copy national phone number", + text: data['national_format'] + }, + { + title: "Copy international phone number", + text: data['phone_number'] + }, + { + title: "Copy tel: link", + text: `tel:${data['phone_number']}` + } + ] + } + + console.log(JSON.stringify(obj, null, 2)); + } catch (e) { + console.log(JSON.stringify({ + error: e, + avatar: "https://img.icons8.com/fluency-systems-regular/64/ffffff/phone.png", + name: user, + description: "Phone", + link: null, + copy: [] + }, null, 2)); + } + + +})();
\ No newline at end of file |