어느덧 이번주도 불금이로군요.
태풍이 온다고 벌써부터 바람이 거세지고 있는게.. 심상치가 않네요.
주말에 약속해둔 일정이 있는데... 다 미뤄야 할 것 같습니다.
그럼 오늘도 프로그램 일기 남겨보겠습니다.
어제는 파이썬 스팀몬스터 API를 이용하여 사용자가 보유하고 있는 모든 카드의 값을 계산해 보는 코드를 만들어 보았는데요.
오늘은 그 코드를 업그레이드 해서 웹으로 누구나 확인할 수 있도록 프로그램을 짜 보았습니다.
그런데.. 여러 난관이... 쉽게 해결할수 있을지 알았는데, 쉽지가 않네요.
우선 파이썬 코드를 살펴보겠습니다.
steem_id = sys.argv[1]
my_cards = api.get_collection(steem_id)
sale_grouped = api.get_market_for_sale_grouped()
all_cards = api.get_card_details()
사용자 steem_id
는 외부로부터 값을 입력받아 get_collection()
으로 사용자가 가진 모든 카드를 가지고 옵니다.
for mycard in my_cards['cards'] :
for allcard in all_cards :
if (mycard['card_detail_id'] == allcard['id']) :
if card_name is not "" and ( card_name is not allcard['name'] or gold is not mycard['gold'] or edition is not mycard['edition'] or xp is not mycard['xp'] ) :
#print("card_detail_id : ", card_detail_id, " " + edition_p + " " + gold_p + " " + rarity_p + " " + card_name + " " + card_color + " " + str(card_level) + "레벨 xp : ", xp, " " + " ", end='')
#print(math.ceil(card_num), "bcx ", card_num_sum, "장 가격 : ", card_price_sum, "(1장 : ", card_1_price, ")")
data_add['card_detail_id'] = card_detail_id
data_add['edition'] = edition_p
data_add['gold'] = gold_p
data_add['rarity'] = rarity_p
data_add['card_name'] = card_name
data_add['card_color'] = card_color
data_add['card_level'] = card_level
data_add['xp'] = xp
data_add['bcx'] = math.ceil(card_num)
data_add['card_num'] = card_num_sum
data_add['card_price_sum'] = card_price_sum
data_add['card_1_price'] = card_1_price
그리고 모든 카드를 일일이 출력하면 출력 결과가 길어지기 때문에 같은 카드는 경험치별로 묶어서 출력을 하도록 만들어 보았습니다.
if rarity == 1 :
rarity_p = "일반"
elif rarity == 2 :
rarity_p = "희귀"
elif rarity == 3 :
rarity_p = "영웅"
elif rarity == 4 :
rarity_p = "전설"
card_uid = mycard['uid']
if gold :
gold_p = "골드"
else :
gold_p = "일반"
if edition == 0 :
edition_p = "알파"
elif edition == 1 :
edition_p = "베타"
elif edition == 2 :
edition_p = "프로모"
elif edition == 3 :
edition_p = "리워드"
if card_color == "Red" :
card_color = "불"
elif card_color == "Blue" :
card_color = "물"
elif card_color == "Green" :
card_color = "대지"
elif card_color == "White" :
card_color = "생명"
elif card_color == "Black" :
card_color = "죽음"
elif card_color == "Gold" :
card_color = "용"
elif card_color == "Gray" :
card_color = "중립"
그리고 영어로 출력되는 부분을 스팀몬스터 한글화에 맞추어 출력하도록 수정하였습니다.
이제 웹에서 파이썬을 호출하는 코드입니다.
<form method="post" action="<?=$_SERVER['PHP_SELF']?>">
계정이름 : <input type="text" name="userid" value=""><br>
<input type="submit" name="submit" value="실행"><br>
</form>
웹 페이지에 폼을 생성하고 아이디를 입력하고 실행 버튼을 누르면
파이썬 코드가 실행되면서 해당 아이디의 카드 정보를 json 형태로 가져와서 출력합니다.
<table class="table table-striped">
<thead>
<tr>
<th>#</th>
<th>카드아이디</th>
<th>에디션</th>
<th>등급1</th>
<th>등급2</th>
<th>이름</th>
<th>속성</th>
<th>레벨</th>
<th>xp</th>
<th>bcx</th>
<th>장수</th>
<th>합계금액</th>
<th>1장금액</th>
</tr>
</thead>
<tbody>
<?
$sum1 = 0;
$sum2 =0;
for ($i=0; $i<count($out); $i++)
{
$index = $i + 1;
echo "<tr>";
echo "<td>". $index ."</td>";
$json = json_decode($out[$i], true);
foreach ($json as $key => $value){
echo "<td>";
if($key == "card_price_sum")
{
$sum2 = $sum2 + $value;
}
echo $value;
echo "</td>";
};
echo "</tr>";
}
echo "<tfoot>";
echo "<tr>";
echo "<td>"; echo "</td>";
echo "<td>"; echo "</td>";
echo "<td>"; echo "</td>";
echo "<td>"; echo "</td>";
echo "<td>"; echo "</td>";
echo "<td>"; echo "</td>";
echo "<td>"; echo "</td>";
echo "<td>"; echo "</td>";
echo "<td>"; echo "</td>";
echo "<td>"; echo "</td>";
echo "<td>"; echo "계 :"; echo "</td>";
echo "<td>"; echo $sum2; echo "</td>";
echo "<td>"; echo "</td>";
echo "</tr>";
echo "</tfoot>";
?>
</tbody>
</table>
.
.
.
시간이 많지 않은 관계로 디자인 부분은 신경을 아직 못 쓰고 있네요.
.
.
.
{'card_detail_id': 128, 'edition': '프로모', 'gold': '일반', 'rarity': '일반', 'card_name': 'Enchanted Defender', 'card_color': '중립', 'card_level': 1, 'xp': 0,
'bcx': 1, 'card_num': 26, 'card_price_sum': 2.314, 'card_1_price': 0.089}
{'card_detail_id': 129, 'edition': '프로모', 'gold': '일반', 'rarity': '영웅', 'card_name': 'Dwarven Wizard', 'card_color': '중립', 'card_level': 1, 'xp': 0, 'bcx': 1, 'card_num': 1, 'card_price_sum': 2.45, 'card_1_price': 2.45}
{'card_detail_id': 130, 'edition': '프로모', 'gold': '일반', 'rarity': '전설', 'card_name': 'Archmage Arius', 'card_color': '용', 'card_level': 4, 'xp': 7000, 'bcx': 1, 'card_num': 1, 'card_price_sum': 439.99, 'card_1_price': 439.99}
goodhello 카드 총합 : 5460.668
파이썬 프로그램으로 돌린 결과과 웹으로 잘 출력 되고 있네요.
다음의 링크에서 프로그램을 실행할 수 있으니
http://heinz.wo.tc/sm/get_price.php
자신이 가진 스팀몬스터 카드의 값을 알고 싶으신분은 한번 실행해 보시기 바랍니다.
그럼 다음 시간에는 또 다른 재미난 기능을 만들어 보도록 하겠습니다.
신나는 불금 보내시고, 태풍 대비 잘 하시기 바랍니다.
굳헬로의 스팀 프로그램 일기!! 시리즈
#1 Python 프로그램 설치 && steemengine 파이썬 api 설치 && 간단한 steemengine 예제
#2 비주얼 스튜디오 코드 프로그램 설치 && 비주얼 스튜디오 코드를 사용하여 파이썬 다루기 && 간단한 steemengine 예제
#3 스팀엔진 토큰의 정보를 가져오는 findOne() && 누군가의 토큰 사용 내역을 가져오는 get_history() && JSON 데이터 출력
#5 스팀엔진 블록을 뒤져서 원하는 정보를 찾아보자!! 스팀엔진 마켓 거래 내역을 뽑아내는 예제
#7 드디어 첫 실전!! 무한 반복 작업 수행하기!! 이제 직접 클레임 하는 손맛은 잊자. 무한 반복 자동 클레임!!
#8 텔레그램 봇을 이용해 알림을 받아보자!! && 무한 반복 자동 클레임의 정보를 텔레그램으로 받아보기!!
#9 무한 반복 자동 클레임 업그레이드!! && 토큰 잔고 확인 && 토큰 전송과 토큰 전송 내역을 텔레그램으로 받아보기!!
#10 토큰 전송내역을 검사하고, 토큰을 전송 받으면 텔레그램으로 알림을 받아보기!!
#11 스팀엔진 토큰 임대내역 추적. 쉽지 않았던 머나먼 여정 (1/2)
#12 스팀엔진 토큰 임대내역 추적. 쉽지 않았던 머나먼 여정 (2/2) 스팀엔진 토큰 임대내역 추적 완료!!
#13 웹 프로그래밍의 시작!! 파이썬을 이용하여 정보를 MySQL 데이터 베이스에 저장해보기!!
#14 파이썬을 이용하여 데이터베이스로부터 정보를 가져오기 && 스팀코인판 3대풀 임대내역 데이터베이스 작업 완료!!
#15 웹 프로그래밍을 이용하여 스팀코인판 3대조합의 임대 내역을 웹으로 확인해보자 !!
#16 스팀엔진 최신 블록을 검사하여 필요한 정보를 데이터베이스에 저장하기!! 3대 조합의 임대내역을 최신으로 저장하기!!
#17 조합들이 필요한 기능 드디어 완성!! 자동 클레임과 자동 분배 기능!!
#18 스팀코인판 3대 조합의 임대내역과 실시간 예상 분배 금액을 웹으로 확인해보자!!
#19 어제 만든 프로그램 업그레이드!! 개별 상세내역보기 기능 추가!!
#20 시행착오... 그리고 시련... 하지만 원사마님 덕분으로 엄청난 레벨업!! 감사합니다. 더욱 발전하겠습니다.
#21 레벨업을 했지만 또 다시 찾아온 시련!! 프로그램 결과와 블록체인에 기록된 결과가 다르다!! 어떻게 해야 할까...
#22 오늘부터 새로운 도전!! 자동 보팅 만들기!! 그 첫번째 스팀코인판의 소각글에 자동보팅을 해보자!! 첫번째 시간 (1/N)
#23 스팀코인판의 소각글의 정보를 가지고 와서 자동보팅을 해보자!! 그 두번째 시간 (2/N)
#24 스팀코인판 3대조합의 임대내역을 웹으로 확인해보자!! 업그레이드!!
#25 스팀코인판 3대조합의 임대내역을 웹으로 확인해보자!! 업그레이드 2!! 그리고 개발 예정 사항 공개!!
#26 드디어 첫 실전 가동 준비중... 스팀코인판 유니온 조합의 수익 자동분배 작업 완료중...
#27 스팀코인판 유니온 조합 첫 자동 분배 결과!! 그리고 보완!!
#28 스팀코인판 유니온 조합 자동 분배 프로그램의 결과를 웹으로 확인해 보자!!
#29 스팀코인판 유니온 조합 자동 분배 상황을 텔레그램으로 확인!! 임내 확인 페이지 정렬 기능 추가!!
#30 스팀코인판 조합의 임대량 페이지 정렬 기능 업그레이드!! 그리고 임대량 파이 차트 완성!!
#31 스팀코인판 조합의 하루하루 임대량 변화를 차트로 확인해보자!!
#32 트리플A를 이용하면서 그동안 번거로웠던 클레임 스테이킹 전송 작업 이젠 안녕!! 자동으로 AAA를 전송하고 클레임하고 스테이킹을 해보자!!
#33 굳헬로가 만든 스팀코인판 조합 자동 클레임과 자동 분배 프로그램 원피스 조합에도 사용 개시!!
#34 스팀코인판 조합 원피스 자동 클레임과 자동 분배 프로그램 업그레이드!! 텔레그램 봇으로 그룹 메시지를 받아보자!!
#35 스팀에서 새글 정보를 텔레그램으로 받아보자!! 함께 정보를 받아보는 텔레그램 그룹방 개설!!
#36 스팀엔진 블록 검사 놓치는 블록이 없도록 해보자!! 파일 입출력 기능 활용!!
#37 스팀엔진 블록을 검사하여 본인글의 댓글을 텔레그램 알람으로 받아보자!!
#38 드디어 완성!! 보팅 알람봇!! 스팀엔진 블록을 검사하여 본인글에 보팅이 찍히면 텔레그램 알람으로 받아보자!!
#39 파이썬과 텔레그램을 이용한 챗봇 프로그래밍의 시작!! 그 첫번째!! 챗봇과 대화를 해보고,특정 메시지에 반응을 해보자!!
#40 파이썬과 텔레그램을 이용한 챗봇 프로그래밍!! 파이썬에 CommandHandler를 사용하여 특정 명령어를 내려보자!!
#41 굳헬로의 텔레그램 보팅알람 서비스 일단은 완성!! 앞으로 다양한 기능 추가 예정!! 사용해보고 후기 남겨주세요!!
#42 업비트의 원화 마켓 코인들의 시세를 텔레그램으로 받아보자!! /get 비트코인, /get 스팀, /get 코인이름 명령어 등록!!
#43 업비트의 원화 마켓 코인들의 시세를 텔레그램으로 받아보자2!! 알려줘 비트코인, 알려줘 스팀 노노!! 이제 바로 비트코인 스팀 명령어 등록!!
#44 매일 매일 새로운 기능이 추가되고 있는 굳스팀 챗봇!! 챗봇을 이용하여 스팀엔진 토큰의 시세 정보를 받아보자!!
#45 텔레그램 챗봇을 이용하여 최신 코인 주요 뉴스를 받아보자!! 굳스팀 챗봇 소개!!
#46 굳스팀 텔레그램 챗봇 새 기능 추가!! 굳스팀 챗봇을 이용하여 최신 헤드라인 뉴스 정보를 받아보자!!
#47 뉴스를 구독해보자!! 명령어 입력없이 특정 시간 챗 봇이 뉴스를 자동으로 보내 드립니다.
#48 본격적으로 스팀코인판 조합의 자동 보팅시스템 제작 돌입!! 기본 설계 및 보팅 설정 페이지 작업 완료!!
#49 스팀코인판 조합의 자동 보팅시스템 제작 2번째 시간!! 보팅 설정에 따라 각 조합원 별로 보팅룰을 적용해 보자!!
#50 스팀코인판 조합의 자동 보팅시스템 제작 3번째 시간!! 설 정된 보팅룰을 파이썬 자동 보팅 프로그램에 가져오기!!
#51 스팀코인판 조합의 자동 보팅시스템 제작 4번째 시간!! 블록을 검사하여 설정된 보팅룰로 보팅하기!!
#52 스팀코인판 조합의 자동 보팅시스템 제작 5번째 시간!! 자동 보팅시스템 테스트 현황!! 굳!! 따봉~~
#53 스팀코인판 조합의 자동 보팅시스템 제작 6번째 시간!! 보팅룰 검사 프로그램과 자동 보팅 프로그램의 분리!!
#54 스팀코인판 조합의 자동 보팅시스템 제작 마지막 시간!! 드디어 실전 가동!! 오류 수정 및 보팅 현황 확인 웹 페이지 제작 완료!!
#55 이번에는 유니온 조합의 자동보팅 시스템을 만들어 보자!! 유니온 조합의 보팅설정 프로그램과 보팅 설정 결과 확인 기능 완료!!
#56 스팀 블록을 검사하여 유니온 조합의 조합원 글에 보팅 룰셋 적용 및 자동 보팅 수행!!
#57 유니온 조합 우량 임대자 우대 조치!! 특별 규칙에 따른 보팅 설정 적용!!
#58 유니온 조합 자동 보팅 프로그램 테스트 결과 성공!! 보팅 현황을 확인할 수 있는 웹 페이지 추가 완료!!
#59 새로운 프로그램 공부를 시작!! 스팀몬스터 자동화를 위해 스팀몬스터 API를 분석해보자!! 그 첫시간!!
#60 스팀몬스터 사용자 정보를 출력해보고, 사용자가 가진 카드 정보를 출력해보자.
#61 조합의 자동분배 프로그램 수정 및 유니온 자동보팅 프로그램 가동 시작!! 오늘도 파이썬으로 스팀몬스터 API를 공부해 보자!!
#62 조합의 자동보팅 프로그램 업그레이드!! 오늘은 스팀몬스터 마켓의 정보를 가져오는 API를 공부해 보자!!
즐거운 주말 보내세요
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
행복한 주말 보내시길 바래요~
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
jcar토큰 9월 구독 보팅입니다.
좋은 하루 보내세요. ^^
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
감사합니다~~
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
이번 태풍은 비도 많이 온다고 하던데... 걱정이네요!!
태풍 피해 없으시길 바랄께요^^ 즐거운 불금 되세요~
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
그러게요... 놀러가기로 했는데.. 태풍이 ㅠㅠ
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hi @goodhello!
Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 4.012 which ranks you at #3993 across all Steem accounts.
Your rank has not changed in the last three days.
In our last Algorithmic Curation Round, consisting of 101 contributions, your post is ranked at #68.
Evaluation of your UA score:
Feel free to join our @steem-ua Discord server
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit