티스토리 뷰

반응형

이번 예제는 네이버 검색소스입니다.

물론 파싱해서 결과를 가져오는게 아닌 위 사진처럼 검색링크를 가져오는 소스입니다.

가끔 공백때문에 고생하거나 구현방법을 몰라서 고생하는분들도 좀 계시더라구요.

원리는 간단하게 검색링크+검색내용을 합친다고 생각하시면됩니다.


참고로 위 사진은 메신저봇에서 테스트한 모습입니다. 카톡에서도 저런모습으로 보이는데 링크 미리보기도 같이 보이겠죠?


*제 모든 카카오톡 봇 예제들은 자유롭게 사용하셔도 됩니다.

*카카오톡봇에 관심있으신분들은 https://open.kakao.com/o/gf2FGCIb (오픈채팅방)에서 같이 정보 나누는것도 나쁘지 않아요!

예제

  if(msg.indexOf("/네이버")==0){
sc=msg.substring(5)
replier.reply("네이버 검색 결과입니다.\nhttps://search.naver.com/search.naver?query="+encodeURI(sc))
}


적용방법

일단 위 소스를 function response(room, msg, sender, isGroupChat, replier, ImageDB, packageName, threadId){
아래에 붙여넣기하시면 됩니다만.. 여기서 주의하셔야할건 메신저봇 기준이기때문에 약간 다를 수 있습니다.
다른봇에도 사용 가능한 예제이기때문에 젤브레이크님의 카카오톡 봇이라던지 다른 봇에서 사용하시려면 그냥 function response 아래에 붙여넣기하면 됩니다.

설명

명령어 사용방법은 /네이버 검색내용 이런식으로 하시면됩니다.
/네이버를 %네이버 이런식으로 변경하고싶으시다면   if(msg.indexOf("%네이버")==0){ 이런식으로 수정하면 됩니다.

encodeURI(sc) 으로 한 이유는 그냥 msg.substring(5) 으로 붙여버리면 공백을 링크 끝으로 구분하기때문에..(이해 안되시면 그냥 직접 해보면됩니다) encodeURI로 인코드 해준겁니다.

이게 단점이 링크가 조금 더 길어지는데요.. 이게 불편하다면
replier.reply("네이버 검색 결과입니다.\nhttps://search.naver.com/search.naver?query="+sc.replace(/ /g,"+"));
이렇게 고치면됩니다. 공백을 + 로 변경해서 링크로 인식하게 해줍니다.

*사실 encodeURI방법이 더 안정적(?)이긴 하더라구요.

그리고... 짧은 소스를 원한다면  if(msg.indexOf("/네이버")==0) replier.reply("네이버 검색 결과입니다.\nhttps://search.naver.com/search.naver?query="+encodeURI(msg.substring(5)));

이걸 넣으시면됩니다. (물론 response 안에 넣어야겠죠..?)


아마 다음소스는 구글검색을 포스팅할것같은데.. 이러다가 다음검색,bing검색,나무위키검색까지하는게 아닌지..ㅋㅋㅋㅋ



참고로 적용된 모습입니다.



반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday