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