feat/refactor webhook payload (#556)

* feat: move ids into data prop

* feat: add timstamp on webhook payload
This commit is contained in:
SKINMAKER 2023-04-16 15:57:49 +09:00 committed by GitHub
parent a3173609dd
commit 468e1721b3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 20 additions and 12 deletions

View File

@ -61,12 +61,13 @@ const BotStats = RequestHandler().post(limiter)
if (validated.servers && botInfo.servers !== validated.servers) {
sendWebhook(botInfo, {
type: 'bot',
botId: botInfo.id,
data: {
botId: botInfo.id,
type: WebhookType.ServerCountChange,
before: botInfo.servers,
after: validated.servers,
}
},
timestamp: Date.now()
})
}
await getStatsLoggingChannel().send({

View File

@ -37,13 +37,14 @@ const BotVote = RequestHandler()
else if(vote === true) {
sendWebhook(bot, {
type: 'bot',
botId: bot.id,
data: {
botId: bot.id,
type: WebhookType.HeartChange,
before: bot.votes,
after: bot.votes + 1,
userId: user
}
},
timestamp: Date.now()
})
return ResponseWrapper(res, { code: 200 })
}

View File

@ -36,14 +36,15 @@ const ServerVote = RequestHandler()
if(vote === null) return ResponseWrapper(res, { code: 401 })
else if(vote === true) {
sendWebhook(server, {
type: 'server',
guildId: server.id,
type: 'server',
data: {
guildId: server.id,
type: WebhookType.HeartChange,
before: server.votes,
after: server.votes + 1,
userId: user
}
},
timestamp: Date.now()
})
return ResponseWrapper(res, { code: 200 })
}

View File

@ -219,20 +219,25 @@ function buildEmbed({payload, target}: {payload: WebhookPayload, target: Bot | S
}
type WebhookPayload = BotWebhookPayload | ServerWebhookPayload
type WebhookPayload = (BotWebhookPayload | ServerWebhookPayload) & {
timestamp: number
}
type ServerWebhookData = HeartChange
type BotWebhookData = HeartChange | ServerCountChange
type ServerWebhookData = HeartChange & {
guildId: Snowflake
}
type BotWebhookData = (HeartChange | ServerCountChange) & {
botId: Snowflake
}
type ServerWebhookPayload = {
type: 'server',
guildId: Snowflake,
data: ServerWebhookData
}
type BotWebhookPayload = {
type: 'bot',
botId: Snowflake,
data: BotWebhookData
}