3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

LINEBOTをHeroku無しで完全無料で構築した話

Last updated at Posted at 2023-04-12

はじめに

お久しぶりです。しなもんです。
とある思い付きでLINEBotを作成しようと思ったのですが、
LINEのWebhookがSSLのリンクしか対応しない とかいうあまりにも個人で作れる設計じゃないので、
その辺を対応していった話をつらつらーと書いていきます。
※LINEBotの作り方については今回解説しません。

結論を先に出すと、主にGASにたどり着くまでの話になります。

追記:すでに似たような記事がありましたがまぁ気にしないでおきます。

SSLとは?
URLの最初が「https://」から始まるアレです。「http://」に「s」がついたやつです。
LINEBOTのためだけに建てるとか最高にめんどくさいからSSLやるという選択肢は無しで

対処法その1:Herokuを使う

image.png

一番最初に思いつくであろうHerokuです。
使える人は使ってると思います。

しかし私(学生)にとって最もめんどくさい問題があります。

アプリケーションの作成にクレジットカードの登録が必須らしいんです。

別にお金を取られるとか(もあるけど)ではなく、本人確認用です。
持ってないぞ!!!(迫真)
というわけで、Herokuは颯爽と諦めました。

メリット:
・ネットの情報がとにかく多い
・ある程度無料で使えるっぽい
・Gitと似たシステムでデプロイしやすい

デメリット:
・クレジットカードの登録が必須
・アクセス数が多いサービスには向いてない(当たり前)

登録ができる方は、ぜひ使ってみてください。

Heroku:

対処法その2:サーバーを立てる

正直最高にめんどくさかったです。

具体的に言うと、localtonnelというテスト用にSSLのドメインを生成する超便利なやつを見つけました。
一応使い方を載せておきます。一瞬で終わります。

まずjavascriptとlocaltonnelをインストールした環境で

$ npx localtunnel --port 3000(開けたいポート番号)

です。
すると、

your url is: https://hogehoge.loca.lt

ってurlが出てきます。スゴイ。

しかし大切なのはこれが「テスト用」ということです。
これ、url固定されません。一時的です。

まぁでも固定する方法もなくはないですが使えなかったです。
先ほどのコマンドに

$ npx localtunnel --port 3000(開けたいポート番号) --subdomain fugafugafuga

こう付け加えれば、(他人とかぶらない限りは)fugafugafugaというurlになるようです。

私の環境ではこいつは動きませんでした。(クソデカボイス)

メリット:
・似たサービスもあるが、こちらは無料でurl指定できるのが強い
・テスト用にWebhookを送りたい人におすすめ

デメリット:
・ある程度ネットワークの知識が必要
・ポート開放とかめんどい
・javascript分からないと分からない

あと執筆してて気づいたんですが、localtonnelを実行してるウィンドウを閉じなければurl変わりませんね。
でもどっちみちローカルで建てるのは難しいと断念しました。

対処法その3:Googleに頼る

インフラ業界、やはり最後に頼れるのはGoogleだった...
ということで、GoogleAppScriptに丸投げしました。
image.png
隠しすぎだろ!!!
個人情報だからねしょうがないね。
これの便利な点は、専門知識がいらないことです。
GUI操作で、デフォルトでバージョン管理機能があり、即デプロイできます。
なんだったんだ今までの苦労は!!!

Javascript自体初めて書いたのでほぼコピペですが...

メリット:
無料。 さすがGoogle
・操作がGUIで便利
・Google関連のAPI(カレンダー、エクセルもどきなど)を簡単に呼び出せる

デメリット:
・多分Javascriptしか使えない
・1処理あたり最大30秒という制限がある

さいごに

なんだかGoogleをほめたたえるだけの記事になってしまいました。
私のように、学生でLINEBOT、特にWebhookを無料で扱いたい人は
GASを使ってみてね。

以上です。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?