discord-together
v1.4.2
Published
Play games or watch YouTube videos together on Discord! More than 23 games available!
Readme
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
Install discord-together
npm install discord-together@latestInstall discord.js
npm install discord.js@latestSupports 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
createTogetherCodefunction 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.
- Discord server: Server Link
- GitHub repository: discord-together
