aboutsummaryrefslogtreecommitdiff
path: root/lib/mod_presence_demo.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mod_presence_demo.ex')
-rw-r--r--lib/mod_presence_demo.ex21
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/mod_presence_demo.ex b/lib/mod_presence_demo.ex
new file mode 100644
index 000000000..89fc60d87
--- /dev/null
+++ b/lib/mod_presence_demo.ex
@@ -0,0 +1,21 @@
+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
+
+ def stop(host) do
+ info('Stopping ejabberd module Presence Demo')
+ Ejabberd.Hooks.delete(:set_presence_hook, host, __ENV__.module, :on_presence, 50)
+ :ok
+ end
+
+ def on_presence(user, _server, _resource, _packet) do
+ info('Receive presence for #{user}')
+ :none
+ end
+end