diff options
Diffstat (limited to 'includes/external/addressbook/discord.js')
-rw-r--r-- | includes/external/addressbook/discord.js | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/includes/external/addressbook/discord.js b/includes/external/addressbook/discord.js new file mode 100644 index 0000000..04ef2d6 --- /dev/null +++ b/includes/external/addressbook/discord.js @@ -0,0 +1,68 @@ +const axios = require('axios'); +const apiVersion = "v10"; +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://discord.com/api/${apiVersion}/users/${user}`, { + headers: { + Authorization: `Bot ${app.discord.token}` + } + })).data; + + let obj = { + error: null, + avatar: "https://img.icons8.com/fluency-systems-regular/64/ffffff/discord.png", + name: user, + description: "Discord", + copy: [ + { + title: "Copy full username", + text: `${data['username']}#${data['discriminator']}` + }, + { + title: "Copy mention", + text: `<@${user}>` + }, + { + title: "Copy ID", + text: `${user}` + }, + data['avatar'] ? { + title: "Copy avatar URL", + text: `https://cdn.discordapp.com/avatars/${user}/${data['avatar']}.png` + } : null + ] + } + + if (data['display_name'] || data['global_name']) { + obj.description = data['username'] + "#" + data['discriminator']; + } else { + obj.description = "#" + data['discriminator']; + } + + if (data['avatar']) { + obj.avatar = `https://cdn.discordapp.com/avatars/${user}/${data['avatar']}.png`; + } + + obj.name = data['display_name'] ?? data['global_name'] ?? data['username'] ?? data['id']; + + 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/discord.png", + name: user, + description: "Discord", + copy: [] + }, null, 2)); + } +})();
\ No newline at end of file |