4.1.0 • Published 6 years ago

libvex v4.1.0

Weekly downloads
8
License
MIT
Repository
-
Last release
6 years ago

libvex-js

npm version

a library for interacting with a vex server in javascript.

This library provides three exported classes.

  • KeyRing class, which contains a pair of ed25519 keys and sign / verify methods
  • Client class, which you can use to interact with the chat server
  • Utils class, which contains a couple useful type conversion functions

Install

yarn add libvex

Documentation

You can find a link to the documentation here

Quickstart

import { v4 as uuidv4 } from "uuid";
import { Client, IChatMessage } from "../src/Client";
import { KeyRing } from "../src/Keyring";
import { Utils } from "../src/Utils";

const keyring = new KeyRing(":memory:");

keyring.on("ready", () => {
  console.log("--------keys---------");
  console.log("PUBLIC KEY", Utils.toHexString(keyring.getPub()));
  // make sure you save your private key somewhere
  console.log("PRIVATE KEY", Utils.toHexString(keyring.getPriv()));
});

const vexClient = new Client("dev.vex.chat", keyring, null, true);

const testID = uuidv4();
console.log("TEST ID", testID);

vexClient.on("ready", async () => {
  const account = await vexClient.register();
  diagPrint("account", account);
  const serverPubkey = await vexClient.auth();
  console.log("SERVER PUBKEY", serverPubkey);

  const botChannel = "c27ce1af-4b68-4d9b-aef0-8c7cb7503d5e";

  await vexClient.channels.join(botChannel);
  await vexClient.messages.send(botChannel, testID);
});

vexClient.on("message", async (message: IChatMessage) => {
  diagPrint("message", message);
  if (message.message === testID) {
    console.log("All tests passed.");
    process.exit(0);
  }
});

vexClient.on("error", (error: any) => {
  console.log(error);
});

function diagPrint(name: string, object: Record<string, any>) {
  console.log("--------" + name + "---------");
  // tslint:disable-next-line: forin
  for (const key in object) {
    console.log(key.toUpperCase(), object[key]);
  }
}
4.1.0

6 years ago

3.0.2

6 years ago

4.0.0

6 years ago

3.0.1

6 years ago

3.0.0

6 years ago

2.5.0

6 years ago

2.5.1

6 years ago

2.4.23

6 years ago

2.4.21

6 years ago

2.4.20

6 years ago

2.4.22

6 years ago

2.4.19

6 years ago

2.4.18

6 years ago

2.4.17

6 years ago

2.4.16

6 years ago

2.4.15

6 years ago

2.4.14

6 years ago

2.4.13

6 years ago

2.4.10

6 years ago

2.4.12

6 years ago

2.4.11

6 years ago

2.4.9

6 years ago

2.4.8

6 years ago

2.4.7

6 years ago

2.4.6

6 years ago

2.4.3

6 years ago

2.4.5

6 years ago

2.4.4

6 years ago

2.4.2

6 years ago

2.4.1

6 years ago

2.4.0

6 years ago

2.3.2

6 years ago

2.2.9

6 years ago

2.2.8

6 years ago

2.3.0

6 years ago

2.2.1

6 years ago

2.2.0

6 years ago

2.2.3

6 years ago

2.3.1

6 years ago

2.2.2

6 years ago

2.2.5

6 years ago

2.2.4

6 years ago

2.2.7

6 years ago

2.2.6

6 years ago

2.1.0

6 years ago

0.3.0

6 years ago

0.2.0

6 years ago

0.1.0

6 years ago