2016-11-01 3 views
-1

를 사용하여 나는 slack-ruby-bot 보석과 그립에 도착하려합니다. 나는 텍스트와 일치하고 난 그냥 Is this bike stolen 123456?을 작성합니다 봇에서 응답을 얻으려면 응답여유 루비 - 봇

match /^Is this bike stolen (?<frame_number>\w*)\?$/ do |client, data, match| 
    client.say(channel: data.channel, text: "text here") 
end 

를 다시 보낼 수있는 예제를보고 난 text here 반환받을 것입니다.

은 내가 생각 달성하고자하는 것은 내가 @bot Is this bike stolen 123456?을 할 경우에만 응답을, 그래서 내가 특별히 봇을 요청해야합니다. 응답이 함께

을 넣어되는 동안

또한 일부 텍스트를 입력을 보여 좋은 것 가지고 사람이 경험을 가지고 또는 영감에

감사

+0

적어도 왜하십시오 설명 – Richlewis

답변

1

당신을보고 몇 가지 예를 '다시 코드가 대부분의 방법 이미, 나는 생각한다.

match /^Is this bike stolen (?<frame_number>\w*)\?$/ do |client, data, match| 
    client.say(channel: data.channel, text: "text here") 
end 

나는 당신이 할 필요가 정규식에 @bot 문자열을 추가 생각 -

/^@bot Is this bike stolen (?<frame_number>\w*)\?$/ 

모든 명령, 당신은 정규식에 대한 래퍼 방법을 만들 수 있습니다 것입니다 이것을 사용하려면 :

def bot_regex(rest_of_regex) 
    /^@bot #{rest_of_regex}$/ 
end 

regex = bot_regex "Is this bike stolen (?<frame_number>\w*)\?" 
match regex do |client, data, match| # etc 

또한 방법에 정규식 일치 포수를 포장하는 것이 도움이 될 수 있습니다

당신이 downvote을 넣으면 896,