Skip to content
This repository has been archived by the owner on Jan 15, 2024. It is now read-only.

Commit

Permalink
fix #15 添付ファイルを別メッセージにするように修正
Browse files Browse the repository at this point in the history
  • Loading branch information
yogarasu committed Aug 18, 2022
1 parent c4c963f commit a44aebc
Showing 1 changed file with 25 additions and 32 deletions.
57 changes: 25 additions & 32 deletions libs/message.mts
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,15 @@ export interface Message {
message_id?: string
channel_id?: string
guild_id?: string
content: string
embeds: Embed[]
content?: string
embeds?: Embed[]
files?: string[]
anthor?: {
id: string
name: string
type: "bot"
}
timestamp?: number | 1431442800
timestamp?: number
slack: {
anthor: {
id: string
Expand All @@ -37,7 +37,7 @@ export interface Message {
image_url: string
color: string | "808080"
}
timestamp: number | 1375282800
timestamp: number
}
}

Expand Down Expand Up @@ -147,32 +147,6 @@ export const buildMessageFile = async (
},
]

// 添付ファイルを取得
const files = message.files?.map((file) => {
if (file.size && file.size > maxFileSize && !isMaxFileSizeOver) {
isMaxFileSizeOver = true
}
return {
id: file.id || "",
file_type: file.filetype || "",
name: file.name || "",
size: file.size || 0,
url: file.url_private || "",
download_url: file.url_private_download || "",
}
})

// Discordにアップロードできる最大ファイルサイズを超過したファイルは、ファイルをアップロードせず、ファイルURLを添付する
const sizeOverFileUrlsFields = files
?.filter((file) => file.size >= maxFileSize)
.map((file) => ({ name: file.name, value: file.url }))
if (sizeOverFileUrlsFields) {
fields.push(...sizeOverFileUrlsFields)
}
const uploadFileUrls = files
?.filter((file) => file.size < maxFileSize)
.map((file) => file.url)

// メッセージの送信者情報を取得
const user = users.find(
(user) =>
Expand Down Expand Up @@ -215,14 +189,33 @@ export const buildMessageFile = async (
},
},
],
files: uploadFileUrls,
slack: {
anthor: anthor,
timestamp: timestamp,
},
})

// Discordにアップロードできる最大ファイルサイズを超過したファイルは、ファイルをアップロードせず、ファイルURLを添付する
const sizeOverFileUrls = message.files
?.filter((file) => file.size && file.size >= maxFileSize)
.map((file) => file.url_private || "")
const uploadFileUrls = message.files
?.filter((file) => file.size && file.size < maxFileSize)
.map((file) => file.url_private || "")
if (sizeOverFileUrls || uploadFileUrls) {
// 埋め込みの下に添付ファイルが表示されるように、添付ファイルは別メッセージにする
newMessages.push({
content: sizeOverFileUrls ? sizeOverFileUrls?.join("\n") : "",
files: uploadFileUrls?.length ? uploadFileUrls : undefined,
slack: {
anthor: anthor,
timestamp: timestamp,
},
})
}
}

// メッセージファイルを作成
const createMessageFileResult = await createMessageFile(
distMessageFilePath,
newMessages
Expand Down Expand Up @@ -339,7 +332,7 @@ export const createMessage = async (
if (channelGuild && channelGuild.type === ChannelType.GuildText) {
for (const message of messages) {
const result = await channelGuild.send({
content: "",
content: message.embeds ? undefined : message.content,
files: message.files,
embeds: message.embeds,
})
Expand Down

0 comments on commit a44aebc

Please sign in to comment.