漢字を教えてくれるLINEのチャットボット「KANJI」を作りました。
漢字を教えてくれるLINEのチャットボット「KANJI」を作りました
これは、英単語を入力すると、漢字を返してくれるというものです。
このQRコードからどうぞ。
または、こちらから。
先ほどのQRコードやリンクを進むと、
こんな画面が出ます。
「追加」
ボタンを押してください。
次に、認証画面が出ますので、
右下の
「同意する」
を押してください。
最初のメッセージ
試しに、「Cat」と打ってみましょう。
おおっ。
では、
Pen
Pineapple
Apple
Pen
おおっ、
PPAP!
さて、
これらの漢字は、以前、iPhoneアプリ「Tell Me Kanji」用に私がコツコツ手作りしたものです。
プログラム的には、
「apple」 と入力されたら、私のサーバーにある 「apple.gif」のURLを返すという簡単なものです。
プログラムよりもデータ整備が大変で、現在まだ373個の単語しかありません。
ですから、私のデータベースにない単語を入力すると、
このようなメッセージが出て、
私のメールアドレスへ直接リクエストをするよう促します。
というわけで、
これを読まれた日本語を勉強中の外国人の方は、
ぜひ、LINEのチャットボット「KANJI」を利用してみてください。
ではでは。
(参考)
Ruby on Railsで作ったコードです。
app/controllers/webhook_controller.rb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
class WebhookController < ApplicationController require 'line/bot' require 'net/http' def client @client ||= Line::Bot::Client.new { |config| config.channel_secret = 'CHANNEL SECRET CODE' config.channel_token = 'CHANNEL TOKEN' } end def callback body = request.body.read signature = request.env['HTTP_X_LINE_SIGNATURE'] event = params["events"][0] event_type = event["type"] input_text = event["message"]["text"] events = client.parse_events_from(body) events.each { |event| case event when Line::Bot::Event::Message photo_url = "漢字データが保存されている場所"+input_text.downcase+".gif" if url_request(photo_url) == true then message = { type: 'image', originalContentUrl: photo_url, previewImageUrl: photo_url } else message = { type: 'text', text: 'I am sorry.This Kanji word was not found in our database. Please tell us Kanji you want to know by E-mail => fwkf1685jp@yahoo.co.jp' } end client.reply_message(event['replyToken'], message) end } end #以降はpikonoriさんのURLが本当に存在するか確認するプログラムを拝借 #URL: http://piko.hateblo.jp/entry/2013/05/24/194739 def url_request(url, limit = 10) if limit == 0 return false end begin response = Net::HTTP.get_response(URI.parse(url)) rescue return false else case response when Net::HTTPSuccess return true when Net::HTTPRedirection url_request(response['location'], limit - 1) else return false end end end end |
(参考にさせてもらったサイト)
画像をポストする方法
URLが存在してるかどうか判定(Ruby)
ad
- Tweet
-
-
この記事が気に入りましたら、ぜひTwitter、facebookボタンをお願いします。
ブログを書くモチベーションになります。よろしくお願いします。
ビットコイン投げ銭ウィジェット
関連記事
-
-
【Ruby on Rails 備忘録】JSON形式のデータから情報を取得する方法
JSON形式のデータから情報を取得する時、 いつも忘れるので、備忘録 飲食店の検索サービスから
-
-
LINEボット「ずぼらコーデ(リーマン編)」
サラリーマンのみなさん! 毎日、ネクタイをどうやって選んでますか? 私の身の回りの人
-
-
【Ruby on Rails 備忘録】LINE Messaging API でチャットボットを作る
毎回悩むので自分用の備忘録として保存します。 なお、ほとんどが、こちらの方の記事を参考
-
-
【Ruby on Rails 備忘録】Errno::ECONNREFUSED: Connection refused – connect(2) for action mailer の解決方法
Ruby on Railsで WEBサービスを作成中。 コメントがあったら
-
-
NASA(アメリカ航空宇宙局)のオープンデータを使ってみた(その1:今日の天文写真をLINEのチャットボットで)
「NASA Space Apps Challenge」というハッカソンが、4月29