Skip to content

RemyK888/discord-together

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

83 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Discord Together

NPM
Made with JavaScript

Downloads


Discord Together

A simple, type-safe, and lightweight Node.js library to generate Discord Together invite links for over 23+ activities and games, supporting all versions of discord.js.


๐Ÿ”ฉ Installation

npm install discord-together@latest

Install discord.js

npm install discord.js@latest

Supports all versions of Discord.js


๐Ÿ”‘ Features

  • ๐Ÿš€ Easy to use
  • ๐ŸŒ Multiple server support
  • ๐Ÿ› ๏ธ Works with all Discord.js versions
  • ๐ŸŽฎ 23+ games and activities
  • ๐Ÿชถ Lightweight and type-safe
  • ๐Ÿค Actively maintained
  • ๐Ÿ“ฆ Extendable configuration

๐Ÿ“š Table of Contents


๐Ÿ’ป Basic Example

A simple example using this package with Discord.js v14+:

import { Client, GatewayIntentBits } from 'discord.js';
import { DiscordTogether } from 'discord-together';

const client = new Discord.Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent] });
const togetherInstance = new DiscordTogether(client);

client.on('messageCreate', async message => { 
    if (message.content === 'start') {
        if(message.member.voice.channel) {
            togetherInstance.createTogetherCode(message.member.voice.channel.id, 'chess').then(async res => {
                return message.channel.send(`${res.invite}`);
            })
        };
    };
});

client.login('TOKEN');

๐Ÿ“ API Reference

DiscordTogether class

Constructor

new DiscordTogether(client: Client, applications?: ApplicationConfig)
  • client: Your Discord.js client instance (must be logged in).
  • applications (optional): Custom application config. Defaults to built-in games.

Methods

createTogetherCode(channelId: Snowflake, application: string): Promise<{ code: string, invite: string }>
  • channelId: The ID of the voice channel.
  • application: The key of the game/activity (see Available Games).
  • Returns: An object with the invite code and the full invite URL.

createDiscordTogether factory

import { createDiscordTogether } from "discord-together";

const createTogetherCode = createDiscordTogether(client, applications);
  • Returns the createTogetherCode function directly for functional usage.

โš™๏ธ Advanced Usage

Custom Application Config

You can extend or override the default games with your own:

import { createApplicationConfig, DefaultApplicationsConfig, DiscordTogether } from "discord-together";

// Extend the default config with your own games
const extendedConfig = createApplicationConfig(
  { monopoly: "your_snowflake_id" },
  { extends: [DefaultApplicationsConfig] }
);

const instance = new DiscordTogether(client, extendedConfig);

Factory Usage

import { createDiscordTogether } from "discord-together";

// Returns the createTogetherCode function
const createTogetherCode = createDiscordTogether(client, applications);

๐ŸŽฎ All Available Games

Key Description
youtube YouTube Together
youtubedev YouTube Dev
poker Poker Night
betrayal Betrayal.io
fishing Fishington.io
chess Chess in the Park
chessdev Chess Dev
lettertile Letter Tile
wordsnack Word Snack
doodlecrew Doodle Crew
awkword Awkword
spellcast SpellCast
checkers Checkers in the Park
puttparty Putt Party
sketchheads Sketch Heads
ocho Ocho
puttpartyqa Putt Party QA
sketchyartist Sketchy Artist
land Land
meme Meme
askaway Ask Away
bobble Bobble
bashout Bash Out

๐ŸŒŒ Example of Bots Made with Discord Together


๐Ÿ“ License & Credits

  • License: MIT
  • Author: RemyK
  • Special thanks: Ayomits for the TypeScript rewrite, and all contributors and community members!

This package is not affiliated with Discord Inc. or YouTube Inc.


๐Ÿ’ฌ Support

If you have any problems or questions, feel free to contact RemyK.



Made with โค by RemyK