winston-discordjs

Winston Transport using Discord.js

Usage no npm install needed!

<script type="module">
  import winstonDiscordjs from 'https://cdn.skypack.dev/winston-discordjs';
</script>

README

Winston Discord.js Transport

npm Actions Status codecov Known Vulnerabilities

A Winston transport using Discord.js, written in TypeScript

Requirements

  • Node.js 16.6+

Usage

// Setup Discord.js client
const Discord = require('discord.js');
const client = new Discord.Client();
client.login("DISCORD_API_KEY");

// Find a channel to send log messages to
const discordChannel = client.channels.get(discordChannelId)

// Create and add the transport to a logger
const DiscordTransport = require('winston-discordjs');
logger.add(new DiscordTransport({
    discordChannel: discordChannel
});

Options

From the code:

export interface DiscordTransportStreamOptions
  extends Transport.TransportStreamOptions {
  discordClient?: Client
  discordToken?: string
  discordChannel?: TextChannel
}

Ideally a TextChannel is passed in, from an existing Discord.Client. Otherwise, the transport expects a Channel ID as a string

If an ID is passed in, the Transport requires a Discord.Client:

  • If one is passed in, we will use it
  • If one is not passed in, we will create one using the given discordToken