아직 프로그래밍하고 있습니까?

인사말



요 전날 트위터에서 여가 시간과 중얼거렸다.
이 기사도 기한 빠듯이 썼습니다.
좋은 아침
RHEMS 기연의 아라키입니다.

히아나. — Akijin (J. 아라키) (@Akijin_araragi) 2019년 3월 6일


Node-Red



프로그램 쓰기가 힘들어서 프로그램 쓰기를 중단했습니다.

그래서 Node-Red 합니다



Node-Red의 설명은 썩을 정도로 Qiita 기사이므로 그쪽을 읽어 주세요



1.하고 싶은 것



이번에는 Node-Red를 사용하여 Slack과 API로 놀고 싶습니다.

무슨 말을 하는가 하면, Slack에서 "온천"이라고 하면 온천지를 돌려주는 Bot을 만들었습니다

사용한 API는 자란 온천 검색 API입니다.

이런 걸 알아볼 때까지 몰랐어요



2.한 일



우선 이걸 보세요



무슨 일을 하는지 알기 쉽습니다.

중복은 용서해주세요



하고있는 일은

Slack의 모든 채널에서 누군가가 말을 한다



발언 내에 "온천"or "온천"포함되어 있는지를 평가 → 포함되어 있으면 아무것도 하지 않는다



포함되어 있으면 "http 요청 노드"가 발화



받은 XML을 JS 객체로 변환



무작위 숫자 생성



개체 내에서 주소, 온천지 설명, URL 추출



이들을 Slack으로 보내기



라고 한 느낌입니다



매우 쉽게 SlackBot을 만들었습니다



실제로 가동해 보면 이런 느낌



3. 설명



내용에 대한 설명을 조금만

SlackReceived 노드는 SlackBot의 APIToken과 어떤 채널의 발언을 감지할지 설정할 수 있습니다.



switch 노드는 if 문 대신에 사용됩니다.

Node-Red는 조건 분기 처리가 매우 번거롭습니다.

switch 노드의 사용성이 매우 나쁘기 때문에 사용하는 경우는 주의합시다



http 요청 노드에는 메소드, URL, 출력 형식을 설정할 수 있습니다



XML 노드는 노드에 들어온 XML을 JS 객체 형식으로 변환합니다



이것이 정말 편리하다.

단번에 가독성이 높아집니다





이 맛을 먹은 매운 익은 간장라면입니다.

맛있었습니다



function 노드는 JS로 작성할 수 있습니다.



그 외에는 Python이거나 노드를 추가하여 사용할 수 있습니다



다음은 change 노드입니다.

이것은 정말 유용합니다

이 기사을 읽으면 change 노드의 훌륭함을 알 수 있다고 생각합니다



SlackSend 노드는 SlackReceived 노드와 사용하는 방법은 친숙하기 때문에 할애.



와 글쎄, 쉽게 SlackBot을 할 수 있었다

이만큼 간단하다면 프로그래밍을 할 수 없어도 좋지 않을까, 라는 느낌입니다

다소 JavaScript 쓰지 않으면 안 되는 장면도 있습니다만, 고리고리 쓰는 것이 아니므로 문제 없다고 생각합니다



사이고에게



어떻습니까?

Node-Red는 앞으로 더 유행하기 때문에 1회 만져 보는 것도 좋다고 생각합니다

여가 시간과 트윗을 하면 일이 늘어날 수 있습니다.


좋은 웹페이지 즐겨찾기