LoginSignup
5
0

More than 1 year has passed since last update.

$\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.

です。
Elixir製のTwilioライブラリです。

参照した@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までに投稿(闘魂)する必要があります。
突貫小僧星野勘太郎です。
ビッシビシ行くからな!

プロジェクト作成

CMD
mix new hello_twilio

mix.exsの編集

ExTwilioを導入します。

mix.exs
  defp deps do
    [
      {:ex_twilio, "~> 0.9.1"}
    ]
  end

mix deps.get

ライブラリをインストールします。

CMD
cd hello_twilio
mix deps.get

設定ファイル

設定ファイル config/config.exsを作ります。

ExTwilioconfigurationをご参照ください。

設定ファイル config/config.exs無しでも動的に設定する方法があるかもしれません。
パッと見、公式のトップページには見当たりませんでした。
タイムリミットも迫っているため、深追いしませんでした。
2022-12-25の23:59までに投稿(闘魂)する必要があります。

に応募、投稿(闘魂)します。

動かす

準備は整いました。
いよいよIExで動かします。
プロジェクトのルートにいることを確認して、迷わず行きます。iex -S mixです。

CMD
iex -S mix
ExTwilio.Message.create(
  to: "+817xxxxxxxxx",
  from: "+12xxxxxxxxxx",
  body: "闘魂とは己に打ち克つこと、そして闘いを通じて己の魂を磨いていくことだとおもいます")

:to:fromは適切な値を設定してください。
IExに上記をペタっと貼り付けて迷わず実行してください!

SMS来ましたよ :tada::tada::tada:

スクリーンショット 2022-12-25 22.58.31.png

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と指示に従いました。

スクリーンショット 2022-12-25 22.51.44.png

途中curlで、SMS送信先の自身の電話番号を入力しました。
curlの実行例は丁寧にTwilioさんがコンソールに書いてくださっています。
迷わず実行してください。


おわりに

ExTwilioを使うと、簡単にElixirでSMS送信ができます。

また明日からはアドベントカレンダー2023がはじまります!
がんばっていきましょう!
元氣があればなんでもできる!!!

$\huge{元氣があればなんでもできる!}$



$\huge{元氣ですかーーーーッ!!!}$
$\huge{元氣があればなんでもできる!}$
$\huge{1、2、3 ぁっダー!}$

5
0
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
5
0