ocr.js 3.08 KB
const Tesseract = require("tesseract.js");
const Discord = require("discord.js");
exports.run = async (client, msg, args, prefix) => {

    if (msg.attachments.size > 0) {
        if (args[0] == "한국어" || args[0] == "kor") {
            msg.reply("인식중 ...");
            msg.attachments.forEach(attachment => {
                var ImgURL = attachment.proxyURL;
                Tesseract.recognize(
                    ImgURL,
                    "kor",
                    { logger: (m) => console.log(m) }
                ).then(({ data: { text } }) => {
                    // Replying with the extracted test
                    console.log(text);
                    let Commands = new Discord.MessageEmbed()
                        .setTitle("한국어로 문자를 인식한 결과입니다.")
                        .setColor("81ECEC")
                        .setDescription(text);

                    msg.reply({ embeds: [Commands] });

                });
            });
        }
        else if (args[0] == "영어" || args[0] == "eng" || !args[0]) {
            msg.reply("인식중 ...");
            msg.attachments.forEach(attachment => {
                var ImgURL = attachment.proxyURL;
                Tesseract.recognize(
                    ImgURL,
                    "eng",
                    { logger: (m) => console.log(m) }
                ).then(({ data: { text } }) => {
                    // Replying with the extracted test
                    console.log(text);
                    let Commands = new Discord.MessageEmbed()
                        .setTitle("영어로 문자를 인식한 결과입니다.")
                        .setColor("81ECEC")
                        .setDescription(text);

                    msg.reply({ embeds: [Commands] });
                });
            });
        }
        else if (args[0] == "일본어" || args[0] == "jpn") {
            msg.reply("인식중 ...");
            msg.attachments.forEach(attachment => {
                var ImgURL = attachment.proxyURL;
                Tesseract.recognize(
                    ImgURL,
                    "jpn",
                    { logger: (m) => console.log(m) }
                ).then(({ data: { text } }) => {
                    // Replying with the extracted test
                    console.log(text);
                    let Commands = new Discord.MessageEmbed()
                        .setTitle("일본어로 문자를 인식한 결과입니다.")
                        .setColor("81ECEC")
                        .setDescription(text);

                    msg.reply({ embeds: [Commands] });
                });
            });
        }

        else {
            msg.reply("언어가 제대로 입력되지 않았습니다.");
        }


    } else {
        msg.reply("이미지가 인식되지 않았습니다. 이미지를 첨부해주세요!");
    }
};


exports.config = {
    name: 'ocr',
    aliases: ['ㅐㅊㄱ'],
    category: ['Ocr'],
    des: ['이미지를 첨부하고 명령어를 입력하면, 이미지에 있는 텍스트를 추출합니다.'],
    use: ['!ocr <사용 언어>']
};