mirror of
https://github.com/BluemediaDev/muse.git
synced 2025-05-08 19:31:35 +02:00
Bump dependencies and add typing event handler
This commit is contained in:
parent
a2950ed722
commit
7703506aae
5 changed files with 34 additions and 11 deletions
|
@ -7,6 +7,7 @@ import Command from './commands';
|
|||
import debug from './utils/debug';
|
||||
import NaturalLanguage from './services/natural-language-commands';
|
||||
import handleGuildCreate from './events/guild-create';
|
||||
import handleTypingStart from './events/handle-typing-start';
|
||||
import handleVoiceStateUpdate from './events/voice-state-update';
|
||||
import errorMsg from './utils/error-msg';
|
||||
import {isUserInVoice} from './utils/channels';
|
||||
|
@ -104,6 +105,7 @@ export default class {
|
|||
|
||||
// Register event handlers
|
||||
this.client.on('guildCreate', handleGuildCreate);
|
||||
this.client.on('typingStart', handleTypingStart);
|
||||
this.client.on('voiceStateUpdate', handleVoiceStateUpdate);
|
||||
|
||||
return this.client.login(this.token);
|
||||
|
|
21
src/events/handle-typing-start.ts
Normal file
21
src/events/handle-typing-start.ts
Normal file
|
@ -0,0 +1,21 @@
|
|||
import {Channel, TextChannel, PartialDMChannel, User, PartialUser} from 'discord.js';
|
||||
|
||||
const WAIT_TIME_SECONDS = 12;
|
||||
|
||||
export default (channel: Channel | PartialDMChannel, user: User | PartialUser): void => {
|
||||
if (channel.type !== 'text') {
|
||||
return;
|
||||
}
|
||||
|
||||
const textChannel = channel as TextChannel;
|
||||
|
||||
setTimeout(async () => {
|
||||
if (user.typingIn(channel)) {
|
||||
const msg = await textChannel.send(`take your time why don'tcha <@${user.id}>`);
|
||||
|
||||
setTimeout(async () => {
|
||||
await msg.delete();
|
||||
}, 2000);
|
||||
}
|
||||
}, WAIT_TIME_SECONDS * 1000); // Discord sends typing updates every 10s
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue