LineMessage

Installation

If available in Hex, the package can be installed as:

  1. Add line_message to your list of dependencies in mix.exs:
def deps do
[{:line_message, "~> 0.3.6"}]
end
  1. Ensure line_message is started before your application:
def application do
[applications: [:line_message]]
end

Example

lib/line_message_handler.ex

defmodule LineMessageHandler do
  use LineMessage.Macro
  
  @img "<image url>"
  
  line do
    message :text do
      Message.text(event.message.text)
      |> Message.image %{
        originalContentUrl: @img,
        previewImageUrl: @img
      }
      |> Reply.to(event.replyToken)
    end

    message :image do
      Message.text("image")
      |> Reply.to(event.replyToken)
    end
  end
end

config/config.exs

use Mix.Config

config :maru, LineMessage.EventHandle,
  https: [
    port: 8801,
    password: "yourpassword",
    keyfile: "/tmp/server.key",
    certfile: "/tmp/server.crt",
  ]

config :line_message, 
  handler: LineMessageHandler,
  url: "https://api.line.me/v2/bot/message/reply",
  access_token: "<access token>"