项目作者: dice-discord

项目描述 :
SettingProvider for the Commando framework that uses Keyv
高级语言: JavaScript
项目地址: git://github.com/dice-discord/commando-provider-keyv.git
创建时间: 2018-11-01T00:49:13Z
项目社区:https://github.com/dice-discord/commando-provider-keyv

开源协议:Apache License 2.0

下载


Commando Provider Keyv

Build Status

A Keyv based SettingProvider for the Discord.js Commando framework.

Documentation

Back-end Support

  • Redis
  • MongoDB
  • SQLite
  • PostgreSQL
  • MySQL
  • Third-party storage adapters (see Keyv docs)

Usage

In Memory

  1. const { CommandoClient } = require('discord.js-commando');
  2. const Keyv = require('keyv');
  3. const KeyvProvider = require('commando-provider-keyv');
  4. const client = new CommandoClient();
  5. client.setProvider(new KeyvProvider(new Keyv()));

Redis

  1. const { CommandoClient } = require('discord.js-commando');
  2. const Keyv = require('keyv');
  3. const KeyvProvider = require('commando-provider-keyv');
  4. const client = new CommandoClient();
  5. client.setProvider(new KeyvProvider(new Keyv('redis://user:pass@localhost:6379')));

MongoDB

Set the serialize and deserialize functions to do no transformations, since MongoDB can support storing raw JSON.

  1. const { CommandoClient } = require('discord.js-commando');
  2. const Keyv = require('keyv');
  3. const KeyvProvider = require('commando-provider-keyv');
  4. const client = new CommandoClient();
  5. const settings = { serialize: data => data, deserialize: data => data };
  6. client.setProvider(new KeyvProvider(new Keyv('mongodb://user:pass@localhost:27017/dbname', settings)));

SQLite

  1. const { CommandoClient } = require('discord.js-commando');
  2. const Keyv = require('keyv');
  3. const KeyvProvider = require('commando-provider-keyv');
  4. const client = new CommandoClient();
  5. client.setProvider(new KeyvProvider(new Keyv('sqlite://path/to/dbname.sqlite')));

PostgreSQL

  1. const { CommandoClient } = require('discord.js-commando');
  2. const Keyv = require('keyv');
  3. const KeyvProvider = require('commando-provider-keyv');
  4. const client = new CommandoClient();
  5. client.setProvider(new KeyvProvider(new Keyv('postgresql://user:pass@localhost:5432/dbname')));

MySQL

  1. const { CommandoClient } = require('discord.js-commando');
  2. const Keyv = require('keyv');
  3. const KeyvProvider = require('commando-provider-keyv');
  4. const client = new CommandoClient();
  5. client.setProvider(new KeyvProvider(new Keyv('mysql://user:pass@localhost:3306/dbname')));