fix(SendSlash): BotId !== applicationId

example: dyno
This commit is contained in:
March 7th 2022-08-29 22:14:51 +07:00
parent 966542d6c3
commit 1ff63e24b7
2 changed files with 10 additions and 2 deletions

View File

@ -79,6 +79,7 @@ class User extends Base {
* @readonly
*/
this.application = null;
this._partial = true;
this._patch(data);
}
@ -207,6 +208,8 @@ class User extends Base {
_ProfilePatch(data) {
if (!data) return;
this._partial = false;
if (data.connected_accounts.length > 0) {
this.connectedAccounts = data.connected_accounts;
}
@ -240,6 +243,10 @@ class User extends Base {
member._ProfilePatch(data.guild_member_profile);
}
if ('application' in data) {
this.application = new ClientApplication(this.client, data.application, this);
}
this.mutualGuilds = new Collection(data.mutual_guilds.map(obj => [obj.id, obj]));
}

View File

@ -436,6 +436,7 @@ class TextBasedChannel {
if (!user || !user.bot || !user.application) {
throw new Error('botId is not a bot or does not have an application slash command');
}
if (user._partial) await user.getProfile();
if (!commandName || typeof commandName !== 'string') throw new Error('Command name is required');
// Using API to search (without opcode ~ehehe)
let commandTarget;
@ -445,7 +446,7 @@ class TextBasedChannel {
include_applications: false,
};
if (this.client.channels.cache.get(this.id)?.type == 'DM') {
query.application_id = botId;
query.application_id = user.application.id;
} else {
query.limit = 25;
query.query = commandName;
@ -454,7 +455,7 @@ class TextBasedChannel {
query,
});
for (const command of data.application_commands) {
if (user.id == command.application_id) {
if (user.id == command.application_id || user.application.id == command.application_id) {
const c = user.application?.commands?._add(command, true);
if (command.name == commandName) commandTarget = c;
} else {