@seaavey/bot
Version:
The Library for Seaavey Bot
46 lines (45 loc) • 1.68 kB
JavaScript
;
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('');
}