25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-12-16 17:15:55 +01:00
xmpp.chapril.org-ejabberd/lib/mod_example.ex

47 lines
967 B
Elixir
Raw Normal View History

2024-11-25 13:07:42 +01:00
defmodule Ejabberd.Module.Example do
@moduledoc """
Example ejabberd module written in Elixir.
This is an example to demonstrate the usage of Elixir to
create ejabberd modules.
Example configuration:
modules:
'Ejabberd.Module.Example': {}
"""
@behaviour :gen_mod
import Ejabberd.Logger
2015-01-29 18:43:47 +01:00
def start(host, _opts) do
2024-11-25 13:07:42 +01:00
info("Starting Ejabberd.Module.Example for host '#{host}'")
Ejabberd.Hooks.add(:set_presence_hook, host, __MODULE__, :on_presence, 50)
2015-01-29 18:43:47 +01:00
:ok
end
2015-01-29 18:43:47 +01:00
def stop(host) do
2024-11-25 13:07:42 +01:00
info("Stopping Ejabberd.Module.Example for host '#{host}'")
Ejabberd.Hooks.delete(:set_presence_hook, host, __MODULE__, :on_presence, 50)
2015-01-29 18:43:47 +01:00
:ok
end
2015-01-29 18:43:47 +01:00
def on_presence(user, _server, _resource, _packet) do
info("Receive presence for #{user}")
2015-01-29 18:43:47 +01:00
:none
end
2018-12-26 17:32:39 +01:00
def depends(_host, _opts) do
[]
end
def mod_options(_host) do
[]
end
def mod_doc() do
%{:desc => "This is just a demonstration."}
end
2015-01-29 18:43:47 +01:00
end