Development of automation for checking uniqueness in STEEMIT. Part 5 Mysql connection. New community to test

in Steem-BRU (BY-RU-UA)3 years ago (edited)

Хорошо! Убедился в том, что надо изучить тему Mysql + NodeJs, а не пытаться обогнуть эту тему. Ничего не вышло спустя несколько дней попыток. Поэтому сейчас начну изучать эту тему.

image.png

Предыдущие посты на тему переноса на сервер Heroku:

https://steemit.com/hive-171319/@alexmove/razrabotka-avtomatizacii-proverki-unikalnosti-v-steemit-podgotovka-servera-chast-1-development-of-automation-for-checking
https://steemit.com/hive-171319/@alexmove/development-of-automation-for-checking-uniqueness-in-steemit-part-2-heroku-and-nodejs-and-cleardb-mysql
https://steemit.com/hive-171319/@alexmove/development-of-automation-for-checking-uniqueness-in-steemit-part-3-run-script-posts-and-uniq
https://steemit.com/hive-171319/@alexmove/development-of-automation-for-checking-uniqueness-in-steemit-part-4-transfer-to-heroku-steem-bru-rank-post

Вот как я пытался эти дни изменить ситуацию со скриптом, который не завершает соединение c базой данной, и из-за этого "падает" приложение:

Как это было:

16.01.2022 15:22

https://question-it.com/questions/1531783/kak-zavershit-skript-v-javascript

https://ru.stackoverflow.com/questions/1293106/%D0%9D%D0%B5-%D0%B7%D0%B0%D0%B2%D0%B5%D1%80%D1%88%D0%B0%D1%82%D1%8C-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82-%D0%BF%D1%80%D0%B8-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B5

17.01.2022 16:52

Не получается. Не получается. Не получается.

17:28

По сути проблема ясна - я не закрываю в скрипте mysql соединение и поэтому затем сервер закрывает сам по тайм-ауту и за счет этого в итоге происходит сбой в приложении.

00:18

Задача - проверить, работает ли текущее состояние сервера.

00:34

Не получается! Но в папке Family чудесным образом работает.
Поэтому я перенесу на сервер именно Family

Ищу свою инструкцию.
https://steemit.com/hive-171319/@alexmove/development-of-automation-for-checking-uniqueness-in-steemit-part-2-heroku-and-nodejs-and-cleardb-mysql

mkdir familyweb
express --view=pug familyweb
npm install
set DEBUG=myapp:* & npm start
npm start

git init
heroku login
heroku create

heroku rename familyweb1801
git remote -v

var createRouter = require('./routes/create');
var addpostRouter = require('./routes/addpost');
//var addposttodayRouter = require('./routes/addpost-today');
var spisokRouter = require('./routes/spisok');
var uniqRouter = require('./routes/uniq');
var uniqtodayRouter = require('./routes/uniq-today');

app.use('/create', createRouter);
app.use('/addpost', addpostRouter);
//app.use('/addpost-today', addposttodayRouter);
app.use('/spisok', spisokRouter);
app.use('/uniq', uniqRouter);
app.use('/uniq-today', uniqtodayRouter);
app.use('/list', listRouter);
app.use('/post', postRouter);

npm install mysql2
npm i form-data
npm i steemi
npm i axios

git add . && git commit -m "update pkg-lock" && git push heroku master
heroku logs --tail

Все ок

https://familyweb1801.herokuapp.com/addpost

heroku addons:create cleardb:ignite
heroku config | findstr CLEARDB

CLEARDB_DATABASE_URL: mysql://ba55cbbf13ac56:[email protected]/heroku_f1405928cc6a48e?reconnect=true

heroku config | findstr CLEARDB

create table if not exists spisok( id int primary key auto_increment, author varchar(255) UNIQUE KEY)

create table if not exists heroku_f1405928cc6a48e.spisok( id int primary key auto_increment, author varchar(255) UNIQUE KEY)

//create table if not exists heroku_cfdf255bd781813.post_number( id int primary key auto_increment, number int)

//UPDATE heroku_cfdf255bd781813.post_number SET number='0' LIMIT 1000

hive-153018

https://dashboard.heroku.com/apps/familyweb1801/scheduler

И снова тоже самое с подключением.

Цель - добится корректного завершения MySql подключения в моих скриптах.

https://qna.habr.com/q/183181?_ga=2.48601061.217410715.1642519571-583608570.1637410538

19.01.2022 14:38

Изучать тоже не так-то просто. Ищу сторонних программистов за вознаграждение, чтобы они мне в этом вопрос помогли.

image.png

И тут у меня возникла идея, что пока я разбираюсь с сервером, вполне можно все это делать у себя на ПК. Ведь локальная версия полностью (?) работает. Вот надо теперь только разобраться, где версия актуальная для локальной, ведь я уже много менял для серверой версии. А у меня получается четыре варианта теперь - Garden локальный и веб, Family локальный и веб.

И вот среди этих четырех папок и версий нужно понять, какая же актуальная.

Версия актуальной проверки уникальности кода с изменение number_post на ноль автоматически (ранее я делал это вручную, и это очень неудобно).

var express = require('express');
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
  
const mysql = require("mysql2");
const steem = require('steem');
    
const connection = mysql.createConnection({
  host: "us-cdbr-east-05.cleardb.net",
  user: "ba55cbbf13ac56",
  database: "heroku_f1405928cc6a48e",
  password: "4d948a2c"
});




    let wifkey = 'xxxx';
    let votey = "alexmove";
    let num_day = 1;    


    let sql = `SELECT * FROM post_number`   ;
    connection.query(sql,  function(err, results) 
    {
        if(err) console.log(err);
        const users2 = results;

        let post_number = users2[0].number;

        var d = new Date(); // Today!
        d.setDate(d.getDate()-num_day); // Yesterday!
        d = d.toJSON().split("T")[0];
        d = d.replace(/-/gi, '');
                        
        let mytable_p = 'p'+d;
        // let mytable_p = 'p20211210';

     
        const axios = require('axios');
        const FormData = require('form-data');
        let users; 

        const sql = `SELECT * FROM ${mytable_p} ORDER BY length DESC`;
        //const sql = `SELECT * FROM p0111 ORDER BY length DESC`;
        //     console.log(sql);   

        connection.query(sql,  function(err, results) 
        {
            if(err) console.log(err);

            users = results;
            if ((users[post_number])&&(users[post_number].percent===0))
            {
                console.log(results.length);   
                let data;
                async function makeGetRequest(qqq,aaa) 
                {

                    const form_data = new FormData();
                    form_data.append('url', qqq);
    
                    let res = await axios.post('https://content-watch.ru/public/api/?action=CHECK_URL&key=lsjhl80J7RiB4FU', form_data, 
                    { headers: form_data.getHeaders() });

                    data = res.data;
                    console.log(data);
                    console.log(data.percent);
                    console.log(data.matches[3]);
                    
                    let answer2 = data.percent + "% уникальности текста (uniqueness of the text) " + " <br> " + "Здравствуйте. Это полуавтоматическая проверка уникальности сервисом content-watch. Пожалуйста, сообщайте о неточностях. <b>Уникальность вашей статьи согласно сервиса content-watch.ru равна: " + data.percent + "% </b><br><br>Hello. This is a half-automatic uniqueness check by the content-watch service Please report any inaccuracies  <b> The uniqueness of your stat th according to the content-watch.ru service is equal to: "+ data.percent +"% </b><br> ";
  
                    var d = new Date(); // Today!

                    d.setDate(d.getDate() - 1); // Yesterday!
                    d = d.toJSON().split("T")[0];
        
                    let permlink = new Date().toISOString().replace(/[^a-zA-Z0-9]+/g, '').toLowerCase();
    
                    const url = new URL(qqq);

                    let test2 = url.pathname.split('/');
                    test2 = test2[3];

                    steem.broadcast.comment(
                        wifkey, // Your posting wif
                        aaa, // Parent Author
                        test2, // Parent Permlink
                        votey,
                        permlink, // Your post permlink
                        '', // Title
                        answer2, // Body
                        { tags: ['thanks'], app: 'ganeshaway' }, // Json Metadata
                        function(err, result) {
                            console.log(err, result)});

                      const sql = `UPDATE ${mytable_p} SET percent='${data.percent}' WHERE url='${users[post_number].url}' LIMIT 1000`;
                         console.log(sql)
    
                    connection.query(sql,function(err, results) {
                    if(err) console.log(err);
                    });
            
                    post_number++;
    
                    const sql8 = `UPDATE post_number SET number='${post_number}' LIMIT 1000`;
      
                    connection.query(sql8,function(err, results) {
                    if(err) console.log(err);
                    console.log(results);
                    });
                  // connection.end;
                //process.exit(-1);

                }

                const url = new URL('http://www.somedomain.com/account/search?filter=a#top');
                console.log(url.pathname.split('/'));
                const params = new URLSearchParams(url.search)
                makeGetRequest('https://steemit.com'+users[post_number].url,users[post_number].author);
                

            }
            else
            {
                if (users[post_number])
                {
                    console.log(post_number);   
                    post_number++;
                    
                    const sql8 = `UPDATE post_number SET number='${post_number}' LIMIT 1000`;
                      
                    connection.query(sql8,function(err, results) {
                    if(err) console.log(err);
                    //connection.end;
                    });
                } 
                else
                {
                    console.log(post_number);   
                    post_number++;
                    
                    const sql8 = `UPDATE post_number SET number='0' LIMIT 1000`;
                      
                    connection.query(sql8,function(err, results) {
                    if(err) console.log(err);

                    //connection.end;
                    });
                } 
            }
        });
    
   });
   
                    
});

module.exports = router;

а вот spisok, где не берутся во внимание аккаунты, которые не нужны

var express = require('express');
var router = express.Router();
        
  const mysql = require("mysql2");
 
const connection = mysql.createConnection({
  host: "us-cdbr-east-05.cleardb.net",
  user: "ba55cbbf13ac56",
  database: "heroku_f1405928cc6a48e",
  password: "4d948a2c"
});

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });

const fs = require("fs");
const steem = require('steem');
let body3R = '';

//https://steemit.com/hive-171319/@alexmove/the-word-game-post-2

    var query = { limit : 100, tag : "hive-153018" };

//accounts.forEach(function (element,i,array){
    
steem.api.getDiscussionsByTrending(query, function(err, result) {

      console.log(result.length);
       
       if (result)
       {
        var i, len = result.length;
                    for (i = 0; i < len; i++) 
                    {
                                                    
                       var raw = result[i];
                       console.log('Автор');
                       console.log(raw.author);
                       console.log('Заголовок');
                       console.log(raw.author);
                     console.log('Сообщество');
                    console.log(raw.category);
                    console.log(raw.permlink);
                   //      console.log('Длина поста');
                   //    console.log(raw.body_length);
                     //    console.log('Количество ожидаемого вознаграждения');
                       console.log(raw.category);
     console.log('Сообщество');                     
                    // console.log(raw.replies.length);
                   //      console.log('Количество upvote');
                        let upvote = raw.active_votes.length-1;
                      // console.log(raw.active_votes.length-1);
     console.log('Дата создания');                   
     console.log(raw.created);
    let input = raw.created;
    var d = new Date(); // Today!

                        d.setDate(d.getDate()); // Yesterday!
                        d = d.toJSON().split("T")[0];
            let title = raw.title;

    title = title.replace(/[^a-zа-яё0-9\s]/gi, ' ');
            
   // if ((input.indexOf(d) !== -1)&& (raw.category === 'hive-171319'))
  // if (input.indexOf(d) !== -1)

        let spisok = raw.author + " ";
        const fs = require("fs");            
        fs.appendFileSync("spisok06.txt",spisok);



//connection.on('error', function() {});

        const sql = `INSERT INTO spisok(author) VALUES('${raw.author}')`;
         
    
         console.log(sql);

         connection.query(sql, function(err, results) {
         if(err) console.log(err);
          console.log(results);
                    });     
         //connection.end();
         
         

}


}
        });
//});

});

module.exports = router;

Оба скрипта - серверные варианты
И кстати, я узнал, как можно вынести (наконец-то) конфируграцию за пределы файла.

modules.export = {
xxx = xxx;
}

const xxx = require('xxx');

I connected a new comunity

Я подключаю еще одно сообщество для тестов.

Беру за основу локальную папку Steem-Family.
Какое же сообщество взять?

@steembetterlife - почему бы и нет?
hive-153970

CREATE DATABASE betterlife

create table if not exists betterlife.post_number( id int primary key auto_increment, number int)

create table if not exists betterlife.spisok( id int primary key auto_increment, author varchar(255) UNIQUE KEY)

spisok.js

const fs = require("fs");
const steem = require('steem');
let body3R = '';

//https://steemit.com/hive-171319/@alexmove/the-word-game-post-2

    var query = { limit : 100, tag : "hive-153018" };

//accounts.forEach(function (element,i,array){
    
steem.api.getDiscussionsByTrending(query, function(err, result) {

      console.log(result.length);
       
       if (result)
       {
        var i, len = result.length;
                    for (i = 0; i < len; i++) 
                    {
                                                    
                       var raw = result[i];
                       console.log('Автор');
                       console.log(raw.author);
                       console.log('Заголовок');
                       console.log(raw.author);
                     console.log('Сообщество');
                    console.log(raw.category);
                    console.log(raw.permlink);
                   //      console.log('Длина поста');
                   //    console.log(raw.body_length);
                     //    console.log('Количество ожидаемого вознаграждения');
                       console.log(raw.category);
     console.log('Сообщество');                     
                    // console.log(raw.replies.length);
                   //      console.log('Количество upvote');
                        let upvote = raw.active_votes.length-1;
                      // console.log(raw.active_votes.length-1);
     console.log('Дата создания');                   
     console.log(raw.created);
    let input = raw.created;
    var d = new Date(); // Today!

                        d.setDate(d.getDate()); // Yesterday!
                        d = d.toJSON().split("T")[0];
            let title = raw.title;

    title = title.replace(/[^a-zа-яё0-9\s]/gi, ' ');
            
   // if ((input.indexOf(d) !== -1)&& (raw.category === 'hive-171319'))
  // if (input.indexOf(d) !== -1)

        let spisok = raw.author + " ";
        const fs = require("fs");            
        fs.appendFileSync("spisok06.txt",spisok);
        
  const mysql = require("mysql2");
  

const connection = mysql.createConnection({
  host: "localhost",
  user: "root",
  database: "betterlife",
  password: "root"
});

//connection.on('error', function() {});

        const sql = `INSERT INTO spisok(author) VALUES('${raw.author}')`;
         
    
         console.log(sql);

         connection.query(sql, function(err, results) {
         if(err) console.log(err);
          console.log(results);
                    });     
         connection.end();
         
         

}


}
        });
//});


spisok.js

const fs = require("fs");
const steem = require('steem');
let body3R = '';

//https://steemit.com/hive-171319/@alexmove/the-word-game-post-2

    var query = { limit : 100, tag : "hive-153018" };

//accounts.forEach(function (element,i,array){
    
steem.api.getDiscussionsByTrending(query, function(err, result) {

      console.log(result.length);
       
       if (result)
       {
        var i, len = result.length;
                    for (i = 0; i < len; i++) 
                    {
                                                    
                       var raw = result[i];
                       console.log('Автор');
                       console.log(raw.author);
                       console.log('Заголовок');
                       console.log(raw.author);
                     console.log('Сообщество');
                    console.log(raw.category);
                    console.log(raw.permlink);
                   //      console.log('Длина поста');
                   //    console.log(raw.body_length);
                     //    console.log('Количество ожидаемого вознаграждения');
                       console.log(raw.category);
     console.log('Сообщество');                     
                    // console.log(raw.replies.length);
                   //      console.log('Количество upvote');
                        let upvote = raw.active_votes.length-1;
                      // console.log(raw.active_votes.length-1);
     console.log('Дата создания');                   
     console.log(raw.created);
    let input = raw.created;
    var d = new Date(); // Today!

                        d.setDate(d.getDate()); // Yesterday!
                        d = d.toJSON().split("T")[0];
            let title = raw.title;

    title = title.replace(/[^a-zа-яё0-9\s]/gi, ' ');
            
   // if ((input.indexOf(d) !== -1)&& (raw.category === 'hive-171319'))
  // if (input.indexOf(d) !== -1)

        let spisok = raw.author + " ";
        const fs = require("fs");            
        fs.appendFileSync("spisok06.txt",spisok);
        
  const mysql = require("mysql2");
  

const connection = mysql.createConnection({
  host: "localhost",
  user: "root",
  database: "betterlife",
  password: "root"
});

//connection.on('error', function() {});

        const sql = `INSERT INTO spisok(author) VALUES('${raw.author}')`;
         
    
         console.log(sql);

         connection.query(sql, function(err, results) {
         if(err) console.log(err);
          console.log(results);
                    });     
         connection.end();
         
         

}


}
        });
//});


config.js

module.exports = {
  host: "localhost",
  user: "root",
  database: "betterlife",
  password: "root"
}


addpost.js

const fs = require("fs");
const steem = require('steem');
const config = require('./config');

let body3R = '';
let num_day = 1;

                        var d = new Date(); // Today!
                        d.setDate(d.getDate()-num_day); // Yesterday!
                        d = d.toJSON().split("T")[0];
                        d = d.replace(/-/gi, '');
                    console.log(d);   
    
                            
                            
//let mytable = 'poststest';
let mytable = 'p'+d;
let mytable_p = mytable;

   const mysql = require("mysql2");

  const sql = `SELECT * FROM spisok`;
    //const sql = `SELECT * FROM p0111 ORDER BY length DESC`;
    //     console.log(sql);   

const connection = mysql.createConnection(config);


  connection.query(sql,  function(err, results) {
        if(err) console.log(err);
             console.log(results[2]['author']);   

        users = results;
        accounts = users;
console.log(accounts);

let sql = `create table if not exists ${mytable_p}( id int primary key auto_increment, author varchar(255) not null, title varchar(255) not null, created varchar(255) not null, length int not null, url varchar(255) UNIQUE KEY, comments int not null, upvotes int not null, points float not null, percent float not null)`;

 connection.query(sql, function(err, results) {
 if(err) console.log(err);
  console.log(results);
            });     
 connection.end();


//https://steemit.com/hive-171319/@alexmove/the-word-game-post-2


//accounts.forEach(function (element,i,array)
len = accounts.length;
 for (yyy = 0; yyy < len; yyy++) 

{
      console.log('yyy');
      console.log(yyy);
      
    steem.api.getDiscussionsByAuthorBeforeDate(accounts[yyy]['author'],null, new Date().toISOString().split('.')[0],3, function(err, result) {
      console.log('yyy');
      console.log(yyy);

       if (result)
       {
        var i, len = result.length;
                    for (i = 0; i < len; i++) 
                    {
                                                    
                       var raw = result[i];
                        console.log(raw.author);
                        console.log(raw.created);

                        let upvote = raw.active_votes.length-1;
                     
                            let input = raw.created;
                            var d = new Date(); // Today!

                            d.setDate(d.getDate()-num_day); // Yesterday!
                            d = d.toJSON().split("T")[0];
                            
                            
                            let title = raw.title;

                            title = title.replace(/[^a-zа-яё0-9\s]/gi, ' ');
                            
                                    
                            if ((input.indexOf(d) !== -1)&& (raw.category === 'hive-153018'))
                          // if (input.indexOf(d) !== -1)

                            {
                                    body3R =  `| `+raw.author + `| <a href="`+raw.url+`">` + title + `</a>| `+ upvote + `| ` +  `????`  + `| ` + raw.children+`| ` + raw.body_length+ ' | \n';
                                //  console.log(body3R);
                                    
                                //  console.log(body3R);


                                      //  const mysql = require("mysql2");
                             
                             const connection = mysql.createConnection(config);

                            //connection.on('error', function() {});

                                const sql = `INSERT INTO ${mytable}(author, title, created, length, url, comments, upvotes, points,percent) VALUES('${raw.author}', '${title}', '${raw.created}', '${raw.body_length}', '${raw.url}', '${raw.children}', '${upvote}','0','0')`;
                                 
                                    
                                //  console.log(sql);

                                 connection.query(sql, function(err, results) {
                                 if(err) console.log(err);
                                  console.log(results);
                                            });     
                                 connection.end();


                        }
            }


    }
        });
}

    });

uniq.js


const mysql = require("mysql2");
const steem = require('steem');
const config = require('./config');

const connection = mysql.createConnection(config);




    let wifkey = 'xxxx';
    let votey = "alexmove";
    let num_day = 1;    


    let sql = `SELECT * FROM post_number`   ;
    connection.query(sql,  function(err, results) 
    {
        if(err) console.log(err);
        const users2 = results;

        let post_number = users2[0].number;

        var d = new Date(); // Today!
        d.setDate(d.getDate()-num_day); // Yesterday!
        d = d.toJSON().split("T")[0];
        d = d.replace(/-/gi, '');
                        
        let mytable_p = 'p'+d;
        // let mytable_p = 'p20211210';

     
        const axios = require('axios');
        const FormData = require('form-data');
        let users; 

        const sql = `SELECT * FROM ${mytable_p} ORDER BY length DESC`;
        //const sql = `SELECT * FROM p0111 ORDER BY length DESC`;
        //     console.log(sql);   

        connection.query(sql,  function(err, results) 
        {
            if(err) console.log(err);

            users = results;
            if ((users[post_number])&&(users[post_number].percent===0))
            {
                console.log(results.length);   
                let data;
                async function makeGetRequest(qqq,aaa) 
                {

                    const form_data = new FormData();
                    form_data.append('url', qqq);
    
                    let res = await axios.post('https://content-watch.ru/public/api/?action=CHECK_URL&key=lsjhl80J7RiB4FU', form_data, 
                    { headers: form_data.getHeaders() });

                    data = res.data;
                    console.log(data);
                    console.log(data.percent);
                    console.log(data.matches[3]);
                    
                    let answer2 = data.percent + "% уникальности текста (uniqueness of the text) " + " <br> " + "Здравствуйте. Это полуавтоматическая проверка уникальности сервисом content-watch. Пожалуйста, сообщайте о неточностях. <b>Уникальность вашей статьи согласно сервиса content-watch.ru равна: " + data.percent + "% </b><br><br>Hello. This is a half-automatic uniqueness check by the content-watch service Please report any inaccuracies  <b> The uniqueness of your stat th according to the content-watch.ru service is equal to: "+ data.percent +"% </b><br> ";
  
                    var d = new Date(); // Today!

                    d.setDate(d.getDate() - 1); // Yesterday!
                    d = d.toJSON().split("T")[0];
        
                    let permlink = new Date().toISOString().replace(/[^a-zA-Z0-9]+/g, '').toLowerCase();
    
                    const url = new URL(qqq);

                    let test2 = url.pathname.split('/');
                    test2 = test2[3];

                    steem.broadcast.comment(
                        wifkey, // Your posting wif
                        aaa, // Parent Author
                        test2, // Parent Permlink
                        votey,
                        permlink, // Your post permlink
                        '', // Title
                        answer2, // Body
                        { tags: ['thanks'], app: 'ganeshaway' }, // Json Metadata
                        function(err, result) {
                            console.log(err, result)});

                      const sql = `UPDATE ${mytable_p} SET percent='${data.percent}' WHERE url='${users[post_number].url}' LIMIT 1000`;
                         console.log(sql)
    
                    connection.query(sql,function(err, results) {
                    if(err) console.log(err);
                    });
            
                    post_number++;
    
                    const sql8 = `UPDATE post_number SET number='${post_number}' LIMIT 1000`;
      
                    connection.query(sql8,function(err, results) {
                    if(err) console.log(err);
                    console.log(results);
                        connection.end();
                        connection.destroy();
                    });
                  // connection.end;
                //process.exit(-1);

                }

                const url = new URL('http://www.somedomain.com/account/search?filter=a#top');
                console.log(url.pathname.split('/'));
                const params = new URLSearchParams(url.search)
                makeGetRequest('https://steemit.com'+users[post_number].url,users[post_number].author);
                

            }
            else
            {
                if (users[post_number])
                {
                    console.log(post_number);   
                    post_number++;
                    
                    const sql8 = `UPDATE post_number SET number='${post_number}' LIMIT 1000`;
                      
                    connection.query(sql8,function(err, results) {
                    if(err) console.log(err);
                            connection.end();
                            connection.destroy();
                    //connection.end;
                    });
                } 
                else
                {
                    console.log(post_number);   
                    post_number++;
                    
                    const sql8 = `UPDATE post_number SET number='0' LIMIT 1000`;
                      
                    connection.query(sql8,function(err, results) {
                    if(err) console.log(err);
                            connection.end();
                            connection.destroy();
                    //connection.end;
                    });
                } 
            }
        });
    
   });
   
                    



list.js




post.js



const mysql = require("mysql2");
const steem = require('steem');
const fs = require("fs");    
const config = require('./config');

    
let wifkey = 'xxxxx';
let votey = "alexmove";
  let num_day = 1;
    //for (var yyy = 0; yyy < 2; yyy++)
    
    var d = new Date(); // Today!
    d.setDate(d.getDate()-num_day); // Yesterday!
    d = d.toJSON().split("T")[0];
    d = d.replace(/-/gi, '');
    

let accounts = fs.readFileSync('..\\report'+d+'.txt').toString()
 //fs.appendFileSync(__dirname+"\aaareport",'aaa');
 //fs.appendFileSync("aaareport",'aaa');
 //fs.appendFileSync("..\\aaareport",'aaa');
        
        var currentPath = process.cwd();
console.log(currentPath);
console.log(__dirname+"aaareport");
// Prints: /Users/mjr
//console.log(path.dirname(__filename));
// Prints: /Users/mjr

//let accounts = fs.readFileSync('report20211225.txt').toString();

accounts = accounts.replace(/\n\n/gi, '\n');
                            
console.log(accounts);

let permlink = new Date().toISOString().replace(/[^a-zA-Z0-9]+/g, '').toLowerCase();

console.log(permlink);
let title = "Test Mode Report Everyday. SteemBetterLife Checking The Uniqueness "+d;


steem.broadcast.comment(
    wifkey, // Your posting wif
    '', // Parent Author
    'hive-153970', // Parent Permlink
    votey,
    permlink, // Your post permlink
    title, // Title
    accounts, // Body   
        { tags: ['steem','club5050','steemit','ukraine','js','games'], app: 'ganeshaway' }, // Json Metadata
        function(err, result) {
            console.log(err, result)});





Еще раз have nice day!

Sort:  

Happy every day, upvoted ,see you 😊! witnesses vote for me get daily upvote. Thank you for your support,Avoid useless information. I won't leave messages often, but I will upvote

Hi, @alexmove,

Thank you for your contribution to the Steem ecosystem.


Please consider voting for our witness, setting us as a proxy,
or delegate to @ecosynthesizer to earn 100% of the curation rewards!
3000SP | 4000SP | 5000SP | 10000SP | 100000SP

Coin Marketplace

STEEM 0.16
TRX 0.13
JST 0.027
BTC 57560.27
ETH 2570.10
USDT 1.00
SBD 2.48