STEEM-BRU RANK POSTS: NodeJS Scripts for Steemit

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

So, in case of a laptop breakdown, as already happened, I publish actual scripts. These are scripts that allow you to collect authors in a database, sort and publish a report.

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

Negative thinking (6).jpg

.cmd

cmd /c node c:\js\bru\new-post-bru-yesterday.js

create.js

const mysql = require("mysql2");

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

let mytable_p = 'posts01';
let mytable_c = 'c1711';
let mytable_day = 'a1711';

let sql = `create table if not exists spisok( id int primary key auto_increment, author varchar(255) UNIQUE KEY)`;


connection.query(sql, function(err, results) {
if(err) console.log(err);
else console.log("Таблица создана");
});

connection.end();



new-post-bru-yesterday.js

const fs = require("fs");
const steem = require('steem');
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 = 'p20211208';
let mytable_p = mytable;
// mytable_p = 'p20211208';

   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({
  host: "localhost",
  user: "root",
  database: "bru",
  password: "root"
});


  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-171319'))
                          // 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({
                              host: "localhost",
                              user: "root",
                              database: "bru",
                              password: "root"
                            });

                            //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();


                        }
            }


    }
        });
}

    });

spisok_bru

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-171319" };

//accounts.forEach(function (element,i,array){
    
//steem.api.getDiscussionsByTrending(query, function(err, result) {
steem.api.getDiscussionsByCreated(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: "bru",
  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();
         
         

}


}
        });
//});


fulllist.js

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

let formula;

    var d = new Date(); // Today!
    d.setDate(d.getDate()-1); // Yesterday!
    d = d.toJSON().split("T")[0];
    d = d.replace(/-/gi, '');
    

let mytable = 'p'+d;


    let full = `![image.png](https://cdn.steemitimages.com/DQmVQf3LJx2gC37VsCa6bn49BunG5UBXRPhs3iWhh9z23LG/image.png)

Сортировка по длине постов. 

|N|acc|title|ком.|длина|
------------|-------------|------------|-------------|----|`;


const fs = require("fs");            
fs.appendFileSync("..\\report"+d+".txt",full);




const sql = `SELECT * FROM ${mytable} ORDER BY length DESC` ;
connection.query(sql,  function(err, results) {
    if(err) console.log(err);
    const users = results;
     for(let i=0; i < users.length; i++){
                     
let notfull;
        var d = new Date(); // Today!
    d.setDate(d.getDate()-1); // Yesterday!
    d = d.toJSON().split("T")[0];
    d = d.replace(/-/gi, '');
                     
                   if (users[i].count>0) {
                        formula = (users.length - i)/10;
                    //  console.log(users[i].count);

                   } else { formula = 0;
                 //  console.log('sdfsdfs');
                   }

            title = users[i].title.replace(/[^a-zа-яё0-9\s]/gi, ' ');

        console.log('|',i+1,'|',users[i].author,'|','<a href="'+ users[i].url+'">' + title + '</a>','|', users[i].comments,'|', users[i].length,'|',users[i].percent,'|');
   let z = Number(i + 1);
   notfull = '\n|'+z+'|'+users[i].author+'|'+'<a href="'+ users[i].url+'">' + title + '</a>'+'|'+ users[i].comments+'|'+ users[i].length+'|\n';
  
const fs = require("fs");            
fs.appendFileSync("..\\report"+d+".txt",notfull);


  //    console.log(notfull);

    }
    
      //   console.log('|',i+1,'|',users[i].author,'|','<a href="'+ users[i].url+'">' + title + '</a>','|', users[i].comments,'|', users[i].length,'|');
      
    //  + '\n|'+i+1+'|'+users[i].author+'|'+'<a href="'+ users[i].url+'">' + title + '</a>'+'|'+ users[i].comments+'|'+ users[i].length+'|\n' 

    //console.log(notfull);
    
    

full = `\nОписание процесса составления Rank: https://steemit.com/hive-171319/@alexmove/rank-post-checking-for-the-uniqueness-of-the-text-or-nodejs-for-steemit

Если есть идеи или замечания, то пишите.
Спасибо за внимание


`


    
      const fs = require("fs");            
      fs.appendFileSync("..\\report"+d+".txt",full);
        
        
});
 
connection.end();

fulllistpost.js

const mysql = require("mysql2");
const steem = require('steem');
const fs = require("fs");            
    
let wifkey = 'xxxx';
let votey = "alexmove";
  let num_day = 0;
    //for (var yyy = 0; yyy < 2; yyy++)
    
    var d = new Date(); // Today!
    d.setDate(d.getDate()-1); // 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 = "STEEM-BRU RANK "+d;


steem.broadcast.comment(
    wifkey, // Your posting wif
    '', // Parent Author
    'hive-171319', // 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)});



Sort:  
 3 years ago 

cyxkEVqiiLy2ofdgrJNxeZC3WCHPBwR7MjUDzY4kBNr81Lf4aHoSPdSqiGdeoLJYu9JYK9EaRWxmqnMgbRs8EoEpvrBdUaJwH2t3L7m6kPts25Q52n2MN1xBedLVy9Wt5qp.jpeg

This post has been featured in the latest edition of Steem News...

I have included this post in the 30th issue of Steem News Magazine For Steemit Platform | January 02, 2022.

 3 years ago 

Thank you!

Coin Marketplace

STEEM 0.20
TRX 0.13
JST 0.030
BTC 65733.39
ETH 3506.40
USDT 1.00
SBD 2.51