• Public
  • Public/Protected
  • All

Interface UserConfig


  • UserConfig




cache: object

Configure memoizee

Type declaration

  • graphql.channelsExpiration: string

    How long to cache the channels for each server for

  • graphql.messageHistory: number

    How many messages to store in cache

  • graphql.messageHistoryExpiration: string

    How long until the message cache should be purged

  • graphql.permissionsExpiration: string

    How long to cache the permissions for each server for


database: object

Type declaration

  • dir: string

    The path to where the NeDB database should be stored

  • jwt_secret: string

    The secret to use when verifying JWT tokens.

    WARNING: Keep this private! if an attacker gains ahold of this, server security is severely compromised!


discord: object

Discord configuration

Type declaration

  • admins: string[]

    Admins of the bot

  • events: object

    Discord channel to send server events to FORMAT: [server, channel]

    • logs: [string, string]

      Log events - joined guild etc.

    • status: [string, string]

      Status events - server started etc.

  • statuses: string[]

    Playing statuses for the bot - set to falsy to disable

  • token: string

    Bot token

  • webhook: string

    The name of the webhook to generate when sending messages


embed: object

Embed configuration

Type declaration

  • config: object

    Embed configuration

    • avatar: "adorable" | "identicon" | "robohash" | "retro" | string

      Pick between random avatar services or specify a URL to use, for guests avatars.

    • notifications: Notification[]

      Notifications to display on embed load

  • theme: object

    Default embed theme

    • colors: object

      Default colors to be applied to all servers

      • accent: string
      • background: string
      • primary: string
    • css: string

      Default CSS to be applied to all servers.


express: object

Express web server configuration

Type declaration

  • graphiql: boolean

    GraphiQL - online GraphQL editor Test it out in your browser at /api/graphql

  • port: number

    The port to host the site on

  • rateLimit: object
    • delayAfter: number

      max number of connections during windowMs before starting to delay responses.

    • delayMs: number

      how long to delay the response, multiplied by number of recent hits

    • max: number

      max number of connections during windowMs milliseconds before sending a 429 response.

    • windowMs: number

      how long to keep records of requests in memory.


license: string

Your WidgetBot license token


log_level: "error" | "warn" | "info" | "debug" | "verbose" | "silly"

Select a logging level to use for Winston

Generated using TypeDoc