1.4.0 โ€ข Published 25 days ago

@virenbar/nuxt-lanyard v1.4.0

Weekly downloads
-
License
MIT
Repository
-
Last release
25 days ago

Nuxt Lanyard

npm version npm downloads License Nuxt

A Nuxt module to track your Discord status using Lanyard API.

The useLanyard composable returns a reactive state containing lanyard data.

The useLanyardHelper composable provides resolving/formatting function.

Features

  • ๐Ÿท๏ธ Single composable for fetching lanyard data
  • ๐ŸŒ REST/WebSocket support
  • ๐Ÿงน Socket/Connection auto close on unmount
  • ๐Ÿ“ƒ Resolving/Formatting functions

Quick Setup

  1. Add @virenbar/nuxt-lanyard dependency to your project

    # Using npm
    npm install --save-dev @virenbar/nuxt-lanyard
    # Using yarn
    yarn add --dev @virenbar/nuxt-lanyard
    # Using pnpm
    pnpm add -D @virenbar/nuxt-lanyard
  2. Add @virenbar/nuxt-lanyard to the modules section of nuxt.config.ts

    export default defineNuxtConfig({
      modules: [
        '@virenbar/nuxt-lanyard'
      ],
      // For self-hosted lanyard set apiURL
      "nuxt-lanyard": {
        apiURL: "api.lanyard.rest"
      }
    })

That's it! You can now use Nuxt Lanyard in your Nuxt app โœจ

Usage

REST

// Subscribe to user
const L = useLanyard({ method: "rest", id: "94490510688792576" });
// Use an interval of 10s (default 5s)
const L = useLanyard({
  method: "rest",
  pollInterval: 10e3,
  id: "94490510688792576"
});

WebSocket

// Subscribe to single user
const L = useLanyard({ method: "ws", id: "94490510688792576" });
// Subscribe to multiple users
const LM = useLanyard({
  method: "ws", ids: [
    "132479201470185472",
    "94490510688792576"
  ]
});
// Subscribe to all users tracked by Lanyard
const LM = useLanyard({ method: "ws", all: true });

Template

Single user

<template>
  <div>
    <span>User:</span> <b> {{ L?.discord_user.username }}#{{ L?.discord_user.discriminator }}</b>
  </div>
</template>

Multiple users

<template>
  <div v-for="L in LM" :key="L.discord_user.id">
    <span>User:</span> <b> {{ L?.discord_user.username }}#{{ L?.discord_user.discriminator }}</b>
  </div>
</template>

Development

# Install dependencies
yarn install
# Generate type stubs
yarn dev:prepare
# Develop with the playground
yarn dev
# Build the playground
yarn dev:build
# Run ESLint
yarn lint
# Run Vitest
#yarn test
#yarn test:watch
# Release new version
yarn release

Thanks

1.4.0

25 days ago

1.3.3

6 months ago

1.3.2

6 months ago

1.3.1

6 months ago

1.3.0

6 months ago

1.2.0

11 months ago

1.1.0

12 months ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago