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

Functions

wechat_verify_responder(map)

check the signature with wechat server.