1.0.7 • Published 11 months ago

tgs-to v1.0.7

Weekly downloads
-
License
ISC
Repository
github
Last release
11 months ago

tgs-to

Introduction

The tgs-to module allows you to convert Telegram Animated Sticker (TGS) files to various formats such as GIF, WebP, MP4, Png and Json

Installation

You can install tgs-to via npm:

npm install tgs-to

Usage

Import the module and path module:

const TGS = require('tgs-to');
const path = require('path');

Create a new instance of TGS with the path to your TGS file:

const tgs = new TGS(path.join(__dirname, 'sticker.tgs'));

Convert the TGS file to GIF, WebP, and MP4:

Promise.all([
    tgs.convertToGif(path.join(__dirname, "sticker.gif")),
    tgs.convertToWebp(path.join(__dirname, 'sticker.webp')),
    tgs.convertToMp4(path.join(__dirname, 'sticker.mp4'))
])
.then(() => {
    console.log('conversions completed successfully'); 
})
.catch(error => {
    console.error('One or more conversions failed:', error); 
});

Additional debugging steps:-

const TGS = require('tgs-to');
const path = require('path');
const fs = require('fs');

const tgsFilePath = path.join(__dirname, 'sticker.tgs');
const gifFilePath = path.join(__dirname, 'sticker.gif');
const webpFilePath = path.join(__dirname, 'sticker.webp');
const mp4FilePath = path.join(__dirname, 'sticker.mp4');

const tgs = new TGS(tgsFilePath);

const fileExists = (filePath) => {
    return new Promise((resolve, reject) => {
        fs.access(filePath, fs.constants.F_OK, (err) => {
            if (err) {
                reject(`File does not exist: ${filePath}`);
            } else {
                resolve(`File exists: ${filePath}`);
            }
        });
    });
};

const logDirectoryContents = (dirPath) => {
    return new Promise((resolve, reject) => {
        fs.readdir(dirPath, (err, files) => {
            if (err) {
                reject(`Unable to read directory: ${err.message}`);
            } else {
                resolve(`Directory contents: ${files.join(', ')}`);
            }
        });
    });
};

Promise.all([
    tgs.convertToGif(gifFilePath)
        .then(() => fileExists(gifFilePath))  
        .then(() => {
            console.log('GIF file created successfully.');
            return tgs.convertToWebp(webpFilePath);
        })  // Proceed with WebP conversion
        .then(() => fileExists(webpFilePath))
        .then(() => {
            console.log('WebP file created successfully.');
        }),
    tgs.convertToMp4(mp4FilePath)
        .then(() => fileExists(mp4FilePath))
        .then(() => {
            console.log('MP4 file created successfully.');
        })
])
.then(() => {
    console.log('All conversions completed successfully'); 
    return logDirectoryContents(__dirname);
})
.then((contents) => {
    console.log(contents);
})
.catch(error => {
    console.error('One or more conversions failed', error); 
});

Make sure to replace 'sticker.tgs' with the path to your TGS file and adjust the output file names ('sticker.gif', 'sticker.webp', 'sticker.mp4') as needed.

1.0.7

11 months ago

1.0.5

11 months ago

1.0.4

11 months ago

1.0.3

11 months ago

1.0.2

11 months ago

1.0.1

11 months ago

1.0.0

11 months ago