UNPKG

sendingnetwork-bot-sdk

Version:
67 lines 3.63 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const src_1 = require("../src"); const commands_1 = require("./commands"); const readline = require("node:readline/promises"); const node_process_1 = require("node:process"); const fs = require("fs/promises"); const web3_1 = require("web3"); src_1.LogService.setLogger(new src_1.RichConsoleLogger()); src_1.LogService.setLevel(src_1.LogLevel.INFO); src_1.LogService.muteModule("Metrics"); src_1.LogService.trace = src_1.LogService.debug; const configFilePath = "./examples/storage/bot.creds.json"; const storage = new src_1.SimpleFsStorageProvider("./examples/storage/bot.json"); function login(nodeUrl, address, key, developerKey) { return __awaiter(this, void 0, void 0, function* () { const auth = new src_1.SDNAuth(nodeUrl); let loginMessage = yield auth.didPreLogin(address); let web3 = new web3_1.default(); // sign with wallet account key let walletSignature = web3.eth.accounts.sign(loginMessage["message"], key); // sign with developer key (add '0x' prefix if necessary) let developerKeySignature = web3.eth.accounts.sign(loginMessage["message"], developerKey); //did login let loginResp = yield auth.didLoginWithAppToken(address, loginMessage["did"], loginMessage["message"], walletSignature["signature"], developerKeySignature["signature"], loginMessage["random_server"], loginMessage["updated"]); return loginResp["access_token"]; }); } (function () { return __awaiter(this, void 0, void 0, function* () { let configRaw = yield fs.readFile(configFilePath); let configJson = JSON.parse(configRaw.toString()); let nodeUrl = configJson['nodeUrl']; let walletAddress = configJson['walletAddress']; let privateKey = configJson['privateKey']; let developerKey = configJson['developerKey']; let accessToken = configJson['accessToken']; if (accessToken == "" || accessToken == undefined) { accessToken = yield login(nodeUrl, walletAddress, privateKey, developerKey); configJson["accessToken"] = accessToken; fs.writeFile(configFilePath, JSON.stringify(configJson, null, 4)); } const client = new src_1.SDNClient(nodeUrl, accessToken, storage); // register message listener client.on("room.message", (roomId, event) => __awaiter(this, void 0, void 0, function* () { src_1.LogService.info("index", roomId, event); })); // start syncing yield client.start(); const rl = readline.createInterface({ input: node_process_1.stdin, output: node_process_1.stdout }); while (true) { const inputCommand = yield rl.question('[input command]'); yield (0, commands_1.execCommand)(client, inputCommand); } rl.close(); }); })(); //# sourceMappingURL=bot.js.map