mirror of
https://github.com/danbulant/discord.js
synced 2026-05-24 12:35:53 +00:00
Add TextBasedChannel.sendCode and make User/GuildMember partial implementations
This commit is contained in:
parent
9e05caec0d
commit
7ff9ac2bcc
6 changed files with 25 additions and 3 deletions
|
|
@ -40,6 +40,7 @@ class DMChannel extends Channel {
|
|||
sendMessage() { return; }
|
||||
sendTTSMessage() { return; }
|
||||
sendFile() { return; }
|
||||
sendCode() { return; }
|
||||
fetchMessage() { return; }
|
||||
fetchMessages() { return; }
|
||||
fetchPinnedMessages() { return; }
|
||||
|
|
|
|||
|
|
@ -118,6 +118,7 @@ class GroupDMChannel extends Channel {
|
|||
sendMessage() { return; }
|
||||
sendTTSMessage() { return; }
|
||||
sendFile() { return; }
|
||||
sendCode() { return; }
|
||||
fetchMessage() { return; }
|
||||
fetchMessages() { return; }
|
||||
fetchPinnedMessages() { return; }
|
||||
|
|
|
|||
|
|
@ -354,8 +354,9 @@ class GuildMember {
|
|||
sendMessage() { return; }
|
||||
sendTTSMessage() { return; }
|
||||
sendFile() { return; }
|
||||
sendCode() { return; }
|
||||
}
|
||||
|
||||
TextBasedChannel.applyToClass(GuildMember);
|
||||
TextBasedChannel.applyToClass(GuildMember, false);
|
||||
|
||||
module.exports = GuildMember;
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ class TextChannel extends GuildChannel {
|
|||
sendMessage() { return; }
|
||||
sendTTSMessage() { return; }
|
||||
sendFile() { return; }
|
||||
sendCode() { return; }
|
||||
fetchMessage() { return; }
|
||||
fetchMessages() { return; }
|
||||
fetchPinnedMessages() { return; }
|
||||
|
|
|
|||
|
|
@ -161,8 +161,9 @@ class User {
|
|||
sendMessage() { return; }
|
||||
sendTTSMessage() { return; }
|
||||
sendFile() { return; }
|
||||
sendCode() { return; }
|
||||
}
|
||||
|
||||
TextBasedChannel.applyToClass(User);
|
||||
TextBasedChannel.applyToClass(User, false);
|
||||
|
||||
module.exports = User;
|
||||
|
|
|
|||
|
|
@ -109,6 +109,23 @@ class TextBasedChannel {
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a code block to this channel
|
||||
* @param {string} lang Language for the code block
|
||||
* @param {StringResolvable} content Content of the code block
|
||||
* @param {MessageOptions} options The options to provide
|
||||
* @returns {Promise<Message|Message[]>}
|
||||
*/
|
||||
sendCode(lang, content, options = {}) {
|
||||
if (options.split) {
|
||||
if (typeof options.split !== 'object') options.split = {};
|
||||
if (!options.split.prepend) options.split.prepend = `\`\`\`${lang}\n`;
|
||||
if (!options.split.append) options.split.append = '\n```';
|
||||
}
|
||||
content = this.client.resolver.resolveString(content);
|
||||
return this.sendMessage(`\`\`\`${lang}\n${content}\n\`\`\``, options);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a single message from this channel, regardless of it being cached or not.
|
||||
* @param {string} messageID The ID of the message to get
|
||||
|
|
@ -432,7 +449,7 @@ class MessageCollector extends EventEmitter {
|
|||
}
|
||||
|
||||
exports.applyToClass = (structure, full = false) => {
|
||||
const props = ['sendMessage', 'sendTTSMessage', 'sendFile'];
|
||||
const props = ['sendMessage', 'sendTTSMessage', 'sendFile', 'sendCode'];
|
||||
if (full) {
|
||||
props.push('_cacheMessage');
|
||||
props.push('fetchMessages');
|
||||
|
|
|
|||
Loading…
Reference in a new issue