summaryrefslogtreecommitdiff
path: root/includes/external/addressbook/phone.js
diff options
context:
space:
mode:
Diffstat (limited to 'includes/external/addressbook/phone.js')
-rw-r--r--includes/external/addressbook/phone.js59
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