STEEM-BRU RANK POST 16.10.2021 - with points! with sort. Real Rank!

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

image.png

Nаккаунтдлина постабаллы
1solox119073.6
2alexmove64823.5
3antikus36959633.4
4nastena0951313.3
5darina1449223.2
6liutik248513.1
7daybook48453
8samsonik41782.9
9progressivechef39862.8
10makcl33972.7
11jurgan31052.6
12slon21veka28962.5
13rabibulhasan7127222.4
14jurgan26472.3
15steem-bru26012.2
16greatketty25372.1
17notannov24532
18golden-rain23511.9
19greencmetaha22971.8
20bukvoed21241.7
21filinpaul20531.6
22greatketty20481.5
23ekatirina20271.4
24mamamasha18881.3
25notannov17631.2
26qwerrie17441.1
27olesia17051
28notannov15480.9
29greencmetaha14530.8
30may201514490.7
31greencmetaha13350.6
32nastena0912270.5
33diivlev10900.4
34diivlev8080.3
35sevkrp6530.2
36yura771320.1

Уже переделан под MYSQL. скоро выложу отдельным постом.

Rank Post сделал в полуавтоматическом режиме с помощью скрипта, который описан в этом посте:
https://steemit.com/hive-171319/@alexmove/steemit-rank-users-posts-nodejs-1

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

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

let accounts = fs.readFileSync('spisok.txt').toString().split(" ");
console.log(accounts);


accounts.forEach(function (element,i,array){
    steem.api.getDiscussionsByAuthorBeforeDate(element,null, new Date().toISOString().split('.')[0],20 , function(err, result) {
     //  console.log(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('Длина поста');
                       console.log(raw.body_length);
                         console.log('Количество ожидаемого вознаграждения');
                       console.log(raw.pending_payout_value);
     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() - 1); // 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'))

    {
    body3R =  `| `+raw.author + `| <a href="`+raw.url+`">` + title + `</a>| `+ upvote + `| ` +  `????`  + `| ` + raw.children+`| ` + raw.body_length+ ' | \n';
    console.log(body3R);
    
            const mysql = require("mysql2");
  
const connection = mysql.createConnection({
  host: "localhost",
  user: "root",
  database: "thewordgame",
  password: "xxxx"
});

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

                    const sql = `INSERT INTO p1610(author, created, length, url, comments, upvotes ) VALUES('${raw.author}', '${raw.created}', '${raw.body_length}', '${raw.url}', '${raw.children}', '${upvote}')`;

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

connection.end();

        console.log(raw.created);
            fs.appendFileSync("rank.txt",body3R);

    }
}



    });
    

});



А это сортировка, скрипт второй:

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

let mytable = 'p1610';

const sql = `SELECT * FROM ${mytable} ORDER BY length DESC` ;
connection.query(sql,  function(err, results) {
    if(err) console.log(err);
    const users = results;
    console.log(users);
    for(let i=0; i < users.length; i++){
               let formula = (users.length - i)/10;

const connection = mysql.createConnection({
  host: "localhost",
  user: "root",
  database: "thewordgame",
  password: "xxx"
});
            const sql = `UPDATE ${mytable} SET points=${formula} WHERE id=${users[i].id}`;
            
        //console.log (`UPDATE ${mytable} SET point=${formula} WHERE author=${users[i].id}`);
        
        //console.log (users[i].id);
        
            connection.query(sql,function(err, results) {
            if(err) console.log(err);
            //console.log(results);
            });
            
connection.end();

      console.log('|',i+1,'|',users[i].author,'|',users[i].length,'|',formula,'|');

    }
});
 
connection.end();