Development of automation for checking uniqueness in STEEMIT. Part 6. Setting to local checking 77 community

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

image.png

Plan:

  • write a comment only if the uniqueness is below 100%
  • set up test every day checks for the previous day
  • continue checks for every day, but set up reports every 7 days
  • publish reports every 7 days on the community
  • configure all communities in STEEMIT for verification (about 77 communities)
  • set up a server and do real-time checks

План:

  • писать комментарий только при уникальности ниже 100%
  • наладить тестовые каждый день проверки за прошлый день
  • продолжить проверки за каждый день, но настроить отчеты каждый 7 дней
  • публиковать отчеты каждый 7 дней по сообществу
  • настроить все сообщества в STEEMIT на проверку (порядка 77 сообществ)
  • наладить сервер и делать проверки в режиме реального времени

Install:

  1. Copy folder

  2. Rename folder

  3. Add hive-... to folder as file

  4. Create MySqlDB:
    4.1. Open Create.js
    4.2. Create DB
    4.3. Create spisok & number
    4.4. Insert manual number

  5. Edit spisok - insert hive-...

  6. Edit addpost - insert hive-...

  7. Edit config - insert name DB

  8. Edit post - insert name DB

  9. Create IMG for post

  10. Edit bat files

  11. Run spisok.js

  12. Run addpost.js

  13. Run uniq.js
    11 x N with Task Till Dawn https://www.oliver-matuschin.de

  14. Run list

  15. Run Post

Пакет для локальной проверки:

Файлы:

addpost
config
create
list
post
spisok
uniq

  • bat-files

addpost

const fs = require("fs");
const steem = require('steem');
const config = require('./config');
let hive_name = "hive-151446";

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


                        }
            }


    }
        });
}

    });

config

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

create

//CREATE DATABASE [IF NOT EXISTS] имя_базы_даных;


const mysql = require("mysql2");

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

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

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

//let sql = `create table if not exists starsofsteem.post_number( id int primary key auto_increment, number int)`;

//create database starsofsteem;
//npm i steem
//npm i form-data
//npm i axois

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

connection.end();



list


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

    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, '');
    

let mytable = 'p'+d;


    let full = `![03 03 (3).png](https://cdn.steemitimages.com/DQmf9LYKqgW5nT5DcWUjnUJMCaKn81UGfYDDCvycxqF2xNp/03%2003%20(3).png)




|N|acc|title|comm|length|uniq|
------------|-------------|------------|-------------|----|-----|`;


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()-num_day); // 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+'|'+ users[i].percent+'|\n';
  
const fs = require("fs");            
fs.appendFileSync("report"+d+".txt",notfull);

    }

    

full = `\n
Подробности о проверках тут:
Details about checks are here:

https://steemit.com/hive-171319/@alexmove/development-of-automation-for-checking-uniqueness-in-steemit-part-5-mysql-connection

Have a nice day!



`


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


post


const mysql = require("mysql2");
const steem = require('steem');
const fs = require("fs");    
const config = require('./config');
let hive_name = 'hive-151446';

    
let wifkey = 'xxxx';
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()
    
        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. Stars of Steem Checking The Uniqueness "+d;


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




spisok

const fs = require("fs");
const steem = require('steem');
let body3R = '';
const config = require('./config');
let hive_name = "hive-151446";

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

    var query = { limit : 100, tag : hive_name };

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


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

}


}
        });
//});


uniq


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() });
                    let answer2
                    data = res.data;
                    console.log(data);
                    console.log(data.percent);
                    console.log(data.matches[3]);
                    
                    if (data.percent == '100.0')
                    {
                         answer2 = data.percent + "% uniqueness of the text " + " <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> ";
                        console.log('data1!!!!!!');

                    }
                    else
                    {
                        answer2 = data.percent + "% uniqueness of the text " + " <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><br> Attention please. The percentage of uniqueness is below 100%. cc: @alexmove @ac-cheetah ";
                        console.log('2222data2222!!!!!!');

                    }
  
                    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;
                    });
                } 
            }
        });
    
   });
   
                    

bat-files

cmd /c node c:\l77\starsofsteem\addpost.js

Have a nice day!

Sort:  

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

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

 2 years ago 

Happy-people-walking-and-having-fun-in-winter-park.png

Coin Marketplace

STEEM 0.29
TRX 0.11
JST 0.031
BTC 67920.11
ETH 3854.77
USDT 1.00
SBD 3.69