discord-guildpeek
Version:
Get a public preview of a Discord server from its invite code, without authentication.
134 lines (100 loc) • 3.61 kB
Markdown
Get a public preview of a Discord server from its invite code, without authentication.
You can notably retrieve (in real time) the **number of members**, the **number of members online**, the **name of the guild**, the **icon** of the guild, the **banner** of the guild (if there is one). Name, global name, avatar, banner of the inventor (if there is one). And the channel where the invite was created.
[](https://www.npmjs.com/package/discord-guildpeek)
[](./LICENSE)
## 📦 Installation
```bash
npm install discord-guildpeek
# or
yarn add discord-guildpeek
```
## 🚀 Usage
```ts
import { getStatus } from 'discord-guildpeek';
getStatus('INVITE_ID').then(info => {
console.log(info);
console.log(info.guild.members); // Total members in the server
console.log(info.guild.onlines); // Online members in the server
console.log(info.guild.name); // Server name
console.log(info.guild.icon({ extension: 'png' })); // Guild icon URL with png format
});
```
```json
{
"code": "INVITE_ID",
"guild": {
"id": "SERVER_ID",
"name": "Server Name",
"description": "Description...",
"members": 1234,
"onlines": 56,
"icon": "https://cdn.discordapp.com/icons/SERVER_ID/ICON_ID.png",
"banner": "https://cdn.discordapp.com/banners/SERVER_ID/BANNER_ID.png",
...
},
"invitor": {
"id": "USER_ID",
"username": "InvitorName",
"discriminator": "1234",
"avatar": "https://cdn.discordapp.com/avatars/USER_ID/AVATAR_ID.png",
...
},
"channel": {
"id": "CHANNEL_ID",
"name": "general",
"type": 0
},
"expiresAt": "2025-01-01T00:00:00.000Z",
...
}
1234
56
Server Name
https://cdn.discordapp.com/icons/SERVER_ID/ICON_ID.png
```
You can use the UMD package in the browser by including the script tag:
```html
<script src="https://cdn.jsdelivr.net/npm/discord-guildpeek/dist/browser/index.umd.js"></script>
<script>
const { getInviteStatus } = window.DiscordGuildPeek;
getInviteStatus('INVITE_ID').then(info => {
console.log(info);
});
</script>
```
You can also use the ESM build in modern browsers:
```html
<script type="module">
import { getInviteStatus } from 'https://cdn.jsdelivr.net/npm/discord-guildpeek/dist/esm/index.js';
getInviteStatus('INVITE_ID').then(info => {
console.log(info);
});
</script>
```
* 🔍 `getInviteStatus(code: string)` — Fetches public metadata of a Discord server using an invite code (async).
* 🌐 Function `extractDiscordInviteId()` for extracting the invite ID from a Discord invite link.
* 📎 No token or authentication required.
* 📦 Supports ESM, CommonJS, and UMD (browser) builds.
## 📁 Supported Formats
| Format | Output Path |
| -------- | ------------------- |
| CommonJS | `dist/cjs/index.js` |
| ESM | `dist/esm/index.js` |
| Browser | `dist/browser/` |
## 🔍 Technical Overview
* Fully typed with TypeScript (`strict: true`)
* Response validation via [Zod](https://github.com/colinhacks/zod)
* Bundled with [Vite](https://vitejs.dev/) for browser builds
## 📌 Links
- [GitHub repository](https://github.com/Oignontom8283/discord-guildpeek)
- [Changelog](./CHANGELOG.txt)
- [NPM package](https://www.npmjs.com/package/discord-guildpeek)
## 📜 License
MIT © [Oignontom8283](https://github.com/Oignontom8283)
> ⚠️ **This module is not affiliated with Discord Inc.**