Pythonista3에서 Slackbot을 작동하는 방법

안녕하세요.

미야비노라고 합니다.
엔지니어 경력 12년 정도입니다.

이번에는 iOS 앱인 Pythonista3에서 Slackbot을 이동하는 방법에 대해 소개하는 기사입니다.

구체적으로
· Pythonista3에서 slackbot 라이브러리를 설치하는 방법
· Slack의 API 토큰을 얻는 절차
· Pythonista3에서 Slackbot의 기술 예와 실행 예
의 3개에 대해 해설입니다.

PC로 만드는 방법에 대해서는 블로그 쪽에서 해설하고 있으므로 흥미가 있으면 들여다 봐 주세요.
블로그: Python으로 미야비의 어딘가에 완벽한 Slackbot을 만들자.

Pythonista의 기본 사용법에 대해서도 정리하고 있습니다.
블로그: 미야비의 어딘가 피아이 Python 초입문 ~iPhone・iPad로 시작하는 프로그래밍~

Pythonista3에서 slackbot 라이브러리를 설치하는 방법



Slackbot을 실행하려면 라이브러리 설치가 필요하지만 Pythonista는 기본적으로 "pip"명령을 포함하지 않습니다.

따라서 먼저 "pip"명령을 움직일 수 있도록 해야 합니다.

Stash 설치



Stash 을 설치하여 실행할 수 있습니다.

Pythonista3에서 다음 코드를 실행하여 Stash를 설치할 수 있습니다.

import requests as r; exec(r.get('http://bit.ly/get-stash').text)

stash를 시작하고 라이브러리 설치



「launch_stash.py」라고 하는 파일이 되어 있으므로 이것을 실행하면 프롬프트가 기동.
pip 명령을 실행할 수 있습니다.

시작된 터미널에서 다음 명령을 실행합니다.

pip install slackbot

이제 준비는 괜찮습니다.

Slack의 API 토큰을 얻는 단계



Slackbot을 실행하려면 API 토큰이 필요합니다.
취득 절차는 다음과 같습니다.

1. 작업공간의 APP 폴더로 이동합니다.
2. 사이드 메뉴의 "카테고리"에서 "Bot 관련 선택"합니다.
3. Hubot을 선택합니다.
4. 설정 추가 버튼을 클릭합니다.
5. 이름을 입력하고 Hubot 통합 추가를 누릅니다.
6. API 토큰에 작성된 내용을 복사합니다.

아래의 기사에서는 화상 첨부로 해설하고 있습니다.
블로그: 미야비의 어두운 곳에서 Slackbot의 API 토큰 얻기 (동영상 있음)

Pythonista3에서 Slackbot을 작성하고 실행하는 예제



Python에서 Slackbot을 실행하는 데 필요한 파일은이 두 가지입니다.

· slackbot_settings.py : Bot 설정을 작성하기위한 파일 (명칭 변경 불가)
· bot.py : Bot을 기동하기위한 실행 파일 (이름은 임의)

설명 예



우선은 slackbot_settings.py의 기술 예입니다.
# 「API_TOKEN」にはSlackから取得したAPIトークンを記述してください
API_TOKEN = "XXXXXXXXXXXXXXXXXXX"

知らない言葉を聞いた時のデフォルトの応答

DEFAULT_REPLY = "すみません。よくわかりません"

# 外部ファイルを読み込む。botmodule.pyを読み込んでおく
PLUGINS = [
    'slackbot.plugins',
]

API_TOKEN에 검색된 토큰을 지정합니다.
「DEFAULT_REPLY」는 Bot가 모르는 말이 나왔을 때에 응답하는 내용입니다.

플러그인으로 지정하면 자작 라이브러리를 로드할 수 있습니다. (import로 충분한 생각도 한다)

계속해서 bot.py의 기술예입니다.

◆bot.py에 기술하는 내용
Bot을 시작할 때 실행 파일입니다. Bot을 기동하기 위한 처리를 기술합니다.
from slackbot.bot import respond_to
from slackbot.bot import listen_to

# 「respond_to」はメンションする(@でターゲットを指定すること)と応答する
@respond_to('こんにちは')
def greeting_1(message):
    # Slackに応答を返す
    message.reply('こんにちは!')

# 「listen_to」はメンションがなくても応答する
@listen_to('コニチハ')
def greeting_2(message):
    message.reply('コニチハ')

"respond_to"는 멘션(@으로 타겟 지정)과 응답합니다.
'listen_to'는 멘션이 없어도 응답합니다.

실행 예



Slackbotからの応答

주의: 백그라운드에서도 동작하지만, 슬립 화면이 되는 등 통신이 끊어지므로 재기동이 필요합니다.

끝에



최근에는 스마트폰으로 뭐든지 할 수 있는 시대가 되었습니다. 프로그래밍도 자연스럽게.
Slackbot을 스마트 폰으로 만드는 실용성은 그렇게 많지 않지만, PC 가지고 다니지 않아도 외출 중에 여러가지 시험할 수 있으므로 틈새 시간의 공부로서는 딱 좋을까라고 생각합니다.

Slackbot은 주고 받을 수 있습니다.
스마트 폰이 아니어도 좋기 때문에 꼭 시도해보십시오.

블로그에서 Slackbot에 대해 정리하고 있습니다.

블로그: 미야비의 어딘가 화려한 Slackbot의 구축 매뉴얼 ~Python편~

좋은 웹페이지 즐겨찾기