LaTeX 표기 수식을 이미지로 반환하는 LINE bot 만들기
6943 단어 MessagingAPIlinebotLaTeX
$ax^2+bx+c=0$
와 같이 $기호로 LaTeX 표기의 수식을 둘러싸면, 이미지가 반송됩니다. 또한 하나의 메시지에 대해 하나의 수식을 반환할 수 있습니다.LaTeX 표기에 대한 자세한 내용은 h tp // w w.ぁx-cmd. 이 m을 참조하십시오.
친구 추가
여기에서 친구 추가를 할 수 있습니다.
개발
다음 참고를 읽고 구현했습니다.
참고
Google Chart API 수식은 더 이상 사용되지 않으므로 언제 사용할 수 없는지 알 수 없습니다.
CGI 모듈을 사용하는 이유는
+
와 같은 기호를 인코딩해야하기 때문입니다.callback.rb
class LinebotController < ApplicationController
require 'line/bot'
require 'cgi'
protect_from_forgery :except => [:callback]
def client
@client ||= Line::Bot::Client.new { |config|
config.channel_secret = ENV["LINE_CHANNEL_SECRET"]
config.channel_token = ENV["LINE_CHANNEL_TOKEN"]
}
end
def callback
body = request.body.read
signature = request.env['HTTP_X_LINE_SIGNATURE']
unless client.validate_signature(body, signature)
head :bad_request
end
events = client.parse_events_from(body)
events.each { |event|
case event
when Line::Bot::Event::Message
case event.type
when Line::Bot::Event::MessageType::Text
if event.message['text'].include?('$')
formula = CGI.escape(event.message['text'].match(/(?<=\$)(.*)(?=\$)/).to_s())
message = {
type: "image",
originalContentUrl: "https://chart.apis.google.com/chart?cht=tx&chl=#{formula}",
previewImageUrl: "https://chart.apis.google.com/chart?cht=tx&chl=#{formula}"
}
client.reply_message(event['replyToken'], message)
end
end
end
}
head :ok
end
end
Reference
이 문제에 관하여(LaTeX 표기 수식을 이미지로 반환하는 LINE bot 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yudukikun5120/items/ec2fc172d180c099f24d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)