1
나는 사용자가 나는 사용자의 메시지를 시도하고 캡처하는 정규식 문자열을 사용하고 나중에 그것을 분석하고 있습니다 /newdb nameofdatabase
Telegram 봇에 매개 변수를 전달하고 정규식을 사용하여 구문 분석 하시겠습니까?
Telegram::Bot::Client.run(token) do |bot|
bot.listen do |message|
case message.text
when '/newdb.*/'
bot.api.send_message(chat_id: message.chat.id, text: "created!, #{message.from.first_name}")
end
end
end
를 입력하면 새 데이터베이스를 작성하도록되어 전보 봇이있다. 불행하게도, 봇는 "created!"
라인을 인쇄하지 않습니다,이 경우 (주어진 명령에 응답하지 않습니다. "
?
을Telegram::Bot::Client.run(token) do |bot|
bot.listen do |message|
case message.text
when /^\/newdb\s(.*)/
database = $~[1] # get the database name. $~[N] regexp matches.
bot.api.send_message(chat_id: message.chat.id, text: "created!, #{message.from.first_name}")
end
end
end
%r|\A/newdb\b.*|
: 명시 적 메시지의 중간에 캐리지 리턴 쫓아 및 fo를 %r
표기법을 사용하지 않는 \A
를 사용
'% r에 | \ A/한 newdb의 \의 B * |':. 사용'\ A' 명시 적 메시지와 사용의 중간에 캐리지 리턴 쫓아 않는' 슬레시를 포함 할 때 regexps에 대한 % r 표기법. 또한, 괄호는 중복 AFAICT입니다. – mudasobwa