목요일 잘 보내고 계신가요??
오늘은 드디어 아들님의 방학이 끝나고 개학날!!
맞벌이를 하다보니 힘든 방학을 보낸것 같은데..
다시 평범한 일상으로 돌아온 것 같습니다.
그럼 오늘도 힘내서 프로그램 일기 남겨 보겠습니다.
어제는 제가 만든 텔레그램 봇에 업비트의 원화 마켓 코인들의 시세를 받아보는 커맨드 명령어를 등록해 보았는데요.
텔레그램에 제가 만든 굳스팀 챗봇을 통해서
업비트에 상장된 코인의 시세 정보를 받아볼 수 있었습니다.
이 작업은 파이썬 텔레그램 API를 이용하여 CommandHandler
로 명령어를 등록하여 사용하였는데요.
오늘은 이를 수정하고 업그레이드 하여 그냥 일반 메시지일때도 코인의 시세 정보를 받아볼 수 있게 코드를 추가해 보았습니다.
일단 커맨드 명령어를 사용할땐 /get
명령어를 CommandHandler
를 통해 등록하고, 챗봇에 해당 명령어가 입력될때 정해진 함수가 실행되는데요.
updater.dispatcher.add_handler(MessageHandler(Filters.text, get_message))
일반 메시지는 MessageHandler
를 통해 등록하고 커맨드 명령어( / 로 시작되는 )가 아닌경우 get_message()
함수가 호출이 되게 됩니다.
get_message()
함수에 알려줘 코인명
이라는 메시지가 왔을때 코인의 시세 정보를 출력하도록 코드를 짜보았습니다.
def get_message(bot, update) :
message = update.message.text
if ' ' in message :
check_message = message.split(' ')
if(check_message[0] == "알려줘") :
get_price(check_message[1], update)
else :
update.message.reply_text("등록되지 않은 명령어 입니다.")
else :
if(message == "알려줘") :
update.message.reply_text("시세를 알고 싶은 코인명을 넣어주세요. \n 예) 알려줘 비트코인 \n 알려줘 스팀")
그리고 코인의 시세를 출력하는 get_price()
함수를 만들었습니다.
def get_price(find, update) :
upbit = Upbitpy()
check_find = "0"
for ret in upbit.get_market_all() :
if find == ret['korean_name'] :
if "KRW" in ret['market'] :
check_find = "1"
ticker1 = upbit.get_ticker([ret['market']])
reply_text = ret["korean_name"] + "의 업비트 원화 시세는 " + str(ticker1[0]['trade_price']) + "원 입니다."
update.message.reply_text(reply_text)
if check_find == "0" :
update.message.reply_text(find + "는 업비트에 없습니다.")
이제 알려줘 비트코인
, 알려줘 스팀
이렇게 챗봇에 메시지를 보내면
그리고 잘못된 명령어나 코인명이 없는 경우에는
위와 같이 출력되게 됩니다.
그런데 여기까지 작업하고 나서 약간 아쉬운 마음이 들더라구요.
꼭 /get 스팀
알려줘 스팀
이라고 쳐야 하나 싶네요.
그래서 그냥 코인명, 즉 비트코인
, 스팀
만 쳐도 시세를 출력하도록 코드를 수정하였네요.
그 결과
정말 간편하게 코인의 시세를 확인할 수가 있게 되었습니다.
그나저나 챗봇을 공부 해보니 정말 재미있네요.
그리고 제가 있는 단톡방에서 챗봇으로 매일 아침 특정 사진이나 뉴스 요약 같은걸 받아보면 좋겠다는 이야기가 나왔는데, 정말 멋진 생각이네요.
앞으로 챗봇에 다양한 기능을 받아볼 수 있는 기능을 넣어봐야 겠습니다.
명령어를 보내지 않더라도, 개인별로 특정 정보를 받아볼 수 있도록 등록하면 정해진 시간에 자동으로 메시지가 오도록 만들어 보겠습니다.
이것을 만들려면 많이 생각하고, 많이 연구해야 할 것 같은데... 힘내 보겠습니다.
그럼 여러분들 오늘 하루도 행복하시고~ 파이팅!! 입니다~
굳헬로의 스팀 프로그램 일기!! 시리즈
#1 굳헬로의 스팀 프로그램 일기!! 대망의 시작 #1 Python 프로그램 설치 && steemengine 파이썬 api 설치 && 간단한 steemengine 예제
#2 굳헬로의 스팀 프로그램 일기!! 그 두번째 #2 비주얼 스튜디오 코드 프로그램 설치 && 비주얼 스튜디오 코드를 사용하여 파이썬 다루기 && 간단한 steemengine 예제
#5 굳헬로의 스팀 프로그램 일기!! 다섯번째 #5 스팀엔진 블록을 뒤져서 원하는 정보를 찾아보자!! 스팀엔진 마켓 거래 내역을 뽑아내는 예제
#6 굳헬로의 스팀 프로그램 일기!! 여섯번째 #6 파이썬으로 스팀엔진 토큰들을 클레임 해보자.
#8 굳헬로의 스팀 프로그램 일기!! 여덟번째 #8 텔레그램 봇을 이용해 알림을 받아보자!! && 무한 반복 자동 클레임의 정보를 텔레그램으로 받아보기!!
#9 굳헬로의 스팀 프로그램 일기!! 아홉번째 #9 무한 반복 자동 클레임 업그레이드!! && 토큰 잔고 확인 && 토큰 전송과 토큰 전송 내역을 텔레그램으로 받아보기!!
#10 굳헬로의 스팀 프로그램 일기!! 열번째 #10 토큰 전송내역을 검사하고, 토큰을 전송 받으면 텔레그램으로 알림을 받아보기!!
#11 굳헬로의 스팀 프로그램 일기!! 열한번째 #11 스팀엔진 토큰 임대내역 추적. 쉽지 않았던 머나먼 여정 (1/2)
#12 굳헬로의 스팀 프로그램 일기!! 열두번째 #12 스팀엔진 토큰 임대내역 추적. 쉽지 않았던 머나먼 여정 (2/2) 스팀엔진 토큰 임대내역 추적 완료!!
#13 굳헬로의 스팀 프로그램 일기!! 열세번째 #13 웹 프로그래밍의 시작!! 파이썬을 이용하여 정보를 MySQL 데이터 베이스에 저장해보기!!
#14 굳헬로의 스팀 프로그램 일기!! 열네번째 #14 파이썬을 이용하여 데이터베이스로부터 정보를 가져오기 && 스팀코인판 3대풀 임대내역 데이터베이스 작업 완료!!
#15 굳헬로의 스팀 프로그램 일기!! 열다섯번째 #15 웹 프로그래밍을 이용하여 스팀코인판 3대조합의 임대 내역을 웹으로 확인해보자 !!
#16 굳헬로의 스팀 프로그램 일기!! 열여섯번째 #16 스팀엔진 최신 블록을 검사하여 필요한 정보를 데이터베이스에 저장하기!! 3대 조합의 임대내역을 최신으로 저장하기!!
#17 굳헬로의 스팀 프로그램 일기!! 열일곱번째 #17 조합들이 필요한 기능 드디어 완성!! 자동 클레임과 자동 분배 기능!!
#18 굳헬로의 스팀 프로그램 일기!! 열여덟번째 #18 스팀코인판 3대 조합의 임대내역과 실시간 예상 분배 금액을 웹으로 확인해보자!!
#19 굳헬로의 스팀 프로그램 일기!! 열아홉번째 #19 어제 만든 프로그램 업그레이드!! 개별 상세내역보기 기능 추가!!
#20 굳헬로의 스팀 프로그램 일기!! 어느덧 스물번째 #20 시행착오... 그리고 시련... 하지만 원사마님 덕분으로 엄청난 레벨업!! 감사합니다. 더욱 발전하겠습니다.
#21 굳헬로의 스팀 프로그램 일기!! 스물한번째 #21 레벨업을 했지만 또 다시 찾아온 시련!! 프로그램 결과와 블록체인에 기록된 결과가 다르다!! 어떻게 해야 할까...
#22 굳헬로의 스팀 프로그램 일기!! 스물두번째 #22 오늘부터 새로운 도전!! 자동 보팅 만들기!! 그 첫번째 스팀코인판의 소각글에 자동보팅을 해보자!! 첫번째 시간 (1/N)
#23 굳헬로의 스팀 프로그램 일기!! 스물세번째 #23 스팀코인판의 소각글의 정보를 가지고 와서 자동보팅을 해보자!! 그 두번째 시간 (2/N)
#24 굳헬로의 스팀 프로그램 일기!! 스물네번째 #24 스팀코인판 3대조합의 임대내역을 웹으로 확인해보자!! 업그레이드!!
#25 굳헬로의 스팀 프로그램 일기!! 스물다섯번째 #25 스팀코인판 3대조합의 임대내역을 웹으로 확인해보자!! 업그레이드 2!! 그리고 개발 예정 사항 공개!!
#26 굳헬로의 스팀 프로그램 일기!! 스물여섯번째 #26 드디어 첫 실전 가동 준비중... 스팀코인판 유니온 조합의 수익 자동분배 작업 완료중...
#27 굳헬로의 스팀 프로그램 일기!! 스물일곱번째 #27 스팀코인판 유니온 조합 첫 자동 분배 결과!! 그리고 보완!!
#28 굳헬로의 스팀 프로그램 일기!! 스물여덟번째 #28 스팀코인판 유니온 조합 자동 분배 프로그램의 결과를 웹으로 확인해 보자!!
#29 굳헬로의 스팀 프로그램 일기!! 스물아홉번째 #29 스팀코인판 유니온 조합 자동 분배 상황을 텔레그램으로 확인!! 임내 확인 페이지 정렬 기능 추가!!
#30 굳헬로의 스팀 프로그램 일기!! 서른번째 #30 스팀코인판 조합의 임대량 페이지 정렬 기능 업그레이드!! 그리고 임대량 파이 차트 완성!!
#31 굳헬로의 스팀 프로그램 일기!! 서른한번째 #31 스팀코인판 조합의 하루하루 임대량 변화를 차트로 확인해보자!!
#33 굳헬로의 스팀 프로그램 일기!! 서른세번째 #33 굳헬로가 만든 스팀코인판 조합 자동 클레임과 자동 분배 프로그램 원피스 조합에도 사용 개시!!
#34 굳헬로의 스팀 프로그램 일기!! 서른네번째 #34 스팀코인판 조합 원피스 자동 클레임과 자동 분배 프로그램 업그레이드!! 텔레그램 봇으로 그룹 메시지를 받아보자!!
#35 굳헬로의 스팀 프로그램 일기!! 서른다섯번째 #35 스팀에서 새글 정보를 텔레그램으로 받아보자!! 함께 정보를 받아보는 텔레그램 그룹방 개설!!
#36 굳헬로의 스팀 프로그램 일기!! 서른여섯번째 #36 스팀엔진 블록 검사 놓치는 블록이 없도록 해보자!! 파일 입출력 기능 활용!!
#37 굳헬로의 스팀 프로그램 일기!! 서른일곱번째 #37 스팀엔진 블록을 검사하여 본인글의 댓글을 텔레그램 알람으로 받아보자!!
#38 굳헬로의 스팀 프로그램 일기!! 서른여덟번째 #38 드디어 완성!! 보팅 알람봇!! 스팀엔진 블록을 검사하여 본인글에 보팅이 찍히면 텔레그램 알람으로 받아보자!!
#39 굳헬로의 스팀 프로그램 일기!! 서른아홉번째 #39 파이썬과 텔레그램을 이용한 챗봇 프로그래밍의 시작!! 그 첫번째!! 챗봇과 대화를 해보고,특정 메시지에 반응을 해보자!!
#40 굳헬로의 스팀 프로그램 일기!! 마흔번째 #40 파이썬과 텔레그램을 이용한 챗봇 프로그래밍!! 파이썬에 CommandHandler를 사용하여 특정 명령어를 내려보자!!
#41 굳헬로의 스팀 프로그램 일기!! 마흔한번째 #41 굳헬로의 텔레그램 보팅알람 서비스 일단은 완성!! 앞으로 다양한 기능 추가 예정!! 사용해보고 후기 남겨주세요!!
#42 굳헬로의 스팀 프로그램 일기!! 마흔두번째 #42 업비트의 원화 마켓 코인들의 시세를 텔레그램으로 받아보자!! /get 비트코인, /get 스팀, /get 코인이름 명령어 등록!!
otage님의 Nymph Dismantles Paladin • Kill Of The Day • Kill Of The Day
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
네.. ㅠㅠ 가격이 정말 ㅠㅠ
그래도 텔레그램 봇 추가해서 알림도 받고 한번 사용해 보세요~
그나저나 naha.sct 조합에 아직 임대 회수를 안하셨네요.
http://heinz.wo.tc/sct2/#n1
혼자 남으셨네요.... 얼릉 임대 회수 하시길...
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
tradingideas님의 [개발] 스몬 좀 잘해보자!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
newbijohn님의 [SCT] 프로 소각러들의 소각 통계 # 19.8.28
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 3.983 which ranks you at #4068 across all Steem accounts.
Your rank has not changed in the last three days.
In our last Algorithmic Curation Round, consisting of 118 contributions, your post is ranked at #106.
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
Thank you for your continued support towards JJM. For each 1000 JJM you are holding, you can get an additional 1% of upvote. 10,000JJM would give you a 11% daily voting from the 700K SP virus707 account.
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