mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
fix(DataResolver): fix circular dependency error with GuildTemplate (#5622)
This commit is contained in:
@@ -5,7 +5,6 @@ const path = require('path');
|
|||||||
const stream = require('stream');
|
const stream = require('stream');
|
||||||
const fetch = require('node-fetch');
|
const fetch = require('node-fetch');
|
||||||
const { Error: DiscordError, TypeError } = require('../errors');
|
const { Error: DiscordError, TypeError } = require('../errors');
|
||||||
const GuildTemplate = require('../structures/GuildTemplate');
|
|
||||||
const Invite = require('../structures/Invite');
|
const Invite = require('../structures/Invite');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -56,6 +55,7 @@ class DataResolver {
|
|||||||
* @returns {string}
|
* @returns {string}
|
||||||
*/
|
*/
|
||||||
static resolveGuildTemplateCode(data) {
|
static resolveGuildTemplateCode(data) {
|
||||||
|
const GuildTemplate = require('../structures/GuildTemplate');
|
||||||
return this.resolveCode(data, GuildTemplate.GUILD_TEMPLATES_PATTERN);
|
return this.resolveCode(data, GuildTemplate.GUILD_TEMPLATES_PATTERN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
/* eslint-disable max-len, no-undef */
|
/* eslint-env jest */
|
||||||
|
/* eslint-disable max-len */
|
||||||
|
|
||||||
const Util = require('../src/util/Util');
|
const Util = require('../src/util/Util');
|
||||||
const testString = "`_Behold!_`\n||___~~***```js\n`use strict`;\nrequire('discord.js');```***~~___||";
|
const testString = "`_Behold!_`\n||___~~***```js\n`use strict`;\nrequire('discord.js');```***~~___||";
|
||||||
|
|||||||
11
test/resolveGuildTemplateCode.test.js
Normal file
11
test/resolveGuildTemplateCode.test.js
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
/* eslint-env jest */
|
||||||
|
|
||||||
|
const { DataResolver } = require('../src');
|
||||||
|
|
||||||
|
describe('resolveGuildTemplateCode', () => {
|
||||||
|
test('basic', () => {
|
||||||
|
expect(DataResolver.resolveGuildTemplateCode('https://discord.new/abc')).toBe('abc');
|
||||||
|
});
|
||||||
|
});
|
||||||
27
test/templateCreateGuild.js
Normal file
27
test/templateCreateGuild.js
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
const { token } = require('./auth');
|
||||||
|
const { Client } = require('../src');
|
||||||
|
|
||||||
|
const client = new Client({ intents: ['GUILDS', 'GUILD_MESSAGES'] });
|
||||||
|
client
|
||||||
|
.on('ready', () => console.log('ready'))
|
||||||
|
.on('message', async message => {
|
||||||
|
try {
|
||||||
|
const templates = await message.guild.fetchTemplates();
|
||||||
|
if (!templates.size) {
|
||||||
|
console.log('no templates');
|
||||||
|
} else {
|
||||||
|
const guild = await templates.first().createGuild('guild name');
|
||||||
|
console.log(`created guild with ID ${guild.id}`);
|
||||||
|
await guild.delete();
|
||||||
|
console.log('deleted guild');
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error);
|
||||||
|
} finally {
|
||||||
|
client.destroy();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.login(token)
|
||||||
|
.catch(console.error);
|
||||||
Reference in New Issue
Block a user