2015-01-29 18:43:47 +01:00
|
|
|
defmodule ModPresenceDemo do
|
|
|
|
import Ejabberd.Logger # this allow using info, error, etc for logging
|
|
|
|
@behaviour :gen_mod
|
|
|
|
|
|
|
|
def start(host, _opts) do
|
|
|
|
info('Starting ejabberd module Presence Demo')
|
|
|
|
Ejabberd.Hooks.add(:set_presence_hook, host, __ENV__.module, :on_presence, 50)
|
|
|
|
:ok
|
|
|
|
end
|
2016-08-01 15:46:14 +02:00
|
|
|
|
2015-01-29 18:43:47 +01:00
|
|
|
def stop(host) do
|
|
|
|
info('Stopping ejabberd module Presence Demo')
|
|
|
|
Ejabberd.Hooks.delete(:set_presence_hook, host, __ENV__.module, :on_presence, 50)
|
|
|
|
:ok
|
|
|
|
end
|
2016-08-01 15:46:14 +02:00
|
|
|
|
2015-01-29 18:43:47 +01:00
|
|
|
def on_presence(user, _server, _resource, _packet) do
|
|
|
|
info('Receive presence for #{user}')
|
|
|
|
:none
|
2016-08-01 15:46:14 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
# gen_mod callbacks
|
|
|
|
def depends(_host, _opts), do: []
|
|
|
|
def mod_opt_type(_), do: []
|
|
|
|
|
2015-01-29 18:43:47 +01:00
|
|
|
end
|