From ffa0f22c19da3c8e0552d660cfd11bb0579813e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tadeusz=20So=C5=9Bnierz?= <tadeuszs@element.io>
Date: Thu, 3 Nov 2022 10:28:45 +0100
Subject: [PATCH] Track a slightly fresher fork of better-discord.js (#858)

This fixes a crash related to voice channel message handling.
---
 changelog.d/858.bugfix |  1 +
 package.json           |  2 +-
 src/bot.ts             |  6 +++---
 yarn.lock              | 10 +++++-----
 4 files changed, 10 insertions(+), 9 deletions(-)
 create mode 100644 changelog.d/858.bugfix

diff --git a/changelog.d/858.bugfix b/changelog.d/858.bugfix
new file mode 100644
index 0000000..60df223
--- /dev/null
+++ b/changelog.d/858.bugfix
@@ -0,0 +1 @@
+Prevent crashes when handling messages sent to voice channels.
diff --git a/package.json b/package.json
index b26e995..305900b 100644
--- a/package.json
+++ b/package.json
@@ -41,7 +41,7 @@
   "homepage": "https://github.com/Half-Shot/matrix-appservice-discord#readme",
   "dependencies": {
     "@mx-puppet/matrix-discord-parser": "0.1.10",
-    "better-discord.js": "git+https://github.com/Sorunome/better-discord.js.git#b5a28499899fe2d9e6aa1aa3b3c5d693ae672117",
+    "better-discord.js": "github:matrix-org/better-discord.js#5024781db755259e88abe915630b7d5b3ba5f48f",
     "better-sqlite3": "^7.1.0",
     "command-line-args": "^5.1.1",
     "command-line-usage": "^6.1.0",
diff --git a/src/bot.ts b/src/bot.ts
index 8bc73d4..0ca0b76 100644
--- a/src/bot.ts
+++ b/src/bot.ts
@@ -343,7 +343,7 @@ export class DiscordBot {
         client.on("userUpdate", async (_, user) => {
             try {
                 if (!(user instanceof Discord.User)) {
-                    log.warn(`Ignoring update for ${user.username}. User was partial.`);
+                    log.warn(`Ignoring update for ${(<any>user).username}. User was partial.`);
                     return;
                 }
                 await this.userSync.OnUpdateUser(user);
@@ -352,7 +352,7 @@ export class DiscordBot {
         client.on("guildMemberAdd", async (member) => {
             try {
                 if (!(member instanceof Discord.GuildMember)) {
-                    log.warn(`Ignoring update for ${member.guild.id} ${member.id}. User was partial.`);
+                    log.warn(`Ignoring update for ${(<any>member).guild?.id} ${(<any>member).id}. User was partial.`);
                     return;
                 }
                 await this.userSync.OnAddGuildMember(member);
@@ -370,7 +370,7 @@ export class DiscordBot {
         client.on("guildMemberUpdate", async (_, member) => {
             try {
                 if (!(member instanceof Discord.GuildMember)) {
-                    log.warn(`Ignoring update for ${member.guild.id} ${member.id}. User was partial.`);
+                    log.warn(`Ignoring update for ${(<any>member).guild.id} ${(<any>member).id}. User was partial.`);
                     return;
                 }
                 await this.userSync.OnUpdateGuildMember(member);
diff --git a/yarn.lock b/yarn.lock
index 2737abe..25a1f0a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -885,14 +885,14 @@ bcrypt-pbkdf@^1.0.0:
   dependencies:
     tweetnacl "^0.14.3"
 
-"better-discord.js@git+https://github.com/Sorunome/better-discord.js.git#b5a28499899fe2d9e6aa1aa3b3c5d693ae672117":
-  version "12.3.1"
-  resolved "git+https://github.com/Sorunome/better-discord.js.git#b5a28499899fe2d9e6aa1aa3b3c5d693ae672117"
+"better-discord.js@github:matrix-org/better-discord.js#5024781db755259e88abe915630b7d5b3ba5f48f":
+  version "12.5.1"
+  resolved "https://codeload.github.com/matrix-org/better-discord.js/tar.gz/5024781db755259e88abe915630b7d5b3ba5f48f"
   dependencies:
     "@discordjs/collection" "^0.1.6"
     "@discordjs/form-data" "^3.0.1"
     abort-controller "^3.0.0"
-    node-fetch "^2.6.0"
+    node-fetch "^2.6.1"
     prism-media "^1.2.2"
     setimmediate "^1.0.5"
     tweetnacl "^1.0.3"
@@ -3018,7 +3018,7 @@ node-emoji@^1.10.0:
   dependencies:
     lodash "^4.17.21"
 
-node-fetch@^2.6.0:
+node-fetch@^2.6.1:
   version "2.6.7"
   resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
   integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
-- 
GitLab