slackbot 비망록 ~기본편 2~
소개
파이썬으로 slackbot을 만든 비망록 파트 2
지난번 , 작성하고 있을 때 이것을 만들고 싶었던 것
위의 세 가지를 이번에 만들었습니다.
시작시 첫 번째
시작시 slack에서 "시작했습니다!"라고 표시하고 싶습니다.
그래서 여러 가지를 살펴 보았을 때 slacker를 사용하면 할 수 있습니다.
슬래커
시보와 알림으로 자주 사용하는 것 같습니다.
slacker 단독으로 「기동했습니다!」를 보내 보자
slacker 패키지 설치
pip install slacker
디렉토리 구조는 다음과 같습니다.
slackbot
- run.py # slackbot起動用ファイル
- slackbot_settings.py # slackbot設定用ファイル
- post_message.py # post message用ファイル
- plugins
- __init__.py # モジュールを示すファイル(中身は空)
- my_mention.py # slackbot機能用ファイル
프로그램
post_message.py# coding:utf-8
from slacker import Slacker
imoport slackbot_settings # API_TOKENを使用するため
slack = Slacker(slackbot_settings.API_TOKEN)
slack.chat.post_message(
'general',
'起動しました!',
as_user = True
)
덧붙여서 slack.chat.post_message로 봇 이름과 아이콘을 설정할 수도 있다
post_message.pyslack.chat.post_message(
'general',
'起動しました!',
username = 'bot君',
icon_emoji = ':robot_face:'
)
이 녀석을 run.py에 넣으면
run.py# coding:utf-8
from slackbot.bot import Bot
from slacker import Slacker
import slackbot_settings
def main():
# 省略
if __name__ == "__main__":
slack = Slacker(slackbot_settings.API_TOKEN)
channel = 'general'
message = '起動しました!'
slack.chat.post_message(
'general',
'起動しました!',
username = 'bot君',
icon_emoji = ':robot_face:'
)
main()
무사히, 기동시에 코멘트를 했다!
완전 일치 및 여러 단어로 트리거 발동
마지막으로 respond_to ( '안녕하세요')는 부분 일치로 발동하는 것으로 나타났습니다.
이번에는 완전 일치하고 여러 단어에도 대응할 수 있도록 바꿉니다.
정확히 일치하려면 정규식 사용
my_mention.py# ^ => 先頭にマッチ, $ => 末尾にマッチ
@respond_to('^こんにちは$')
def respond_func(message):
message.reply('こんにちは!')
복수의 단어에 대응하기 위해서는, @respond_to 를 연속으로 기술한다
my_mention.py# あまり使用しないが、listen_toも連続で記述すれば発動する
@respond_to('^こんにちは$')
@respond_to('こんちは')
@listen_to('こんにちわん')
def respond_func(message):
message.reply('こんにちは!')
결과는 다음과 같습니다.
앵무새 반환
「안녕」이라고 하면 「안녕」이라고 한다.
「안녕하세요」라고 하면 「안녕하세요」라고 한다.
「안녕하세요」라고 하면 「안녕하세요」라고 한다.
고다마입니까? 아니, 누군가. 낡네요...웃음
이런 식으로 앵무새를 돌려
def function_name(message)
전회 특히 아무것도 건드리지 않고 쓴, 함수 안에 있는 message
여기에는 전송 된 메시지의 정보가 들어 있습니다.
이 중 message.body [ 'text']를 사용하여 메시지 문을 검색하고 출력합니다.
my_mention.py@respond_to('^おはよう$')
@respond_to('^こんにちは$')
@respond_to('^こんばんは$')
# 削除 @respond_to('こんちは')
# 削除 @listen_to('こんにちわん')
def respond_func(message):
#メッセージ文取得
mes = message.body['text']
message.reply(mes)
결과는 다음과 같습니다.
조금 봇인 것 같아서 재미
정규 표현이나 messege의 내용을 조사하면 좀 더 즐거워질 것 같다
다음 번에는 그 근처를 수정해 가고 싶다( ˘ω˘ )
Reference
이 문제에 관하여(slackbot 비망록 ~기본편 2~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/str32/items/124d1c51500c8f4df7bb
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
pip install slacker
slackbot
- run.py # slackbot起動用ファイル
- slackbot_settings.py # slackbot設定用ファイル
- post_message.py # post message用ファイル
- plugins
- __init__.py # モジュールを示すファイル(中身は空)
- my_mention.py # slackbot機能用ファイル
# coding:utf-8
from slacker import Slacker
imoport slackbot_settings # API_TOKENを使用するため
slack = Slacker(slackbot_settings.API_TOKEN)
slack.chat.post_message(
'general',
'起動しました!',
as_user = True
)
slack.chat.post_message(
'general',
'起動しました!',
username = 'bot君',
icon_emoji = ':robot_face:'
)
# coding:utf-8
from slackbot.bot import Bot
from slacker import Slacker
import slackbot_settings
def main():
# 省略
if __name__ == "__main__":
slack = Slacker(slackbot_settings.API_TOKEN)
channel = 'general'
message = '起動しました!'
slack.chat.post_message(
'general',
'起動しました!',
username = 'bot君',
icon_emoji = ':robot_face:'
)
main()
마지막으로 respond_to ( '안녕하세요')는 부분 일치로 발동하는 것으로 나타났습니다.
이번에는 완전 일치하고 여러 단어에도 대응할 수 있도록 바꿉니다.
정확히 일치하려면 정규식 사용
my_mention.py
# ^ => 先頭にマッチ, $ => 末尾にマッチ
@respond_to('^こんにちは$')
def respond_func(message):
message.reply('こんにちは!')
복수의 단어에 대응하기 위해서는, @respond_to 를 연속으로 기술한다
my_mention.py
# あまり使用しないが、listen_toも連続で記述すれば発動する
@respond_to('^こんにちは$')
@respond_to('こんちは')
@listen_to('こんにちわん')
def respond_func(message):
message.reply('こんにちは!')
결과는 다음과 같습니다.
앵무새 반환
「안녕」이라고 하면 「안녕」이라고 한다.
「안녕하세요」라고 하면 「안녕하세요」라고 한다.
「안녕하세요」라고 하면 「안녕하세요」라고 한다.
고다마입니까? 아니, 누군가. 낡네요...웃음
이런 식으로 앵무새를 돌려
def function_name(message)
전회 특히 아무것도 건드리지 않고 쓴, 함수 안에 있는 message
여기에는 전송 된 메시지의 정보가 들어 있습니다.
이 중 message.body [ 'text']를 사용하여 메시지 문을 검색하고 출력합니다.
my_mention.py@respond_to('^おはよう$')
@respond_to('^こんにちは$')
@respond_to('^こんばんは$')
# 削除 @respond_to('こんちは')
# 削除 @listen_to('こんにちわん')
def respond_func(message):
#メッセージ文取得
mes = message.body['text']
message.reply(mes)
결과는 다음과 같습니다.
조금 봇인 것 같아서 재미
정규 표현이나 messege의 내용을 조사하면 좀 더 즐거워질 것 같다
다음 번에는 그 근처를 수정해 가고 싶다( ˘ω˘ )
Reference
이 문제에 관하여(slackbot 비망록 ~기본편 2~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/str32/items/124d1c51500c8f4df7bb
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
def function_name(message)
@respond_to('^おはよう$')
@respond_to('^こんにちは$')
@respond_to('^こんばんは$')
# 削除 @respond_to('こんちは')
# 削除 @listen_to('こんにちわん')
def respond_func(message):
#メッセージ文取得
mes = message.body['text']
message.reply(mes)
Reference
이 문제에 관하여(slackbot 비망록 ~기본편 2~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/str32/items/124d1c51500c8f4df7bb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)