Node.js로 스티밋에서 할 수 있는 것(5): 댓글달기 그리고 댓글에 보팅하기

in #kr8 years ago (edited)

우리가 올린 글의 댓글 중에 가끔씩 이런 댓글이 달리는 경우를 볼 수 있다. 봇이 조건에 맞는 글에 대하여 자동으로 댓글을 달고 보팅을 하는 경우이다.

위 그림과 같이 node.js로 댓글을 다는 방법과 댓글에 보팅하는 방법에 대하여 알아보자.

1 . 댓글달기

이와 관련된 함수는 아래와 같다.

steem.broadcast.comment (
    private_posting_wif,  // Posting용 private key
    parent_author,        // 댓글을 달 글의 저자 
    parent_permlink,      // 댓글을 달 글의 링크
    author,               // 댓글을 달 사람. posting 용의 주인
    permlink,             // 사용할 링크
    title,                // 제목
    body,                 // 글 내용
    json_metadata         // 무시)

사실 steem.broadcast.comment 함수는 글을 올릴 때도 사용할 수 있다. 정확한 사용법은 확인 후 posing 예정이다.

댓글용 permLink를 아무것이나 하면 오류가 발생한다. 그래서 댓글용 permLink를 아래 함수를 이용하여 생성하 여야 한다.

const commentPermlink = steem.formatter.commentPermlink(parentAuthor, parentPermlink)

특정 글에 댓글을 다는 과정을 코드로 보자.
image.png

설명한 대로 함수 콜 한번이면 끝난다. 댓글용 permLink만 조심하면 문제가 없다.

2. 댓글단 글에 보팅하기

4편에서 언급한 보팅하기와 같은 함수를 사용하면 된다. 다만 글의 링크를 방금 만든 댓글용 permLink를 사용하면 된다.

1, 2번을 함께 한 코드를 보면 다음과 같다.

steem.broadcast.comment(wif, parentAuthor, parentPermlink, author, commentPermlink,
    title, body, jsonMetadata, function (err, commentResult) {
    if(err == null) {
        console.log(err, commentResult);
        // voint on this comment
        steem.broadcast.vote(wif, voter, author, commentPermlink, weight, function (err, voted) {
            if (err === null) {
                console.log("voting success");
            }
            else {
                console.log(err.message.split("{}")[0])
            }
        });
    }
    else {
        console.log(err.message.split("{}")[0])
    }
});

특별히 언급할 사항은 없다. 다른 함수에 비하여 이번 함수는 큰 문제없이 잘 마무리가 되었다.

이와 관련된 소스코드는 아래 사이트에 있다.
https://github.com/multiwhs/steem-js/blob/master/app%20creating%20comment%20and%20voting.js


이전 글 보기

Node.js로 ..(1) :원하는 작가들의 최신 글 리스트 받기

Node.js로 ..(2): 디버깅 방법 및 excel로 활용하기

Node.js로 ..(3) : 보팅한 이웃과 금액 보기

Node.js로 ..(4): 보팅하기

Sort:  

그하~~ 자세히 설명해 주셔도 거의 외계어 수준이라. 보는 것만으로도 어질 어질.
나중에 저도 봇 가질 수 있겠죠^^
그런데 스팀에서 봇은 좀 삭만한데.

저에게는 너무 어려운.ㅠ
배워보고 싶네요.ㅠ

아 대단하십니다!!!
그냥 감탄하면서 읽어봅니다
앞으로 많이 소개주세요
소소한 영감 얻고 갑니다

블록체인 기술이 대단합니다

일반인이 읽어도 어느정도
어떻게 동작하는지 보이네요

늘 좋은 정보 감사합니다. 그런데 자바스크립트가 쉬운가요. 파이썬이 쉬운가요?
저는 파이썬으로 해서 그런지 자바스크립트가 복잡해 보입니다.

저도 파이썬이 좋은 것 같습니다. steem-python이 설치가 되지 않아서 할 수없이 node.js로 하고 있어요.

그러시군요. 까탈스럽게 가리는 군요^^

봇...
인간미는 없는 것 같지만, 목적을 가지고 하는 분들에게는 엄청 유용할 듯 합니다^^

원하는 기능을 이렇게 구현하시는 분들 대단하십니다. 그나저나 외계어보니 눈이 팽팽 돌아가요~~@@;

블록체인 기술이 대단합니다

일반인이 읽어도 어느정도
어떻게 동작하는지 보이네요

뭔지 모르는게 달리는데 왜 달리는지는 모르는 그것들이군요 ㅎㅎㅎㅎ 한때는 많이본거같은데 요샌 별로 못봤네요

Coin Marketplace

STEEM 0.09
TRX 0.32
JST 0.031
BTC 108872.54
ETH 3917.01
USDT 1.00
SBD 0.60