Files
cadhub/app/api/src/lib/discord.ts
Kurt Hutten c32023c629 Lint project
2022-01-19 20:01:46 +11:00

41 lines
1.1 KiB
TypeScript

import { Client, Intents, MessageAttachment } from 'discord.js'
const client = new Client({
intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES],
})
export async function sendDiscordMessage(text: string, url?: string) {
if (!client.isReady()) {
console.error(`Discord: client is not ready to send message ("${text}")`)
} else {
const channel = await client.channels.fetch(process.env.DISCORD_CHANNEL_ID)
if (url) {
channel.send({
embeds: [
{
title: text,
image: {
url: url,
},
},
],
})
} else {
channel.send(text)
}
}
}
client.on('ready', async () => {
console.log(`Discord: logged in as ${client.user.tag}`)
})
if (!process.env.DISCORD_TOKEN || !process.env.DISCORD_CHANNEL_ID) {
console.warn(
'Discord bot not configured - please set process.env.DISCORD_TOKEN and process.env.DISCORD_CHANNEL_ID to send discord chats'
)
} else {
console.log(`Discord: logging in (token ${process.env.DISCORD_TOKEN})`)
client.login(process.env.DISCORD_TOKEN)
}