STEEM-BRU RANK POST 16.10.2021 - with points! with sort. Real Rank!
N | аккаунт | длина поста | баллы |
---|---|---|---|
1 | solox | 11907 | 3.6 |
2 | alexmove | 6482 | 3.5 |
3 | antikus369 | 5963 | 3.4 |
4 | nastena09 | 5131 | 3.3 |
5 | darina14 | 4922 | 3.2 |
6 | liutik2 | 4851 | 3.1 |
7 | daybook | 4845 | 3 |
8 | samsonik | 4178 | 2.9 |
9 | progressivechef | 3986 | 2.8 |
10 | makcl | 3397 | 2.7 |
11 | jurgan | 3105 | 2.6 |
12 | slon21veka | 2896 | 2.5 |
13 | rabibulhasan71 | 2722 | 2.4 |
14 | jurgan | 2647 | 2.3 |
15 | steem-bru | 2601 | 2.2 |
16 | greatketty | 2537 | 2.1 |
17 | notannov | 2453 | 2 |
18 | golden-rain | 2351 | 1.9 |
19 | greencmetaha | 2297 | 1.8 |
20 | bukvoed | 2124 | 1.7 |
21 | filinpaul | 2053 | 1.6 |
22 | greatketty | 2048 | 1.5 |
23 | ekatirina | 2027 | 1.4 |
24 | mamamasha | 1888 | 1.3 |
25 | notannov | 1763 | 1.2 |
26 | qwerrie | 1744 | 1.1 |
27 | olesia | 1705 | 1 |
28 | notannov | 1548 | 0.9 |
29 | greencmetaha | 1453 | 0.8 |
30 | may2015 | 1449 | 0.7 |
31 | greencmetaha | 1335 | 0.6 |
32 | nastena09 | 1227 | 0.5 |
33 | diivlev | 1090 | 0.4 |
34 | diivlev | 808 | 0.3 |
35 | sevkrp | 653 | 0.2 |
36 | yura77 | 132 | 0.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();