UNPKG

@seaavey/bot

Version:

The Library for Seaavey Bot

46 lines (45 loc) 1.68 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.downloadMedia = exports.question = exports.delay = void 0; exports.bytesToCrockford = bytesToCrockford; const baileys_1 = require("@seaavey/baileys"); const logger_1 = require("./logger"); const readline_1 = __importDefault(require("readline")); const delay = (ms) => new Promise((res) => setTimeout(res, ms)); exports.delay = delay; const question = async (question) => { const q = readline_1.default.createInterface({ input: process.stdin, output: process.stdout, }); return new Promise((resolve) => q.question(question, resolve)); }; exports.question = question; const downloadMedia = async (message, sock) => { return await (0, baileys_1.downloadMediaMessage)(message, 'buffer', {}, { logger: logger_1.logger, reuploadRequest: sock.updateMediaMessage, }); }; exports.downloadMedia = downloadMedia; const CROCKFORD_CHARACTERS = '123456789ABCDEFGHJKLMNPQRSTVWXYZ'; function bytesToCrockford(buffer) { let value = 0; let bitCount = 0; const crockford = []; for (let i = 0; i < buffer.length; i++) { value = (value << 8) | (buffer[i] & 0xff); bitCount += 8; while (bitCount >= 5) { crockford.push(CROCKFORD_CHARACTERS.charAt((value >>> (bitCount - 5)) & 31)); bitCount -= 5; } } if (bitCount > 0) { crockford.push(CROCKFORD_CHARACTERS.charAt((value << (5 - bitCount)) & 31)); } return crockford.join(''); }