팁 & 노하우

|  분야 불문! 어떤 분야든지 자신이 알고 있는 팁이나 노하우를 남겨주세요.

조회 수 209 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

안녕하세요?


humit 님이나 네모 님 같은 고수님께서 보시기에는 


마치 숀 화이트 앞에서 스노보드를 타거나 


걸그룹의 리드댄서 앞에서 춤을 추는 것처럼 매우 유치한 내용이겠지만 


제가 예전에 올린 스크립트를 보완하는 의미에서 글을 적어봅니다 ^^;;;



기억이 나실지는 모르겠지만 제가 파이썬 텔레그램 봇을 이용한 


간단한 새 글 알림 스크립트에 관해 글을 올린 적이 있었는데요.


제 개인적으로는 신간도서 등을 확인하기 위해 그럭저럭 잘 사용하고 있습니다.


https://studyforus.com/share/261210

안녕하세요? 파이썬(파이썬 텔레그램 봇 패키지 포함), 텔레그램, 그리고 크론탭을 이용해서 어느 게시판이...
Study For Us / 2017-11-19



위와 같은 스크립트에서 봇과의 채팅창에 장시간 아무런 대화가 없을 경우에


다음과 같은 IndexError가 발생합니다.


"IndexError: list index out of range"


크론탭에 걸어놓고 다음날 로그를 보면 위와 같은 에러를 확인할 수 있습니다.


물론 봇에게 아무 톡이나 하나 보내면 해결되지만 


그것도 은근히 귀찮고 채팅방의 다른 사람들이 새 글이 떴다고 오해할 수도 있죠 ㅠㅠ

(혼잣말 하는 것이 싫어서 에코봇을 넣은 적도 있습니다 -_-;;;)



구글링해보면 LAST_UPDATE_ID의 경우에는 다음과 같은 방식으로 해결할 수 있다고 하네요.


try:
LAST_UPDATE_ID = bot.getUpdates()[-1].update_id
except IndexError:
LAST_UPDATE_ID = 0



제가 작성한 스크립트를 기준으로 설명드리면 


chat_id = bot.getUpdates()[-1].message.chat.id


이 부분이 문제가 되는데요.


파이썬 2.7 환경에서 위와 같은 try except문을 이용한 chat_id = 0으로 해결되지 않더군요.


제가 구글링해봤지만 위 경우에 딱 들어맞는 레퍼런스를 찾지는 못했습니다. 



제 경험상 이러한 경우에 Chat ID를 직접 대입하면 위와 같은 에러가 발생하지 않는 것을 확인하였습니다.


Chat ID를 알아내는 방법은 여러가지가 있지만 


요즘에는 Chat ID 봇을 통해서 간단히 알 수 있습니다.


여러 봇이 활동하고 있지만 저는 @get_id_bot을 주로 사용합니다.


봇과의 대화창에서 /my_id 를 입력해주시면 봇 Chat ID를 알려줍니다. 


봇이 알려준 ID(숫자로 되어 있습니다)를 스크립트에 chat_id = 123456 이런 식으로 바로 대입하면 


위와 같은 IndexError 문제가 해결됩니다.



제가 정확한 레퍼런스를 찾지 못했고 


저도 파이썬에 대해 아주 기초적인 것조차 제대로 모르고 쓰는 글이기 때문에 


혹시라도 잘못된 부분이 있으면 지적 부탁드려요~ ^-^


그럼 좋은 주말 저녁 되세요!


항상 감사드립니다 :)


  • profile
    네모 2018.03.25 05:02
    만약 해당봇을 1사람만 사용하신다면 index를 굳이 -1로 잡을 필요 없이, 0으로 설정해도 되지 않을까 싶네요.
    어차피 1명 전용 봇인데 여러 채팅방이 생성될리가..!
  • profile
    이니스프리 2018.03.25 10:43
    허걱 ㅠㅠ 네모 님의 날카로운 지적 정말 감사드립니다!
    제가 거기까지 미처 생각을 못했네요 ㅜㅜ
    역시 네모 님 앞에서 파이썬을 논하는 것은
    컬링 대표팀 앞에서 컬링을 논하는 것처럼 무지한 행동이네요 ^^
    다른 사람들과 공유하지 않고 저 혼자 사용하는 봇의 경우에는 앞으로 말씀하신대로 사용하겠습니다!
    그럼 네모 님께서도 좋은 주말 되세요~
    다시 한 번 감사드려요 ^-^

팁 & 노하우

분야 불문! 어떤 분야든지 자신이 알고 있는 팁이나 노하우를 남겨주세요.

  1. 앞으로 ssh 사용시 한글 사용이 가능합니다.

    Date2018.10.12 By마스터 Views12884
    read more
  2. 접속 불가 사태 수습은 진행중입니다.

    Date2018.10.05 By마스터 Views13526
    read more
  3. 회원 전용 페이지가 생겼습니다.

    Date2018.03.20 By마스터 Views14157
    read more
  4. 각 카드사별 해외이용 정지방법(2018.04.06)

    Date2018.05.28 By자뻑보이 Views270
    Read More
  5. Appcheck 업데이트 : 클리너 기능 추가

    Date2018.03.30 By이니스프리 Views276
    Read More
  6. 파이썬 텔레그램 봇에서 IndexError 해결 방법

    Date2018.03.24 By이니스프리 Views209
    Read More
  7. KT 인터넷 오피스 IP 서비스 - 홈 서버용 고정 IP 제공

    Date2018.03.20 By이니스프리 Views548
    Read More
  8. ftp 폴더 삭제 안되고 느릴때 - eXtplorer

    Date2018.02.22 Bydjdisodo Views246
    Read More
  9. 메일수신이 안된다고...? mail.yandex.com mx 리코드를 이용해보자

    Date2018.02.21 Bydjdisodo Views261
    Read More
  10. [게임하시는 분들을 위한 팁] 프래임 드랍 해결하기!

    Date2018.02.18 ByProjectSE Views166
    Read More
  11. 여러분은 Behance를 아시나요?

    Date2017.12.15 BySoto Views194
    Read More
  12. For Intel 8th GEN

    Date2017.12.15 BySoto Views274
    Read More
  13. 직구나 프로그램 다운로드시 사용 가능한 무료 해외 SMS 수신 사이트

    Date2017.12.09 By이니스프리 Views795
    Read More
  14. [멀웨어 정보] KT 홈허브 관련 DHCP 설정 변조 관련 멀웨어 유포 정보 및 대처 방법

    Date2017.12.05 By이니스프리 Views522
    Read More
  15. Windows 배치파일 작성 시 귀차니즘 1% 해결

    Date2017.12.03 BySoto Views196
    Read More
  16. 윈도우 10 업그레이드 후 windows.old 삭제 방법

    Date2017.12.01 By이니스프리 Views370
    Read More
  17. SKT 데이터 함께 쓰기, 회선수 제한, 직구폰 개통, 아이폰 직구시 주의사항 등 관련 팁

    Date2017.11.23 By이니스프리 Views1174
    Read More
  18. URL에 ?ckattempt=1이 붙거나 403 에러가 뜨는 경우에 해결 방법 (카페24)

    Date2017.11.22 By이니스프리 Views241
    Read More
  19. DB 설계하실 때 사용하면 좋을거 같은 사이트 공유합니다.

    Date2017.11.21 ByJAVA Views342
    Read More
  20. JavaScript에서 문자열 결합 방식의 성능차이

    Date2017.11.17 By네모 Views179
    Read More
  21. 아미나빌더 1.7.20 업데이트

    Date2017.11.10 By이니스프리 Views225
    Read More
  22. Windows 10 에서 Telnet 사용하기..

    Date2017.11.10 Bytitle: Fox여우나라 Views445
    Read More
  23. 이북 무료 제공 - JavaScript: Novice to Ninja

    Date2017.11.09 By이니스프리 Views296
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9
서버에 요청 중입니다. 잠시만 기다려 주십시오...