비개발자도 steemit을 주물러 보자 #2 - 글 등록하기
안녕하세요 @asbear입니다. 비개발자를 위한 스팀 코딩 강좌입니다.
지난회에는, 특정 글의 ID를 이용하여 그 내용을 읽어오는 것을 해보았습니다. 중요한 내용이긴 하지만 다 이해하시지 못했어도 상관 없습니다. 어차피 그부분은 나중에 다시 다룰것입니다. python3을 설치하시고 안에서 몇가지 시도해보신것만으로 충분합니다.
오늘은 코딩을 이용해서 글을 적는것을 해보겠습니다. python3과 steem-python 설치는 완료 하셨지요? 별로 어렵지 않으니 잘 따라와 보세요. ^^
이전글
코드
일단 아래 코드를 보시지요. 스팀잇에 글을 적는 코드입니다. 이해 안되어도 상관 없습니다.
from steem import Steem
my_account = ''
posting_key = ''
title = 'Test'
body = """
Hello,
world!
"""
s = Steem(keys=[posting_key])
p = s.commit.post(
title=title,
body=body,
author=my_account,
permlink=None,
reply_identifier=None,
json_metadata=None,
comment_options=None,
community=None,
tags=['tag1', 'tag2'],
beneficiaries=None,
self_vote=False
)
이 내용을 복사하셔서 posting.py 라는 파일 이름으로 저장하세요. 이 코드는 아직 미완성입니다만 몇가지만 넣으면 완성입니다. 본격적으로 해보시고싶은 분께는 Visual Studio Code 사용을 권장합니다.
자 이제 필요한 부분을 편집 해 봅시다.
글을 적을 사용자 계정
my_account = ''
라인이 보이시죠? 거기서 작은 따옴표 안에 글을 적을 계정명을 적습니다.
예) my_account = 'krfeed'
Posting key 입력
steemit.com 에서 포스팅을 하려면 로그인을 해야 하듯, steem-python으로 글을 적으려면 posting key가 필요합니다. posting key는 아래의 화면에서 "show private key" 버튼을 클릭하면 보실 수 있습니다. 거기에 나오는 posting key를 복사합니다.
복사한 posting key를 posting_key = ''
부분에 넣습니다.
예) posting_key = 'SDFASFGASGASGASASGASGASG'
혹시나 불안해 하실 분들을 위해, @krfeed 계정의 posting key 를 공개해 드리오니 테스트에 사용 해 보세요.
5JeYJonxnXHBRjNPzUWreg6cj3phS9R8HPLPAVrwtb76fZQ7Gc9
이 포스팅 키를 사용하시려면 위에 account에도 krfeed를 넣으셔야 합니다.
제목과 내용 입력
코드에 title = 'Test'
라고 되어 있지요? 이대로 두면 글 제목이 Test 라고 됩니다. 따라서 원하시는 글 제목을 적습니다.
예) title = '스팀잇 주무르기'
마찬가지로 body = """ """
안에 Hello, world! 라는 내용이 있죠? 거기에 글을 적습니다. 어떤 내용이든 적으시고, 마크다운을 그대로 붙여 넣으셔도 됩니다.
셀프 보팅 할지 선택
코드 맨 아래쪽에 보시면 self_vote=False
라는것을 보실 수 있습니다. 글을 적고 보팅을 할것인지 선택하는 것입니다. 저 값을 self_vote=True
로 바꾸시면 셀프 보팅이 됩니다.
실행
위의 내용을 적용한 후 posting.py 파일을 저장하시고 다음과 같이 실행해 보세요.
python posting.py
아무 메시지가 나오지 않을겁니다. 그러면 본인이 등록한 계정에 들어가서 글이 작성 되었나 한번 확인 해 보세요. 참고로 글 작성은 5분에 1번밖에 하지 못하기때문에, 한번 등록되면 5분을 기다려야 합니다. 이 부분은 steemit.com으로 하든 다른것으로 하든 똑같습니다.
결과
@krfeed를 이용하여 글을 등록 해 보았습니다. 다음과 같이 글이 등록 된 것을 보실 수 있습니다. 생각보다 간단하지요?
코드 설명
코드 줄 앞에 #을 붙이면 주석으로 처리되어, 실제 코드에 영향을 미치지 않습니다. 각 라인에 대한 설명을 아래에 주석으로 달아 보겠습니다.
# Steem 모듈을 불러온다
from steem import Steem
# 각각의 값들을 my_account등의 변수에 저장한다.
# 변수로 저장해 두면 나중에 다시 사용할 수 있다.
my_account = ''
posting_key = ''
title = 'Test'
# 글 내용을 저장하는데는 '' 대신 """ """를 사용하였다.
# 저 트리플 쿼테이션은 여러줄의 텍스트를 변수에 저장하는데 사용한다.
body = """
Hello,
world!
"""
# 키를 등록항 Steem 모듈을 생성하고 s 라는 이름으로
# 사용할 수 있도록 한다
s = Steem(keys=[posting_key])
# s의 commit 모듈의 post 함수를 이용하여 글을 등록하고,
# 등록한 글의 Post 객체를 p에 저장한다.
# (Post 객체는 지난번에 언급했던 바로 그것입니다)
p = s.commit.post(
title=title, # 제목, 위에 선언한 title 변수를 대입
body=body, # 내용, 위에 선언한 body 변수를 대입
author=my_account, # 계정, 위에 선언한 my_account 변수 대입
permlink=None, # 자동으로 지정되니 필요없음
reply_identifier=None, # 댓글달때만 사용
json_metadata=None,
comment_options=None,
community=None,
tags=['tag1', 'tag2'], # 글 태그
beneficiaries=None,
self_vote=False # 셀프 보팅
)
부록
steem-python 은 문서화가 잘 되어 있습니다. 강좌보다 앞서가실 분들은 아래 문서를 참고해서 즐기시길.
http://steem.readthedocs.io/en/latest/install.html
마치며
다음회에는 글에 댓글을 등록하는 방법과, 글에 보팅하는 방법을 설명 해 보겠습니다. 당장 필요하지 않더라도, 이해하시는데 도움이 될수있으니 잘 따라와 주시길 바랍니다. 궁금하신점 있으시면 질문 많이 해주세요. 글 등록에 성공하신 분들 계신가요? 축하드립니다!!
앞으로 steemit blockchain stream을 핸들링 하여 간단한 봇을 만들어보는 것을 진행 할 계획이니 잘 따라와 주세요. 제가 비개발자였던 시절이 너무 오래되서 어느정도선에서 설명을 해야하는지 감이 잡히질 않으니, 따라오시는데 버거우시다면 언제든 질문 부탁드립니다.
감사합니다.
Cheer Up!
감사합니다. ^^ asbear님~ 일단 다운 받았고요. 인스톨도 했어요. 완전 초보인 제가 따라갈 수 있나 해봐야 알 수 있을 것 같습니다. ^^
잠시.. 제가 강좌를 다시 준비할 계획입니다. 윈도우에서 원활히 설치가 되지 않는것을 확인했거든요. 조금만 기다려주세요 ^^
네 ^^ 저는 맥이라서 몰랐어요. :) 기다릴께요~ 감사합니당
좋은 하루 되세요~
감사합니다 ㅎㅎㅎ 앞으로 잘 따라가겠습니다.
@issaclab님, 기술적 문제로 인해 다른 방향을 잡아 새로운 강좌를 열 계획입니다. 잘부탁드려요 ^^
차근차근 따라가고 있습니다. 1부떄와 같이 2부도 다 보고 나니.. 3부가 기다려 집니다~!! 일단 풀봇하고 갑니다~!!
skt1님.. 죄송합니다. 윈도우를 안쓴지 오래되어서 몰랐는데, 실제로 설치에 문제가 있네요. steem-python이 해결할문제인데 그걸 기다릴 수는 없고.. 제가 강좌를 조금 변경해서 다시 시작하려고합니다. 기다려주세요!!
진짜 asbear님의 진행 속도는 상황만 되면 엄청나단걸 다시한번 깨닫습니다 ㅎㅎㅎ 바로 다음날 2탄이라뇨. 리스팀 하기 바쁘네요 ㅎㅎ
저번에 왜 그런지 잘 모르겠지만 저의 봇이 댓글을 달고 갔던데 오늘은 제가 직접 왔습니다 ㅋㅋㅋㅋㅋ
이 강좌 개인적으로는 엄청 궁금했고 엄청 도움되는 킹왕짱 강좌입니다 ㅎㅎㅎ 모든강좌 리스팀 하도록 하겠습니다. 감사합니다.
그런데 제가 Windows에서 steem-python 설치에 문제가있다는것도 모르고 이렇게 진행을 해버렸네요. SteemJS로 방향을 바꾸되, 비개발자 대상으로 다시 진행해보려 합니다... 개발자들에게는 도움이 안될 수 있습니다. 리스팀까지 해주신다고 해서 너무 감사했는데.. 파이썬은 개발자를 위한 강좌로 나중에 다시 하기로하겠습니다. ^^
헐!! 이럴수가 ㅎㅎㅎ
근데 저는 SteemJS도 아직 안써봐서 그것도 완전 기대됩니다. 이렇게 대신 적용해보시고 공유 해주시는 것만큼 감사한게 없죠 ㅎㅎ 개발자 상부상조!! ㅋㅋ
제가 이해력이 딸리긴 하지만 한번 해보긴 해야겠네요..
정안되면 친구 찬스라도 써봐야겠어요;;;
위에 댓글처럼.. 부득이하게 방향을 변경하려고 합니다. 기왕 이렇게 된것 더 재밌고 쉬운 강좌를 써볼게요 ^^
좋은 강의 내용~ 응원합니다~
빗블루님 감사드립니다. steem-python이 윈도우에 설치가 원활하게 되지 않는 관계로, 다시 강좌를 열어 모두가 따라할 수 있는내용으로 다시 찾아뵙겠습니다. ^^
포스팅 올라오는 속도가 빠르네요! ㅎㅎ
감사합니다!
코딩 처음하는 사람은 python으로 배우면 참 좋아서 python으로 진행하려고 했는데, 보통 대부분 윈도우즈를 쓰신다는 것을 감안하여, 방향을 바꾸려고 합니다. 새로운 내용으로 다시 찾아뵐게요 ^^
파이썬은 윈도우에서 사용하기에는 불편한가 보군요.. 아직 시작은 하지 않았으나, 자료 같은 것은 찾아봤었는데. 조금 아쉽네요^^; 다음 포스팅 기대하면 기다리겠습니다! ^^
이벤트 당첨되셨어요~ !! 축하드려요.
확인 부탁드려요~
https://steemit.com/kr/@jhani/hello-j-event
우왕 감사드립니다!! 확인하였습니다. ^^
좋은 강의 내용 감사합니다. ^^ 간단한 코드로 업로드를 할 수 있군요..