move promptMessage to invoker wrapper
This commit is contained in:
parent
93885114a9
commit
b93e8d9c4b
@ -84,36 +84,6 @@ class InteractionWrapper {
|
||||
});
|
||||
}
|
||||
|
||||
async promptMessage(str, opts = {}) {
|
||||
|
||||
if (typeof str === 'string') {
|
||||
if (opts.emoji) str = `${Emojis[opts.emoji]} ${str}`;
|
||||
if (opts.reply) str = `<@!${this.author.id}> ${str}`;
|
||||
}
|
||||
|
||||
const data = {
|
||||
content: str,
|
||||
files: opts.files,
|
||||
embeds: opts.embed ? [opts.embed] : [],
|
||||
disableMentions: opts.disableMentions
|
||||
};
|
||||
|
||||
if (opts.editInteraction) await this.editReply(data);
|
||||
else await this.channel.send(data).then((msg) => {
|
||||
if (opts.delete) msg.delete();
|
||||
});
|
||||
|
||||
return this.channel.awaitMessages({
|
||||
filter: (m) => m.author.id === this.user.id, max: 1, time: opts.time * 1000 || 30_000, errors: ['time']
|
||||
})
|
||||
.then((collected) => {
|
||||
return collected.first();
|
||||
})
|
||||
.catch((error) => { //eslint-disable-line no-unused-vars, handle-callback-err
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
replyEmbed(embed) {
|
||||
if (!embed.color) embed.color = 619452;
|
||||
return this.reply({ embeds: [embed] });
|
||||
|
@ -80,6 +80,36 @@ class InvokerWrapper {
|
||||
return this.target.deferReply(options);
|
||||
}
|
||||
|
||||
async promptMessage(str, opts = {}) {
|
||||
|
||||
if (typeof str === 'string') {
|
||||
if (opts.emoji) str = `${Emojis[opts.emoji]} ${str}`;
|
||||
if (opts.reply) str = `<@!${this.author.id}> ${str}`;
|
||||
}
|
||||
|
||||
const data = {
|
||||
content: str,
|
||||
files: opts.files,
|
||||
embeds: opts.embed ? [opts.embed] : [],
|
||||
disableMentions: opts.disableMentions
|
||||
};
|
||||
|
||||
if (opts.editReply) await this.editReply(data);
|
||||
else await this.channel.send(data).then((msg) => {
|
||||
if (opts.delete) msg.delete();
|
||||
});
|
||||
|
||||
return this.channel.awaitMessages({
|
||||
filter: (m) => m.author.id === this.user.id, max: 1, time: opts.time * 1000 || 30_000, errors: ['time']
|
||||
})
|
||||
.then((collected) => {
|
||||
return collected.first();
|
||||
})
|
||||
.catch((error) => { //eslint-disable-line no-unused-vars, handle-callback-err
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
async reply(options = {}) {
|
||||
|
||||
if (typeof options === 'string') options = { content: options };
|
||||
|
@ -43,7 +43,7 @@ class ImportCommand extends SlashCommand {
|
||||
// TODO split into settings and modlogs
|
||||
|
||||
const { MONGODB_HOST, MONGODB_USERNAME, MONGODB_PASSWORD } = process.env;
|
||||
const migrator = new SettingsMigrator(guild, {
|
||||
const migrator = new SettingsMigrator(this.client, guild, {
|
||||
host: MONGODB_HOST,
|
||||
username: MONGODB_USERNAME,
|
||||
password: MONGODB_PASSWORD,
|
||||
|
@ -143,7 +143,7 @@ class WordFilterSetting extends FilterSetting {
|
||||
|
||||
const response = await interaction.promptMessage(
|
||||
interaction.format('SETTING_WORDFILTER_ACTION_ADD_TRIGGERS'),
|
||||
{ time: 60 * 1000, editInteraction: true }
|
||||
{ time: 60 * 1000, editReply: true }
|
||||
);
|
||||
if (!response) {
|
||||
if (actions.find((ac) => ac.trigger === 'generic')) return {
|
||||
|
@ -176,7 +176,7 @@ class Setting extends Component {
|
||||
if (!message.length && !index && !embed) throw new Error('Must declare either message, index or embeds');
|
||||
const response = await interaction.promptMessage(
|
||||
index ? interaction.format(index, params) : message,
|
||||
{ time, editInteraction: true, embed }
|
||||
{ time, editReply: true, embed }
|
||||
);
|
||||
|
||||
if (!response) return { error: true, message: interaction.format('ERR_TIMEOUT') };
|
||||
|
Loading…
Reference in New Issue
Block a user