Skip to content

Commit 809117a

Browse files
committed
fix: don't try to fetch channels in gw events as it causes undefined behavior for serverless bots
1 parent 502c473 commit 809117a

File tree

4 files changed

+15
-16
lines changed

4 files changed

+15
-16
lines changed

src/gateway/handlers/messageCreate.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@ export const messageCreate: GatewayEventHandler = async (
99
d: MessagePayload
1010
) => {
1111
let channel = await gateway.client.channels.get<TextChannel>(d.channel_id)
12-
// Fetch the channel if not cached
13-
if (channel === undefined)
14-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
15-
channel = (await gateway.client.channels.fetch(d.channel_id)) as TextChannel
12+
// Fetch the channel if not cached.
13+
// Commented out right now as it causes some undefined behavior.
14+
// if (channel === undefined)
15+
// // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
16+
// channel = (await gateway.client.channels.fetch(d.channel_id)) as TextChannel
1617
if (channel === undefined) return
1718
await channel.messages.set(d.id, d)
1819
const user = new User(gateway.client, d.author)

src/gateway/handlers/messageDelete.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,9 @@ export const messageDelete: GatewayEventHandler = async (
77
d: MessageDeletePayload
88
) => {
99
let channel = await gateway.client.channels.get<TextChannel>(d.channel_id)
10-
// Fetch the channel if not cached
11-
if (channel === undefined)
12-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
13-
channel = (await gateway.client.channels.fetch(d.channel_id)) as TextChannel
10+
// if (channel === undefined)
11+
// // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
12+
// channel = (await gateway.client.channels.fetch(d.channel_id)) as TextChannel
1413
if (channel === undefined) return
1514
const message = await channel.messages.get(d.id)
1615
if (message === undefined)

src/gateway/handlers/messageDeleteBulk.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ export const messageDeleteBulk: GatewayEventHandler = async (
1212
d.channel_id
1313
)
1414
// Fetch the channel if not cached
15-
if (channel === undefined)
16-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
17-
channel = (await gateway.client.channels.fetch(
18-
d.channel_id
19-
)) as GuildTextBasedChannel
15+
// if (channel === undefined)
16+
// // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
17+
// channel = (await gateway.client.channels.fetch(
18+
// d.channel_id
19+
// )) as GuildTextBasedChannel
2020
if (channel === undefined) return
2121
const messages = new Collection<string, Message>()
2222
const uncached = new Set<string>()

src/gateway/handlers/messageUpdate.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@ export const messageUpdate: GatewayEventHandler = async (
88
d: MessagePayload
99
) => {
1010
let channel = await gateway.client.channels.get<TextChannel>(d.channel_id)
11-
// Fetch the channel if not cached
12-
if (channel === undefined)
13-
channel = await gateway.client.channels.fetch(d.channel_id)
11+
// if (channel === undefined)
12+
// channel = await gateway.client.channels.fetch(d.channel_id)
1413

1514
if (channel === undefined) return
1615

0 commit comments

Comments
 (0)