mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
* feat(Message): remove reply functionality * feat(InlineReplies): add INLINE_REPLY constant/typing * feat(InlineReplies): add Message#replyReference property * feat(InlineReplies): add typings for sending inline replies * feat(InlineReplies): provide support for inline-replying to messages * feat(Message): add referencedMessage getter * fix: check that Message#reference is defined in referencedMessage * refactor(InlineReplies): rename property, rework Message resolution * docs: update jsdoc for inline replies * feat(Message): inline reply method * fix(ApiMessage): finish renaming replyTo * fix: jsdocs for Message#referencedMessage Co-authored-by: Tristan Guichaoua <33934311+tguichaoua@users.noreply.github.com> * fix: restore reply typings * fix: dont pass channel_id to API when replying * chore: update jsdocs * chore: more jsdoc updates * feat(AllowedMentions): add typings for replied_user * fix: naming conventions * fix(Message): referenced_message is null, not undefined * fix(MessageMentionOptions): repliedUser should be optional * chore: get this back to the right state * fix(ApiMessage): pass allowed_mentions when replying without content * fix(ApiMessage): prevent mutation of client options Co-authored-by: almostSouji <timoqueezle@gmail.com> Co-authored-by: Tristan Guichaoua <33934311+tguichaoua@users.noreply.github.com>
54 lines
1.4 KiB
JavaScript
54 lines
1.4 KiB
JavaScript
'use strict';
|
|
|
|
const { token, prefix, owner } = require('./auth.js');
|
|
const Discord = require('../src');
|
|
|
|
// eslint-disable-next-line no-console
|
|
const log = (...args) => console.log(process.uptime().toFixed(3), ...args);
|
|
|
|
const client = new Discord.Client({
|
|
shardCount: 2,
|
|
});
|
|
|
|
client.on('debug', log);
|
|
client.on('ready', () => {
|
|
log('READY', client.user.tag, client.user.id);
|
|
});
|
|
client.on('rateLimit', log);
|
|
client.on('error', console.error);
|
|
|
|
const commands = {
|
|
eval: message => {
|
|
if (message.author.id !== owner) return;
|
|
let res;
|
|
try {
|
|
res = eval(message.content);
|
|
if (typeof res !== 'string') res = require('util').inspect(res);
|
|
} catch (err) {
|
|
// eslint-disable-next-line no-console
|
|
console.error(err.stack);
|
|
res = err.message;
|
|
}
|
|
message.channel.send(res, { code: 'js' });
|
|
},
|
|
ping: message => message.channel.send('pong'),
|
|
};
|
|
|
|
client.on('message', message => {
|
|
if (!message.content.startsWith(prefix) || message.author.bot) return;
|
|
|
|
message.content = message.content.replace(prefix, '').trim().split(' ');
|
|
const command = message.content.shift();
|
|
message.content = message.content.join(' ');
|
|
|
|
// eslint-disable-next-line no-console
|
|
console.log('COMMAND', command, message.content);
|
|
|
|
if (command in commands) commands[command](message);
|
|
});
|
|
|
|
client.login(token);
|
|
|
|
// eslint-disable-next-line no-console
|
|
process.on('unhandledRejection', console.error);
|