Skip to content

Nicuschgifthub/DiscordSimpleTable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DiscordSimpleTable by Nicusch

DiscordSimpleTable provides a way to create and format tables for Emebed messages in Discord. It allows customization of column headers, row data, and table appearance, including options for adding index columns and vertical bars.

const DiscordSimpleTable = require('discord-simpletable');

const data = [
  { name: "Nicusch", sizetype: "Big", count: 20 },
  { name: "Noner", sizetype: "Medium", count: 13 },
  { name: "Don", sizetype: "Extralarge", count: 55 },
  { name: "Han", sizetype: "ExtraMediumLarge", count: 33 },
];

const columns = [
  { label: 'Username', key: 'name' },
  { label: 'Bucket Size', key: 'sizetype' },
  { label: 'Count', key: 'count' }
];

const tableString = new DiscordSimpleTable(columns)
  .setJsonArrayInputs(data) // Set the data for the table
  .setStringOffset(2) // Add an offset to align column headers
  .addVerticalBar() // Add a vertical bar between columns
  .setIndexLabel('#') // Set the label for the index column (default is "#")
  .addIndex(1) // Add an index column starting at 1
  .build(); // Build the table

// "const tableString" is now ready to be used
// as an example in Discord.js Api

const { EmbedBuilder } = require('discord.js'); // Import the EmbedBuilder

const exampleEmbed = new EmbedBuilder()
	.setColor(0x0099FF) // Set your color
	.setTitle('Discord Simple Table') // Set your title
	.setDescription(tableString) // use our new custom made table

Final Discord Embed:

discord-simpletable

You can also leave out the ".addVerticalBar()" and ".addIndex(1)"

//...

  const tableString = new DiscordSimpleTable(columns)
    .setJsonArrayInputs(data)
    .setStringOffset(2)
    .build();

    // Note: .setIndexLabel('#') can also be removed since it wont be added when no .addIndex(1) exists

//...

discord-simpletable

The rows and columns will have proper spacing, regardless of word length. For Discord.js, very long rows may not display well on all devices due to differences in screen sizes.

Example to change empty space to '-'

//...
  const tableString = new DiscordSimpleTable(columns, '-')
//...

Easy Install

npm install discord-simpletable

More Examples For Easy Understanding

const DiscordSimpleTable = require('discord-simpletable');

const data = [
  { name: "Nicusch", sizetype: "Big", count: 20 }
]

const columns = [
  { label: 'Username', key: 'name' },
  { label: 'Bucket Size', key: 'sizetype' },
  { label: 'Count', key: 'count' }
];

const tableString = new DiscordSimpleTable(columns)
  .setJsonArrayInputs(data)
  .setStringOffset(1) // only using one space
  .build();

discord-simpletable

const DiscordSimpleTable = require('discord-simpletable');

const data = [
  { name: "Nicusch", sizetype: "Big", count: 20 },
  { name: "Noner", sizetype: "Medium", count: 13 },
  { name: "Don", sizetype: "Extralarge", count: 55 },
  { name: "Han", sizetype: "ExtraMediumLarge", count: 33 },
];

const columns = [
  { label: 'Username', key: 'name' },
  { label: 'Bucket Size', key: 'sizetype' },
  { label: 'Count', key: 'count' }
];

const tableString = new DiscordSimpleTable(columns, '-') // you can add other spacing chars like '-'
  .setJsonArrayInputs(data)
  .setStringOffset(2)
  .build();

discord-simpletable

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published