, 당신은 아마 작업에 정규 표현식의 일부 매핑이 필요합니다 (의 그것을 매핑과 같은 파일에 정의 된 함수에 대한 참조입니다 가정하자). 우리는이 같은 파이썬 파일 rules.py
의 규칙을 정의하는 말 :에
mappings = [
# (regex, action_name)
(r'Hi ([a-z]+)!', greet),
(r'Bye', bye),
]
def greet(msg):
return 'Hello'
def bye(msg):
return 'Bye'
당신의 main.py
당신은 (그들에게 모든 검색을 재 컴파일 방지하기 위해 한 번 작업) 모든 정규식 표현 컴파일하고 다음 검색에 대한 작업을 수행 매핑을 가져 들어오는 메시지.
import rules
# compile regex
compiled = dict([(re.compile(regex), action_name) for (regex, action_name) in rules.mappings])
def incoming(msg):
for regex, action_name in compiled:
if regex.search(msg):
# if search is successfull, execute action
action_function = getattr(rules, action_name)
action(msg)
은 물론 당신이 그 동작을 트리거하는 방법에 따라 달라집니다,하지만 난 주요 원칙은 분명하다 바랍니다.
이미 존재하는 일부 IRC 봇을 살펴볼 수 있습니다. 예를 들어, [pmxbot] (https://bitbucket.org/yougov/pmxbot/src)을 사용하면 특정 문자열을보고 적절하게 작동 할 수 있습니다. – chmullig
특정 IRC 봇 프레임 워크 용 모듈을 만들려고하는데, 이에 대한 간단한 이해가 필요합니다. –