diff --git a/src/client/app/common/views/components/integrations.vue b/src/client/app/common/views/components/integrations.vue
index bd6327ff57ba..bf629397a712 100644
--- a/src/client/app/common/views/components/integrations.vue
+++ b/src/client/app/common/views/components/integrations.vue
@@ -2,7 +2,7 @@
-
+
@@ -14,7 +14,14 @@ export default Vue.extend({
components: {
XIntegration
},
- props: ['user']
+ props: ['user'],
+ computed: {
+ discordName(): string {
+ return this.user.discord.global_name
+ ? `${this.user.discord.username}`
+ : `${this.user.discord.username}#${this.user.discord.discriminator}`;
+ },
+ },
});
diff --git a/src/client/app/common/views/components/settings/integration.vue b/src/client/app/common/views/components/settings/integration.vue
index a481d5d7e3fb..a408ef64b2eb 100644
--- a/src/client/app/common/views/components/settings/integration.vue
+++ b/src/client/app/common/views/components/settings/integration.vue
@@ -11,7 +11,7 @@
@@ -70,6 +70,14 @@ export default Vue.extend({
});
},
+ computed: {
+ discordName(): string {
+ return this.$store.state.i.discord.global_name
+ ? `${this.$store.state.i.discord.username}`
+ : `${this.$store.state.i.discord.username}#${this.$store.state.i.discord.discriminator}`;
+ },
+ },
+
methods: {
connectTwitter() {
this.twitterForm = window.open(apiUrl + '/connect/twitter',
diff --git a/src/models/packed-schemas.ts b/src/models/packed-schemas.ts
index 499506757df9..3f68945b8cb1 100644
--- a/src/models/packed-schemas.ts
+++ b/src/models/packed-schemas.ts
@@ -112,6 +112,7 @@ export type PackedUser = ThinPackedUser & {
};
discord?: {
id: string;
+ global_name?: string;
username: string;
discriminator: string;
};
diff --git a/src/models/user.ts b/src/models/user.ts
index f246ab84d3b3..4d0afd097a49 100644
--- a/src/models/user.ts
+++ b/src/models/user.ts
@@ -184,6 +184,7 @@ export interface ILocalUser extends IUserBase {
refreshToken: string;
expiresDate: number;
id: string;
+ global_name?: string;
username: string;
discriminator: string;
};
@@ -519,16 +520,17 @@ export async function pack(
twitter: db.twitter ? {
screenName: db.twitter?.screenName,
userId: db.twitter?.userId
- } : undefined,
+ } : null,
github: db.github ? {
id: db.github?.id,
login: db.github?.login
- } : undefined,
+ } : null,
discord: db.discord ? {
id: db.discord?.id,
+ global_name: db.discord?.global_name,
username: db.discord?.username,
discriminator: db.discord?.discriminator,
- } : undefined,
+ } : null,
}: {}),
} : {}),
diff --git a/src/server/api/service/discord.ts b/src/server/api/service/discord.ts
index 14c4ca1876c6..93103383928a 100644
--- a/src/server/api/service/discord.ts
+++ b/src/server/api/service/discord.ts
@@ -169,7 +169,7 @@ router.get('/dc/cb', async ctx => {
});
}));
- const { id, username, discriminator } = await getJson('https://discord.com/api/users/@me', '*/*', 10 * 1000, {
+ const { id, global_name, username, discriminator } = await getJson('https://discord.com/api/users/@me', '*/*', 10 * 1000, {
'Authorization': `Bearer ${accessToken}`,
});
@@ -198,6 +198,7 @@ router.get('/dc/cb', async ctx => {
accessToken,
refreshToken,
expiresDate,
+ global_name,
username,
discriminator
}
@@ -244,7 +245,7 @@ router.get('/dc/cb', async ctx => {
});
}));
- const { id, username, discriminator } = await getJson('https://discord.com/api/users/@me', '*/*', 10 * 1000, {
+ const { id, global_name, username, discriminator } = await getJson('https://discord.com/api/users/@me', '*/*', 10 * 1000, {
'Authorization': `Bearer ${accessToken}`,
});
if (!id || !username || !discriminator) {
@@ -262,6 +263,7 @@ router.get('/dc/cb', async ctx => {
refreshToken,
expiresDate,
id,
+ global_name,
username,
discriminator
}