Downgrade to v13
[vi] cảm giác đau khổ
This commit is contained in:
@@ -1,9 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
const process = require('node:process');
|
||||
const { setTimeout, clearTimeout } = require('node:timers');
|
||||
const { setTimeout } = require('node:timers');
|
||||
const { Collection } = require('@discordjs/collection');
|
||||
const { Routes } = require('discord-api-types/v9');
|
||||
const CachedManager = require('./CachedManager');
|
||||
const { Guild } = require('../structures/Guild');
|
||||
const GuildChannel = require('../structures/GuildChannel');
|
||||
@@ -12,10 +11,17 @@ const { GuildMember } = require('../structures/GuildMember');
|
||||
const Invite = require('../structures/Invite');
|
||||
const OAuth2Guild = require('../structures/OAuth2Guild');
|
||||
const { Role } = require('../structures/Role');
|
||||
const {
|
||||
ChannelTypes,
|
||||
Events,
|
||||
OverwriteTypes,
|
||||
VerificationLevels,
|
||||
DefaultMessageNotificationLevels,
|
||||
ExplicitContentFilterLevels,
|
||||
} = require('../util/Constants');
|
||||
const DataResolver = require('../util/DataResolver');
|
||||
const Events = require('../util/Events');
|
||||
const PermissionsBitField = require('../util/PermissionsBitField');
|
||||
const SystemChannelFlagsBitField = require('../util/SystemChannelFlagsBitField');
|
||||
const Permissions = require('../util/Permissions');
|
||||
const SystemChannelFlags = require('../util/SystemChannelFlags');
|
||||
const { resolveColor } = require('../util/Util');
|
||||
|
||||
let cacheWarningEmitted = false;
|
||||
@@ -175,8 +181,17 @@ class GuildManager extends CachedManager {
|
||||
} = {},
|
||||
) {
|
||||
icon = await DataResolver.resolveImage(icon);
|
||||
|
||||
if (typeof verificationLevel === 'string') {
|
||||
verificationLevel = VerificationLevels[verificationLevel];
|
||||
}
|
||||
if (typeof defaultMessageNotifications === 'string') {
|
||||
defaultMessageNotifications = DefaultMessageNotificationLevels[defaultMessageNotifications];
|
||||
}
|
||||
if (typeof explicitContentFilter === 'string') {
|
||||
explicitContentFilter = ExplicitContentFilterLevels[explicitContentFilter];
|
||||
}
|
||||
for (const channel of channels) {
|
||||
channel.type &&= typeof channel.type === 'number' ? channel.type : ChannelTypes[channel.type];
|
||||
channel.parent_id = channel.parentId;
|
||||
delete channel.parentId;
|
||||
channel.user_limit = channel.userLimit;
|
||||
@@ -188,20 +203,23 @@ class GuildManager extends CachedManager {
|
||||
|
||||
if (!channel.permissionOverwrites) continue;
|
||||
for (const overwrite of channel.permissionOverwrites) {
|
||||
overwrite.allow &&= PermissionsBitField.resolve(overwrite.allow).toString();
|
||||
overwrite.deny &&= PermissionsBitField.resolve(overwrite.deny).toString();
|
||||
if (typeof overwrite.type === 'string') {
|
||||
overwrite.type = OverwriteTypes[overwrite.type];
|
||||
}
|
||||
overwrite.allow &&= Permissions.resolve(overwrite.allow).toString();
|
||||
overwrite.deny &&= Permissions.resolve(overwrite.deny).toString();
|
||||
}
|
||||
channel.permission_overwrites = channel.permissionOverwrites;
|
||||
delete channel.permissionOverwrites;
|
||||
}
|
||||
for (const role of roles) {
|
||||
role.color &&= resolveColor(role.color);
|
||||
role.permissions &&= PermissionsBitField.resolve(role.permissions).toString();
|
||||
role.permissions &&= Permissions.resolve(role.permissions).toString();
|
||||
}
|
||||
systemChannelFlags &&= SystemChannelFlagsBitField.resolve(systemChannelFlags);
|
||||
systemChannelFlags &&= SystemChannelFlags.resolve(systemChannelFlags);
|
||||
|
||||
const data = await this.client.api.guilds.post({
|
||||
body: {
|
||||
data: {
|
||||
name,
|
||||
icon,
|
||||
verification_level: verificationLevel,
|
||||
@@ -222,16 +240,16 @@ class GuildManager extends CachedManager {
|
||||
const handleGuild = guild => {
|
||||
if (guild.id === data.id) {
|
||||
clearTimeout(timeout);
|
||||
this.client.removeListener(Events.GuildCreate, handleGuild);
|
||||
this.client.removeListener(Events.GUILD_CREATE, handleGuild);
|
||||
this.client.decrementMaxListeners();
|
||||
resolve(guild);
|
||||
}
|
||||
};
|
||||
this.client.incrementMaxListeners();
|
||||
this.client.on(Events.GuildCreate, handleGuild);
|
||||
this.client.on(Events.GUILD_CREATE, handleGuild);
|
||||
|
||||
const timeout = setTimeout(() => {
|
||||
this.client.removeListener(Events.GuildCreate, handleGuild);
|
||||
this.client.removeListener(Events.GUILD_CREATE, handleGuild);
|
||||
this.client.decrementMaxListeners();
|
||||
resolve(this.client.guilds._add(data));
|
||||
}, 10_000).unref();
|
||||
@@ -250,7 +268,7 @@ class GuildManager extends CachedManager {
|
||||
* @typedef {Object} FetchGuildsOptions
|
||||
* @property {Snowflake} [before] Get guilds before this guild id
|
||||
* @property {Snowflake} [after] Get guilds after this guild id
|
||||
* @property {number} [limit] Maximum number of guilds to request (1-200)
|
||||
* @property {number} [limit=200] Maximum number of guilds to request (1-200)
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -267,13 +285,11 @@ class GuildManager extends CachedManager {
|
||||
if (existing) return existing;
|
||||
}
|
||||
|
||||
const data = await this.client.api.guilds(id).get({
|
||||
query: new URLSearchParams({ with_counts: options.withCounts ?? true }),
|
||||
})
|
||||
const data = await this.client.api.guilds(id).get({ query: { with_counts: options.withCounts ?? true } });
|
||||
return this._add(data, options.cache);
|
||||
}
|
||||
|
||||
const data = await this.client.api.users('@me').guilds.get({ query: new URLSearchParams(options) });
|
||||
const data = await this.client.api.users('@me').guilds.get({ query: options });
|
||||
return data.reduce((coll, guild) => coll.set(guild.id, new OAuth2Guild(this.client, guild)), new Collection());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user