묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결남박사의 파이썬 기초부터 실전 100% 활용
텔레그램 봇 만들기 코드 실행이 안됩니다 박사님..ㅠ
안녕하세요, 좋은 강의 보고 따라하면서 학습중입니다.좋은강의 정말 감ㅅㅏ드립니다..지금 텔레그램 봇 만들기 - 날씨 / 환율 응답, 컴퓨터 파일전송 기능 강의를 수강중입니다. /dir [대상폴더] 는 잘 구현이 되었는데/getfile /Users/사용자/test.txt로 파일 전송 기능이 구현이 안됩니다..디버깅으로 로그를 봐도 모르겠어서 질문 남깁니다!! 미리 감사드립니다.스크린샷도 같이 첨부드립니다!참고로 맥북으로 진행중입니다. [1] 디버깅[2] 기능구현 x/dir /Users/Desktop 입력하면 데스크탑 파일목록 나옴.[3] 코드import telepot import logging import os logging.basicConfig(level=logging.DEBUG) logger = logging.getLogger(__name__) telegram_token = "6129613380:AAGbL2T-ogOaIK4v2YTPe4zTD9pzBikKLEA" # 파일 경로 찾기 def get_dir_list(dir): str_list = "" if os.path.exists(dir): file_list = os.listdir(dir) file_list.sort() for f in file_list : full_path = os.path.join(dir,f) if os.path.isdir(full_path): f = "[" + f + "]" str_list += f str_list += "\n" str_list.strip() return str_list def handler(msg): content_type, chat_Type, chat_id, msg_date, msg_id = telepot.glance(msg, long=True) print(msg) # if content_type == "text" : # bot.sendMessage(chat_id, "[반사] {}".format(msg["text"])) # /dir c:\\workspace if content_type == "text": str_message = msg["text"] if str_message[0:1] == "/": args = str_message.split(" ") command = args[0] del args[0] if command == "/dir": filepath = " ".join(args) if filepath.strip() == " ": bot.sendMessage(chat_id, "/dir [대상폴더]로 입력해주세요.") else: filelist = get_dir_list(filepath) bot.sendMessage(chat_id,filelist) elif command[0:4] == "/get": filepath = " ".join(args) if os.path.exists(filepath): try: if command == "/getfile": bot.sendDocument(chat_id, open(filepath, "rb")) elif command == "/getimage": bot.sendPhoto(chat_id, open(filepath, "rb")) elif command == "/getaudio": bot.sendAudio(chat_id, open(filepath, "rb")) elif command == "getvideo" : #/getvideo c:\test\movie.mp4 bot.sendVideo(chat_id, open(filepath, "rb")) except Exception as e: bot.sendMessage(chat_id, "파일 전송 실패 {}".format(e)) else : bot.sendMessage(chat_id, "파일이 존재하지 않습니다.") bot = telepot.Bot(telegram_token) bot.message_loop(handler,run_forever=True)
-
해결됨남박사의 파이썬으로 실전 웹사이트 만들기
기존 flask 에 텔레그램봇을 추가하는 방법.
안녕하세요 강사님. 강사님 강좌를 합쳐서 하나의 서비스로 구현하려고 하는데, 어느 강좌에 글을 남겨야하는지 몰라서 두군데 모두 글을 남겨봅니다. 한쪽에만 답변하셔도 됩니다. 현재 강사님의 강좌인 실전 웹사이트 만들기 강좌와 실전 100% 활용강좌를 모두 완강하였습니다. 게시판 서버를 감시하기위해서 텔레그램봇을 추가하려고 합니다. 봇파일(bot.py)을 별도로도 만들어 보고 run.py 에다 옮겨서 구현해봤는데도 메시지 보내기는 되는데, 메시지 가져오는 폴링 기능이 동작을 하지 않고 있습니다. 기본 기능인 에코 기능을 테스트 중입니다. 추가로 웹훅 방식으로도 구현해 봤는데, 게시판 서버가 nginx+uwsgi+flask 구조라서 그런지 POST 방식으로 텔레그램에서 게시판서버로 접속을하면 308 redirect 오류가 발생합니다. 확인해보니 텔레그램봇을 redirect 를 지원하지 않는다고 합니다. 혹시 동일구조(nginx+uwsgi+flask) 웹서비스와 텔레그램봇을 구현하신 경험이 있으시면 조언 부탁드립니다. 물론 웹훅을 위해서 도매인 설정 및 https 설정도 적용하여 정상동작하고 있습니다. 웹서비스와 텔레그램봇(폴링 또는 웹훅)을 어떤 구조로 만들어야 하는지 문의 드립니다. 웹훅방식이면 더 좋겠지만, 폴링방식이어도 감사드립니다.
-
해결됨남박사의 파이썬 기초부터 실전 100% 활용
기존 flask 에 텔레그램봇을 추가하는 방법.
안녕하세요 강사님. 강사님 강좌를 합쳐서 하나의 서비스로 구현하려고 하는데, 어느 강좌에 글을 남겨야하는지 몰라서 두군데 모두 글을 남겨봅니다. 한쪽에만 답변하셔도 됩니다. 현재 강사님의 강좌인 실전 웹사이트 만들기 강좌와 실전 100% 활용강좌를 모두 완강하였습니다. 게시판 서버를 감시하기위해서 텔레그램봇을 추가하려고 합니다. 봇파일(bot.py)을 별도로도 만들어 보고 run.py 에다 옮겨서 구현해봤는데도 메시지 보내기는 되는데, 메시지 가져오는 폴링 기능이 동작을 하지 않고 있습니다. 기본 기능인 에코 기능을 테스트 중입니다. 추가로 웹훅 방식으로도 구현해 봤는데, 게시판 서버가 nginx+uwsgi+flask 구조라서 그런지 POST 방식으로 텔레그램에서 게시판서버로 접속을하면 308 redirect 오류가 발생합니다. 확인해보니 텔레그램봇을 redirect 를 지원하지 않는다고 합니다. 혹시 동일구조(nginx+uwsgi+flask) 웹서비스와 텔레그램봇을 구현하신 경험이 있으시면 조언 부탁드립니다. 물론 웹훅을 위해서 도매인 설정 및 https 설정도 적용하여 정상동작하고 있습니다. 웹서비스와 텔레그램봇(폴링 또는 웹훅)을 어떤 구조로 만들어야 하는지 문의 드립니다. 웹훅방식이면 더 좋겠지만, 폴링방식이어도 감사드립니다.