Showing
4 changed files
with
104 additions
and
1 deletions
No preview for this file type
1 | +// npm node-telegram-bot-api | ||
2 | + // npm 모듈 호출 | ||
3 | +// npm install python-shell | ||
4 | + | ||
5 | +// const spawn = require('child_process').spawn; | ||
6 | +// const result_01 = spawn('python3', ['test_chatbot_code.py'], ); | ||
7 | +// result_01.stdout.on('data', (result)=>{ | ||
8 | +// console.log(result.toString()); | ||
9 | +// }); | ||
10 | + | ||
11 | +PythonShell.run('test_chatbot_code.py', options, function (err, results) { | ||
12 | + | ||
13 | + if (err) throw err; | ||
14 | + | ||
15 | + console.log('results: %j', results); | ||
16 | + | ||
17 | +}); | ||
18 | + | ||
19 | + | ||
20 | + const TelegramBot = require('node-telegram-bot-api'); | ||
21 | + | ||
22 | + | ||
23 | + // `botFather`가 제공한 `token`으로 API 통신에 사용한다 | ||
24 | + const token= '1868373243:AAF_4xOjP_DrKOcIbjtY0bJ0HBdcISjzV5M'; // <--- 나의 Token 토큰은 변경 바람! | ||
25 | + | ||
26 | + // 새로운 'bot' 인스턴스를 생성해 'polling'으로 업데이트를 fetch 하게 한다 | ||
27 | + const bot = new TelegramBot(token, {polling: true}); | ||
28 | + | ||
29 | + // 정규식으로 '/echo'를 판별하고 그 뒤에 어떤 메시지든 'msg'에 담는다 | ||
30 | + bot.onText(/\/echo (.+)/, (msg, match) => { | ||
31 | + const chatId = msg.chat.id; | ||
32 | + const resp = "꺄악: "+match[1]; | ||
33 | + // 식별된 "msg"는 보내온 채팅방('chatId')에게 앵무새처럼 재전송한다 ("꺄악: 'msg'") | ||
34 | + bot.sendMessage(chatId, resp); | ||
35 | + }); | ||
36 | + | ||
37 | + bot.on('message', (msg) => { | ||
38 | + const chatId = msg.chat.id; | ||
39 | + | ||
40 | + // send a message to the chat acknowledging receipt of their message | ||
41 | + bot.sendMessage(chatId, 'Received your message'); | ||
42 | + }); | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | +////////////////////지도 kakao map api 이용 but error | ||
2 | +// 마커를 클릭하면 장소명을 표출할 인포윈도우 입니다 | ||
3 | +var infowindow = new kakao.maps.InfoWindow({ zIndex: 1 }); | ||
4 | + | ||
5 | +var mapContainer = document.getElementById('map'), // 지도를 표시할 div | ||
6 | + mapOption = { | ||
7 | + center: new kakao.maps.LatLng(37.566826, 126.9786567), // 지도의 중심좌표 장소 위치 변경################## | ||
8 | + level: 3 // 지도의 확대 레벨 | ||
9 | + }; | ||
10 | + | ||
11 | +// 지도를 생성합니다 | ||
12 | +var map = new kakao.maps.Map(mapContainer, mapOption); | ||
13 | + | ||
14 | +// 장소 검색 객체를 생성합니다 | ||
15 | +var ps = new kakao.maps.services.Places(); | ||
16 | + | ||
17 | +// 키워드로 장소를 검색합니다 | ||
18 | +ps.keywordSearch('인덕원 맛집', placesSearchCB); //search keyword 변경 | ||
19 | + | ||
20 | +// 키워드 검색 완료 시 호출되는 콜백함수 입니다 | ||
21 | +function placesSearchCB(data, status, pagination) { | ||
22 | + if (status === kakao.maps.services.Status.OK) { | ||
23 | + | ||
24 | + // 검색된 장소 위치를 기준으로 지도 범위를 재설정하기위해 | ||
25 | + // LatLngBounds 객체에 좌표를 추가합니다 | ||
26 | + var bounds = new kakao.maps.LatLngBounds(); | ||
27 | + | ||
28 | + for (var i = 0; i < data.length; i++) { | ||
29 | + displayMarker(data[i]); | ||
30 | + bounds.extend(new kakao.maps.LatLng(data[i].y, data[i].x)); | ||
31 | + } | ||
32 | + | ||
33 | + // 검색된 장소 위치를 기준으로 지도 범위를 재설정합니다 | ||
34 | + map.setBounds(bounds); | ||
35 | + } | ||
36 | +} | ||
37 | + | ||
38 | +// 지도에 마커를 표시하는 함수입니다 | ||
39 | +function displayMarker(place) { | ||
40 | + | ||
41 | + // 마커를 생성하고 지도에 표시합니다 | ||
42 | + var marker = new kakao.maps.Marker({ | ||
43 | + map: map, | ||
44 | + position: new kakao.maps.LatLng(place.y, place.x) | ||
45 | + }); | ||
46 | + | ||
47 | + // 마커에 클릭이벤트를 등록합니다 | ||
48 | + kakao.maps.event.addListener(marker, 'click', function () { | ||
49 | + // 마커를 클릭하면 장소명이 인포윈도우에 표출됩니다 | ||
50 | + infowindow.setContent('<div style="padding:5px;font-size:12px;">' + place.place_name + '</div>'); | ||
51 | + infowindow.open(map, marker); | ||
52 | + }); | ||
53 | +} | ||
54 | + | ||
55 | + | ||
56 | + | ||
57 | + | ||
58 | + | ||
59 | + | ||
60 | + | ||
61 | + | ||
62 | + |
... | @@ -51,7 +51,6 @@ bot = telegram.Bot(token) | ... | @@ -51,7 +51,6 @@ bot = telegram.Bot(token) |
51 | 51 | ||
52 | info_message = '''기능: (#오늘 날씨)''' ########기능 리스트 ##############33 | 52 | info_message = '''기능: (#오늘 날씨)''' ########기능 리스트 ##############33 |
53 | bot.sendMessage(chat_id=id, text=info_message) | 53 | bot.sendMessage(chat_id=id, text=info_message) |
54 | - | ||
55 | react_weather = '''오늘 날씨 봐봐''' | 54 | react_weather = '''오늘 날씨 봐봐''' |
56 | 55 | ||
57 | 56 | ... | ... |
-
Please register or login to post a comment