Vim 스타일 대체 명령을 Slackbot에 구현해 보았습니다. #Python
Vim은 좋다!
여러분, Vim을 사용하고 있습니까?
Vim을 사용하고 있습니까?
Vim을 사용하지 않는 것은 아닙니다.
나는 사용하고있다.
그럼 Vimmer의 여러분, Vim의 일본 커뮤니티는 알고 있습니까?
Vim의 일본 커뮤니티는 주로 Lingr에서 활동하고 있습니다.
그래서, 여기의 채팅 방이지만 상당한 수의 봇이 움직이고있어, 매우 편리한 기능이 많이 있습니다.
그런 가운데, 내가 가장 좋다고 생각한 기능이 여기입니다.
이거 굉장하지 않아?
Vim의 대체 명령을 치면 bot가 희미하게 수정 된 텍스트를 보냅니다.
(모든 프로그래머는 Vimmer라는 전제하에 진행하기 때문에 Vim의 대체 명령에 대해서는 설명하지 않습니다.
나는 전부터 항상 생각했습니다.
"이것, 자신과 이 Slack에 팩해라"
하지만 Slackbot은 과거에 포기한 경험이 있었기 때문에 경원하고 있었습니다만,
「혹시 지금이라면 할 수 있잖아?」
나는 생각했다.
그래서 번역하는 법.
소스는 코↑코↓에 놓을 때입니다.
참고로 한 사이트는 다음과 같습니다.
만드는 법
준비
이번에는 이 기사을 참고하겠습니다.
먼저 아빠와 이 근처까지 준비하십시오.
지금까지 끝나면이 대체 명령을 만들고 싶습니다.
대체 명령
먼저
plugin
디렉토리에 bot_listen.py
라는 파일을 만듭니다.내용은 이렇게합니다.
bot_listen.py
from slackbot.bot import listen_to
import re
pastmsg = ''
pastmsg2 = ''
@listen_to(r'.+')
def savemsg(message):
global pastmsg2
global pastmsg
pastmsg2 = pastmsg
pastmsg = message.body['text']
@listen_to(r'^s/+\S+/+\S+/$')
def replace(message):
before = re.findall(r'^s/(.*)/+\S+/', pastmsg)
after = re.findall(r'^s/+\S+/(.*)/', pastmsg)
if before[0] in pastmsg2:
message.send('「' + pastmsg2.replace(before[0], after[0]) + '」って言いたかったんだね')
else:
message.send('前の文章に「' + before[0] + '」は入って無いよ?')
그렇다면,
pastmsg
및 pastmsg2
에 최근 두 개의 메시지를 저장하십시오 s/なんか1/なんか2/
라는 형태의 발언이 있으면 처리를 한다 before
에 なんか1
의 문자열 목록, after
에 なんか2
의 목록을 할당 なんか1
가 있으면, なんか1
정규 표현식을 사용할 수 있다면 큰 일은 없습니다.
도전
なんか2
와 before
1개씩 밖에 없기 때문에 리스트가 아니어도 좋지만 매치한 문자열의 취득 방법을 알 수 없었다Reference
이 문제에 관하여(Vim 스타일 대체 명령을 Slackbot에 구현해 보았습니다. #Python), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Tatsuki-I/items/f9347f6d710d7edfaccc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)