New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

tgs-to

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tgs-to

supports for conversion of .tgs to .gif, .webp, .mp4, .json .png

latest
Source
npmnpm
Version
1.0.7
Version published
Maintainers
1
Created
Source

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.

Keywords

tgs

FAQs

Package last updated on 08 Jun 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts