정보공유2021. 9. 15. 15:42

파이썬이나 어플리케이션을 만들어서 슬랙봇을 이용해서 슬랙 채널에 메세지를 자동화 할 수 있다.

 

 

 

1. Webhook URL 을 이용하는 방법

 

 

 

 

 

일단, 슬랙에 webhook 을 추가해야 한다.

 

슬랙에서 [더보기] -> [앱] 을 눌러서, incoming webhooks 를 추가한다.

 

 

 

 

 

 

추가 버튼을 누르면 아래와 같은 webkhook 설정 화면이 나온다.

 

 

 

 

채널에 포스트

슬랙봇 메세지를 수신할 채널(채팅방)을 선택한다.

이미 만들어진 채널을 선택 할 수 있고, 1:1 대화방이나, 자기 자신을 선택할 수 있다.

또는, 새 채널 생성 으로 새로 만들어서 진행 할 수 도 있다.

 

웹후크 URL

일종의 웹토큰으로, 슬랙봇에서 메세지를 보낼때는 별도의 로그인없이. 웹후크 URL 만 알면, 메세지를 보낼 수 있다.

해당 주소를 복사해서 저장해 놓자.

 

이름 / 이미지는 슬랙봇의 이름과 이미지이므로 필요하면 설정하면 된다.

 

 

 

 

설정저장 버튼만 누르면, 준비는 끝난다.

 

 

위에서 저장한 웹후크 URL 로 바로 메세지를 날릴 수 있다.

 

cmd 창에서 curl 을 통해 아래와 같이 하면, 바로 메세지를 바로 전송해 볼 수 있다.

 

 

첫번째 예제 : 메세지 보내기

 

curl -X POST --data-urlencode "payload={\"text\":\"hello\r\nit's my test\"}" https://hooks.slack.com/services/T028FNHBY0Y/B02EFULB2AX/QdIhJkolfuh0Sz1********

 

성공한 경우 리턴값은 문자열로 ok 라고 나온다.

 

 

두번째 예제 : 메세지 + 이름 + 아이콘

 

첫번째로 메세지만 넣어서 보내면, 설정한 이름/아이콘으로 봇이 표시되지만,

봇의 이름/아이콘도 바꿔서 보낼 수 있다.

 

curl -X POST --data-urlencode "payload={\"username\": \"webhookbot\", \"icon_emoji\": \":ghost:\", \"text\":\"hello\r\nit's my test\"}" https://hooks.slack.com/services/T028FNHBY0Y/B02EFULB2AX/QdIhJkolfuh0********

 

 

 

 

위의 예제는 curl 을 이용한 테스트였고, postman 어플리케이션을 통해서도 테스트 해볼 수 있다.

 

 

 

 

웹후크URL 을 넣어주고 POST 방식으로 설정한다.

 

Body 에는 json 형식으로 넣어준다.

 

Send 를 누르면, 결과가 나온다. => ok

 

 

 

 

 

 

2. OAuth token 을 이용하는 방법

 

웹브라우저의 주소창에 아래 주소를 치고 들어간다.

 

https://api.slack.com/

 

Create an app 을 누르고, 나오는 화면에서 From scratch 를 선택한다.

 

 

 

 

 

App Name 에 봇의 이름을 적어준다.

아래에는 메세지를 전송할 Workspace 를 선택한다.

 

 

 

 

다음 화면에서, OAuth & Permissions 를 선택하고, 스크를을 아래로 내리면,

 

 

 

 

Scopes 선택화면이 나온다.

Add an OAuth Scope 를 눌럿, chat:write 를 선택한다.

 

 

 

 

다시 스크롤을 위로 올려서, Install to Workspace 를 눌러준다.

 

 

 

 

생성된 OAuth Token 을 복사해서 저장해준다.

 

 

여기까지 작업을 하면, 이제 해당 Workspace 에 메세지를 보낼 수 있는 봇이 생성이 된것이다.

 

이제, 봇이 메세지를 보내게 되는 채널(채팅방) 을 설정해야 한다.

 

 

 

슬랙으로 가서, 메세지를 수신할 채널정보를 보면 하단에, 채널 ID 가 있다.

 

 

OAuth Token 과 함께 채널 ID 도 함께 저장해 두자.

메세지를 보낼 때 이 2개의 값만 있으면, 메세지를 채널로 보낼 수 있게 된다.

 

통합을 눌러서, 앱 추가 를 눌러서, 아까 생성한 봇을 선택한다.

 

 

 

 

이제, cmd 창에서 curl 명령어로 TEST 메세지를 보낼 수 있다.

 

1. 인증테스트로 OAuth Token 이 올바른지 확인한다.

 

Authorization: Bearer 뒤에 아까 받은 token 을 입력한다.

curl -H "Authorization: Bearer xoxb-2505273309281-***********************************" https://slack.com/api/auth.test

 

결과는 json 으로 나오며, "ok": true 로 나오면 성공한 것이다.

 

 

2. 메세지 전송 테스트

 

Authorization: Bearer 뒤에 아까 받은 token 을 입력한다.

channel= 뒤에 채널ID 를 넣어준다.

curl -d "text=it is just test message" -d "channel=C02********" -H "Authorization: Bearer xoxb-2505273309281-*******************************" -X POST https://slack.com/api/chat.postMessage

 

결과는 json 으로 나오며, "ok": true 로 나오면 성공한 것이다.

 

 

슬랙에서는 위와같이 메세지가 오게 된다.

 

 

Posted by 헝개
개발프로그램2020. 5. 1. 13:41

뽐뿌 알리미는 뽐뿌 사이트에 조건에 맞는 새글이 등록되면, 알려주는 프로그램입니다.

 

 

프로그램은 아래 링크에서 다운 받으실 수 있습니다.

https://bemeal2.tistory.com/288

 

 

1. 로그인

 

뽐뿌 로그인은, 뽐부 알리미를 사용하기 위한 필수 요소는 아닙니다.

일부 로그인을 해야만 들어갈 수 있는 게시판의 글을 모니터링 할 경우에만 로그인하시면 됩니다.

 

 

 

 

아이디와 비밀번호를 누르고, 로그인을 누르면, 조그만 웹브라우저가 열리면서 자동으로 로그인 처리가 된다.
이때, 로그인 구분은, 계정이 뽐뿌 자체 계정인 경우, 자체로그인 을 선택하시면 되고,
페이스북 / 카카오 / 네이버 / 구글 인 경우 각각을 선택하면 된다.

이때 입력한 아이디와 비밀번호는 save.dat 파일에 암호화 되어 저장이 된다.
(다른 사람에게 프로그램을 공유해 줄때는 반드시 save.dat 파일은 제외하고 복사해주어야 합니다.)

입력한 아이디와 비밀번호는 서버에 전송되지 않기 때문에 안심하고 이용해도 되며, 
다음번 프로그램 실행시에 자동으로 입력이 되어 매번 입력하는 번거로움이 없다.

단, 찜찜하다면 아이디와 비밀번호를 입력하지 않고, 로그인 버튼을 누르면,
웹뷰로 뽐뿌 로그인창이 열리는데 여기서 수동으로 직접 아이디와 비밀번호를 입력하고 로그인 할 수 있다.

 

 

 

2. 게시판 선택

 

 

우선, 모니터링할 게시판을 선택합니다.

 

 

 

 

게시판 선택 탭에서, 선택을 하면 됩니다.

(Lite 버전에서는 동일한 게시판을 여러번 추가할 수 없습니다)

게시판 구분별로 분류가 되어 있습니다. 게시판을 선택하고, 찾을 조건을 입력합니다.

 

 

Interval 은 검색주기를 설정하는것으로,   선택한 게시판에서 탐색 작업을 하고 나서, 다시 탐색하기 까지의 delay 시간입니다.  현재 lite 버전은 40 ~ 80 초로 고정이 되어있습니다. 즉, delay 시간은 40~80 의 랜덤값으로 (miliseconds) 주어지게 됩니다.

 

 

제외조건은 탐색된 게시글에서, 찾을 글의 제외 조건입니다.

 

기본적으로, 제목검색에서 공백은 모두 무시됩니다.

 

작성자 익명무시, 비회원제외 옵션은, 게시글이 익명글일때, 비회원 글일때 제외할지 여부입니다.

 

 

이런 글들이 익명글입니다.

 

 

 

이런 글은 비회원 글입니다.

 

제목검색에는 제목에 특정 단어가 들어간 글을 찾고자 할때 입력합니다.

여러개를 입력할 수 있고, AND 조건 OR 조건으로 찾을 수 있습니다.

 

 

 

위의 예제는 AND 조건으로, 3개의 키워드가 들어가 있습니다.

제목에 아디다스 라는 글자가 있어야 하고, 나이키라는 글자는 없어야 하며, 하이마트 라는 글자도 없어야 합니다.

 

OR 조건으로 바꾸면, 아디다스 글자가 있거나, 나이키 글자가 없거나, 하이마트 글자가 없거나...

 

기본조건은, 댓글수, 조회수, 추천추, 비추천 수를 가지고 게시글을 찾게 됩니다.

 

 

 

위 예제는 댓글수가 10개 이상이면, 조회수는 상관없고, 추천이 10명 이상인글, 비추천은 10명 이하인 글을 찾습니다.

주의할 점은, 댓글수, 조회수, 추천수는 입력한 숫자 이상이지만, 비추천은 입력한 숫자 이하의 글을 찾게 됩니다.

 

 

이렇게 탐색 조건을 입력하고, 추가 버튼을 누르면, 상단의 탐색게시판 목록에 게시판이 추가됩니다.

 

 

 

 

3. 탐색 시작

 

 

게시판 탐색 작업 시간 : 탐색 시작을 하게 되면, 우선, 게시판의 첫페이지글을 가져오게 됩니다.

(가져온 글은 탐색된 리스트로 들어갑니다.)

이 글들은 찾는 글에서는 제외 됩니다.

(탐색 조건에 맞아도 첫번째 글들은 제외입니다, 즉 프로그램을 탐색 작업을 시작하기 전에 이미 작성된 글은 제외합니다.)

 

그리고, 지정된 작업시간이 되면, 그때부터 게시판 글들을 가져와서, 조건에 맞는 글을 찾습니다.

(위에서 맨처음 가져온 첫페이지 글을 다시 가져왔더라도 제외.)

 

브라우저 띄우기 : 찾는 글이 나오면, 사용자의 웹브라우저(기본브라우저) 로, 바로 게시글 조회 화면을 띄어줍니다.

내부 웹뷰 열기 : 찾는 글이 나오면, 프로그램 안의 웹뷰를 열어서 보여줍니다.

Sound : 찾는 글이 나오면, 스피커에서 소리로 알려줍니다.

Telegram 으로 결과 전송 : 찾는 글이 나오면 Telegram 으로 알려줍니다.

             (링크 : Telegram 토큰 생성 방법)

 

 

 

 

 

 

게시판 탐색은, 작업시간 안에서만 진행이 됩니다.

즉, 09:00 ~ 18:00 으로 설정되어 있다면, 해당 시간안에서만 탐색이 진행이되고,

18:00 이후에는 탐색을 하지 않고 있다가, 익일 09:00 이 되면, 다시 탐색을 진행하게 됩니다.

([Start] 버튼이 눌려진 상태)

 

 

 

4. 탐색된 시물 목록

 

 

모든 탐색된 게시글은 탐색된 리스트에, 게시판별로 나옵니다.

게시판별로 최대 200개까지 나오게 됩니다. (PRO 버전은 20,000개)

 

 

 

 

상단의 검색 게시판에서 마우스 더블클릭하면, 하단의 탐색된 게시물 목록에 게시글이 나오며,

찾기 성공한 글이라면, 배경색이 다르게 표시 됩니다.

 

여기서 해당 글을 보고 싶으면, Ctrl+클릭 또는 Alt+클릭 하시면 됩니다.

 

 

 

 

5. 찾은 게시물 목록

 

 

찾은리스트는 탐색된 글중에서, 찾기 조건에 맞는 글을 찾아서 알림을 해주고, 찾은 리스트에서 모두 볼 수 있습니다.

 

 

 

 

모두 찾기 성공한 글이기 때문에, 따로 배경색을 다르게 표시하지는 않으며,

해당 글을 보고 싶으면, Ctrl+클릭 또는 Alt+클릭 하시면 됩니다.

 

 

 

6. 실시간 게시물 목록

 

 

찾기여부와 상관없이, 실시간으로 현재 뽐뿌의 1페이지에 있는 게시물 내역을 보여줍니다.

이때는, 찾기 조건이나, 블랙리스트 여부와 상관없이 모든 글의 목록을 보여줍니다.

 

 

선택버튼을 누루면 하단에 게시판 선택 창이 뜹니다.

조회를 원하는 게시판을 선택하고, 완료 버튼을 누르면,

선택한 게시판의 1페이지 게시물을 조회하여 보여주게 됩니다.

 

 

 

 

7. 블랙리스트

 

 

블랙리스트 기능은 내가 보기 싫은 유저(Nickname) 를 입력해놓으면, 탐색하지 않는 기능입니다.

 

 

 

 

 

 

블랙리스트에 입력한 유저(Nickname) 의 글은, 아예 탐색된 리스트에도 들어가지 않고, 제외가 됩니다.

 

 

 

탐색된 글 목록에서 마우스 오른쪽 버튼을 누루면, 바로 블랙리스트로 등록할 수 있습니다.

 

 

 

 

8. 구독

 

 

구독 기능은 특정 유저(Nickname) 를 구독하는 기능입니다.

해당 유저의 새글에 대한 알림을 받을 수 있습니다.

 

 

 

 

 

 

 

 

구독 리스트에 등록된 유저의 새글이 등록되면, 제목검색, 기본조건에 상관없이 무조건 알림을 하게 됩니다.

 

 

 

탐색된 글 목록에서 마우스 오른쪽 버튼을 누루면, 바로 구독 리스트로 등록할 수 있습니다.

 

 

 

 

 

9. 알림 기능

 

 

 

찾은 글이 있으면, 설정한 옵션에 따라

 

 

웹브라우저(윈도우에 설정된 기본브라우저) 를 띄어주거나,

웹뷰를 열어주거나,

 

Sound(소리)로 알림을 주게 된다.

 

또한 PC 앞에 없을 때도, 알림을 받을 수 있다.

 

Telegram / Slack / Line 메신저로 알림을 받게 되는데,

 

 

알림등록 버튼을 눌러서, 알림받을 token 정보를 입력해두면, 새글 알림을 받게 된다.

 

 

 

Telegram 으로 전송하려면, Token 과 ChatID 가 있어야 합니다.

Token 과 ChatID 생성 방법은 아래 링크에서 확인 가능하다.

 

https://bemeal2.tistory.com/277 

 

 

Slack 으로 전송하려면, Webhook 방식이나, API 방식중에 편한 방법으로 하면 된다.

webhook url 이나 OAuthToken 생성 방법은 아래 링크에서 확인 가능하다.

 

https://bemeal2.tistory.com/311

 

 

Line 으로 전송하려면, Token 이 있어야 합니다.

Token 생성 방법은 아래 링크에서 확인 가능하다.

 

https://bemeal2.tistory.com/317

 

 

Posted by 헝개