aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Isom <[email protected]>2020-03-27 17:14:08 -0500
committerMax Isom <[email protected]>2020-03-27 17:14:08 -0500
commit7703506aae30e56ca668d078f72cc5e8abe843d8 (patch)
treecfc4d2775112693baa7a5fca51bc52ee376e7b19
parenta2950ed722d5ed1f0e3d31922d796836ec1b18da (diff)
downloadmuse-7703506aae30e56ca668d078f72cc5e8abe843d8.tar.xz
muse-7703506aae30e56ca668d078f72cc5e8abe843d8.zip
Bump dependencies and add typing event handler
-rw-r--r--package.json4
-rw-r--r--src/bot.ts2
-rw-r--r--src/events/handle-typing-start.ts21
-rw-r--r--tsconfig.json2
-rw-r--r--yarn.lock16
5 files changed, 34 insertions, 11 deletions
diff --git a/package.json b/package.json
index e29e5e2..8b827cc 100644
--- a/package.json
+++ b/package.json
@@ -29,7 +29,7 @@
"@types/debug": "^4.1.5",
"@types/fluent-ffmpeg": "^2.1.14",
"@types/fs-capacitor": "^2.0.0",
- "@types/node": "^13.9.1",
+ "@types/node": "^13.9.5",
"@types/node-emoji": "^1.8.1",
"@types/spotify-web-api-node": "^4.0.1",
"@types/validator": "^12.0.1",
@@ -71,7 +71,7 @@
"array-shuffle": "^1.0.1",
"debug": "^4.1.1",
"delay": "^4.3.0",
- "discord.js": "^12.0.2",
+ "discord.js": "^12.1.1",
"dotenv": "^8.2.0",
"fluent-ffmpeg": "^2.1.2",
"fs-capacitor": "^6.1.0",
diff --git a/src/bot.ts b/src/bot.ts
index 296c06b..d6874b7 100644
--- a/src/bot.ts
+++ b/src/bot.ts
@@ -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);
diff --git a/src/events/handle-typing-start.ts b/src/events/handle-typing-start.ts
new file mode 100644
index 0000000..603d2bd
--- /dev/null
+++ b/src/events/handle-typing-start.ts
@@ -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
+};
diff --git a/tsconfig.json b/tsconfig.json
index ece24c7..219c7c7 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,6 +1,6 @@
{
"compilerOptions": {
- "lib": ["ES2017"],
+ "lib": ["ES2018"],
"target": "es6",
"module": "commonjs",
"declaration": true,
diff --git a/yarn.lock b/yarn.lock
index 00609cd..f66a9f2 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -121,10 +121,10 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.0.tgz#5b6ee7a77faacddd7de719017d0bc12f52f81589"
integrity sha512-0ARSQootUG1RljH2HncpsY2TJBfGQIKOOi7kxzUY6z54ePu/ZD+wJA8zI2Q6v8rol2qpG/rvqsReco8zNMPvhQ==
-"@types/node@^13.9.1":
- version "13.9.1"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.1.tgz#96f606f8cd67fb018847d9b61e93997dabdefc72"
- integrity sha512-E6M6N0blf/jiZx8Q3nb0vNaswQeEyn0XlupO+xN6DtJ6r6IT4nXrTry7zhIfYvFCl3/8Cu6WIysmUBKiqV0bqQ==
+"@types/node@^13.9.5":
+ version "13.9.5"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.5.tgz#59738bf30b31aea1faa2df7f4a5f55613750cf00"
+ integrity sha512-hkzMMD3xu6BrJpGVLeQ3htQQNAcOrJjX7WFmtK8zWQpz2UJf13LCFF2ALA7c9OVdvc2vQJeDdjfR35M0sBCxvw==
"@types/parse-json@^4.0.0":
version "4.0.0"
@@ -760,10 +760,10 @@ diff@^4.0.1:
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
-discord.js@^12.0.2:
- version "12.0.2"
- resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-12.0.2.tgz#c4d68f1363d7fc05ed71a42dba6b930966ed8602"
- integrity sha512-iZiEA4Y61gqq/EjFfLXnkRK9pLapnax/vTVDUhs/mAhyqozAy0GOlk/MZI9rSa1iIoKTWRq6P9CRKhLNT2wUnA==
+discord.js@^12.1.1:
+ version "12.1.1"
+ resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-12.1.1.tgz#440043ab5a09d66311e8b975acd31bea4f8ed227"
+ integrity sha512-Y6+QfAUZkb9cy27cfNqUigAgYVSKTw9jPF3mN4UDMih3Em3VQ0WjGBdX1UbE8CwFkLOu5XWQSNPdsoStTR8c2Q==
dependencies:
"@discordjs/collection" "^0.1.5"
abort-controller "^3.0.0"