4.1.0 • Published 6 years ago
libvex v4.1.0
libvex-js
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 libvexDocumentation
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