       []
     end
   end
+  @doc false
   def is_bot(_msg), do: false
   def get_date_time(msg, user), do: format_date_time(msg, user)
   def get_time(msg, user), do: format_time(msg, user)
   def is_private(%{type: "p"}), do: true
   def is_private(_msg), do: false
+  @doc false
   def hide_cog(_msg), do: ""
+  @doc false
   def attachments(_msg), do: []
+  @doc false
   def hide_action_links(_msg), do: " hidden"
+  @doc false
   def action_links(_msg), do: []
+  @doc false
   def hide_reactions(msg) do
     if msg.reactions == [], do: " hidden", else: ""
   end
+  @doc false
   def reactions(_msg), do: []
+  @doc false
   def mark_user_reaction(_reaction), do: ""
+  @doc false
   def render_emoji(_emoji), do: ""
+  @doc false
   def has_oembed(_msg), do: false
   def edited(%{edited_id: edited_id} = msg, user) when not is_nil(edited_id) do
     %{

  defp rebel_event("delete-message"), do: ["rebel-click": "message_action"]
  defp rebel_event(_), do: ["rebel-click": "message_action"]

  def system_message(message) do
    messages = %{
      "You have been muted and cannot speak in this room" => ~g(You have been muted and cannot speak in this room),

  end
  defp html_escape(body, _), do: body

  @doc """
  Runs the configured message replacement patterns regex's against the
  message body.
  """
  def run_message_replacement_patterns(body, [_ | _] = patterns) do
    Enum.reduce(patterns, body, fn {re, sub}, body ->
      Regex.replace(re, body, sub)
