【実録】自作LINEボットが動かない?数々の試練を乗り越えたら、まさかの「1文字」に世界を阻まれていた話

こんにちは! 今回は、自分でオリジナルのLINEボット(自動でお返事してくれるアカウント)を作ろうとしたら、映画のような大どんでん返しと格闘することになったお話です。

プログラミング初心者の僕が、最新のクラウドサーバーとLINEのシステムを繋ぐ中で体験した、ハラハラドキドキのトラブルシューティング(犯人探し)の全記録をお届けします。

これから開発に挑戦する人の(笑える)参考になれば幸いです!

始まりは順調だった。「準備万端、いつでもこい!」

ネットの解説記事を見ながら、パソコンの黒い画面(ターミナル)に呪文を打ち込み、サーバーの準備は完了。

LINEとサーバーをガッチャンコさせて、画面には「ログ(通信の記録)を待っています…」の文字。 これでスマホからLINEを送れば、サーバーがそれを受け取ってオウム返ししてくれるはず!

意気揚々と、スマホから「テスト」と送信しました。

試練1:返事がない。ただの屍のようだ。

スマホの画面を見つめる僕。 ……あれ? 1分待っても、2分待っても返事が来ない。

でも、パソコンの画面を見ると「LINEからメッセージが届きました!中身は正常です!OK!」と記録が出ているんです。

「届いているのに、返事だけが来ない」

荷物は無事に届いたのに、配達員さんがハンコをもらえずに帰っていったような状態です。 ここから、僕と見えないエラーとの孤独な戦いが始まりました。

試練2:まさかの、サーバー会社が力尽きる

「LINEが何に怒っているのか、本音を吐き出させるプログラム」に書き換えて、もう一度サーバーにアップロードしようとしたその時。

画面に真っ赤な文字で「503 Service Unavailable(サービスが利用できません)」の大合唱。

なんと、僕のコードが悪いのではなく、使っていた世界的なサーバー会社(Cloudflare)のシステムが一時的に混雑して休憩に入ってしまうという、まさかのタイミングの悪さ。 これには「そっちがバテるんかい!」とツッコミを入れつつ、画面の前で「がんばれ…」とお祈り。

数分後、サーバー会社がシャキッと復活してくれたので、なんとか次のステップへ進めました。

試練3:LINEの門番「お前のデータ、なんか怪しい」

気を取り直して、LINEが怒っている理由をのぞき見する機能をONにして、もう一度スマホからメッセージを送信!

すると、LINEのシステムから返ってきたのは「エラーコード 400」。

これはLINEの門番から「送ってきたデータの中に、受け付けられない不正なものが入っているぞ!」と突き返されている状態です。でも、どこがダメなのかの詳しい理由は教えてくれません。

「プログラムの書き方は完璧なはずなのに、何が不正なんだ…?」 完全に迷宮入りしかけました。

運命のオチ:お前…1文字しかなかったのか…

そこで僕は、最後の手段に出ました。 LINEのシステムに入るための「秘密の鍵(パスワード)」がちゃんとサーバーに届いているか、安全に文字数だけを数える罠をプログラムに仕掛けたのです。

LINEの鍵は、本来なら100文字以上ある、めちゃくちゃ長い暗号のような文字列です。

いざ、罠を張ってLINEを送信! パソコンの画面に映し出された、衝撃のログがこちら。

「チェック結果:あなたの登録した鍵の長さは【 1文字 】です」

1文字ぃぃぃぃぃ!!!?????

思わず画面二度見しました。 そう、前日に長い鍵をコピーしてパソコンに貼り付けたとき、うまくコピーできていなかったのか、押し間違えたのか、「ただのスペース(空白)1文字」が最強の鍵として登録されていたのです。

そりゃあLINEの門番も「こんな1文字の鍵で入れるか!」って激怒しますよね。

結末:本物の鍵を持たせたら……

原因が100%わかったので、LINEの管理画面から100文字以上の「本物の長い鍵」をコピーして、今度こそ慎重にサーバーに登録し直しました。

そして、運命の瞬間。 スマホから「テスト」と送信。

画面に「通信成功(Status 200)」の文字が出た次の瞬間……

スマホがブブッと震えて、「テスト」と健気にオウム返しが返ってきました!!!

「かえってきたあああああ!!!」と思わず部屋で叫びました。

まとめ:トラブルも含めて、ものづくりは最高に楽しい

今回は「コピペミスで鍵が1文字になっていた」というズッコケなオチでしたが、動かない原因に対して仮説を立て、プログラムを書き換えて、犯人をあぶり出すプロセスは、まるで探偵になったみたいで最高にエキサイティングでした!

一見難しそうなプログラミングですが、エラーの声をちゃんと聴いてあげれば、必ず答えを教えてくれます。

もし皆さんもLINEボットを作るときに動かなかったら、まずは「鍵の文字数」を疑ってみてくださいね!(笑)

最後まで読んでいただき、ありがとうございました!

コメント