$\huge{元氣ですかーーーーッ!!!}$
$\huge{元氣があればなんでもできる!}$
はじめに
闘魂とElixirが出会いました。
闘魂 meets Elixir.です。
Elixir meets 闘魂.でもよいです。
を参照しました。
私もSMS送信をやってみたくなりました。
iex> "Elixir" |> String.graphemes() |> Enum.frequencies()
%{"E" => 1, "i" => 2, "l" => 1, "r" => 1, "x" => 1}
ExTwilio
ExTwilioは、
ExTwilio is a relatively full-featured API client for the Twilio API.
参照した@tuchiroさんのコラム「twilio+ex_twilioでSMSを簡単に送信する」でも使われています。
これを使うのが早そうです。
アカウント登録
を参照しました。
@tuchiroさんのコラム「twilio+ex_twilioでSMSを簡単に送信する」も参照しました。
必要なものは以下の3点です。
- Account SID
- Auth Token
- Twilio phone number (送信元の電話番号です。Twilioさんに払い出してもらいます)
論よりRun!!!
迷わず動かしてみます。
今回はIExで動かします。
時間がありません。
に応募、投稿(闘魂)したいとおもっています。
2022-12-25の23:59までに投稿(闘魂)する必要があります。
突貫小僧星野勘太郎です。
ビッシビシ行くからな!
プロジェクト作成
mix new hello_twilio
mix.exsの編集
ExTwilioを導入します。
defp deps do
[
{:ex_twilio, "~> 0.9.1"}
]
end
mix deps.get
ライブラリをインストールします。
cd hello_twilio
mix deps.get
設定ファイル
設定ファイル config/config.exs
を作ります。
ExTwilioのconfigurationをご参照ください。
設定ファイル config/config.exs
無しでも動的に設定する方法があるかもしれません。
パッと見、公式のトップページには見当たりませんでした。
タイムリミットも迫っているため、深追いしませんでした。
2022-12-25の23:59までに投稿(闘魂)する必要があります。
に応募、投稿(闘魂)します。
動かす
準備は整いました。
いよいよIExで動かします。
プロジェクトのルートにいることを確認して、迷わず行きます。iex -S mix
です。
iex -S mix
ExTwilio.Message.create(
to: "+817xxxxxxxxx",
from: "+12xxxxxxxxxx",
body: "闘魂とは己に打ち克つこと、そして闘いを通じて己の魂を磨いていくことだとおもいます")
:to
と:from
は適切な値を設定してください。
IExに上記をペタっと貼り付けて迷わず実行してください!
SMS来ましたよ
Twilioさんから 闘魂注入 していただきました!!!
ありがとうーーーーッ!!! ございます。
ワンポイントレッスン エラーがでた
私は以下のエラーに遭遇しました。
{:error,
%{
"code" => 21211,
"message" => "The 'To' number +817xxxxxxxxx is not a valid phone number.",
"more_info" => "https://www.twilio.com/docs/errors/21211",
"status" => 400
}, 400}
これは設定が足りていません。
無料アカウントでは、送信先をあらかじめ登録しておく必要があります。
私はコンソールの中で、My First Twilio accountを押したときに表示される下記の画面からNext -> Nextと指示に従いました。
途中curlで、SMS送信先の自身の電話番号を入力しました。
curlの実行例は丁寧にTwilioさんがコンソールに書いてくださっています。
迷わず実行してください。
おわりに
ExTwilioを使うと、簡単にElixirでSMS送信ができます。
また明日からはアドベントカレンダー2023がはじまります!
がんばっていきましょう!
元氣があればなんでもできる!!!
$\huge{元氣があればなんでもできる!}$
$\huge{元氣ですかーーーーッ!!!}$
$\huge{元氣があればなんでもできる!}$
$\huge{1、2、3 ぁっダー!}$