ex_wechat v0.1.3 ExWechat.Responder
ExWechat.Responder
is to make respond to wechat server.
It can be used with server verify and other things.
This module will automaticlly generate needed methods for your Phoenix controller.
For simple use:
defmodule Demo.WechatController do
use ExWechat.Responder # interact with user, return message to user
import ExWechat.Message # function that parse and render wechat message
end
More complex example(when receives text message from user, it will return a text message with reverse text):
defmodule Wechat.WechatController do
require Logger
use Wechat.Web, :controller
use ExWechat.Responder
import ExWechat.Message
defp on_text_responder(conn) do
message = conn.assigns[:message]
case message do
%{content: content} ->
reply_with(conn, build_message(%{
msgtype: "text",
from: message.tousername,
to: message.fromusername,
content: String.reverse(content)
}))
_ ->
conn
end
end
end
There are several methods you can override:
defp on_text_responder(conn), do: conn
defp on_image_responder(conn), do: conn
defp on_voice_responder(conn), do: conn
defp on_video_responder(conn), do: conn
defp on_shortvideo_responder(conn), do: conn
defp on_location_responder(conn), do: conn
defp on_link_responder(conn), do: conn
defp on_event_responder(conn), do: conn
these methods must return a Plug.Conn
, just choose what you need.
Summary
Functions
check the signature with wechat server