Hi,
I want to build a robot that will act as a client.
The robot will get stanzas and reply according to an algorithm and will interact with a database table.
Is there an erlang xmpp client that I should use or maybe it is better to build an ejabberd module for it?
Thanks
Look at existing Jabber bots; or for example mod_chatcommands
You can write your bot as a Jabber client using any programming language. Or extend an existing bot with the features you want, for example there isNeutron written in Python. There isn't yet any stable XMPP client library written in Erlang.
Or you could write your bot as a Jabber component. In this case you can implement it in an ejabberd module, for example look atmod_chatcommands .
Is there any advantage of a
Is there any advantage of a jabber client compared to ejabberd module?
It seams like an ejabberd module will be more scalable out of the box and will benefit from the ejabberd api power.
Writing a Jabber client bot seams like a very hard task while building a bot from ejabberd module seams achievable.
Am I missing something?
Will an ejabberd module bot be able to interact with thousands of simultaneous users, perform simple logic and interact with a database?
Thanks
I imagine a Jabber component
I imagine a Jabber component would be more scalable that a Jabber client bot.
In my previous comment I mentioned both alternatives because you asked about both :)
I'll go with an ejabberd
I'll go with an ejabberd component.
Thanks.
Check this: Thoughts On Scalable XMPP Bots
Is there any advantage of a jabber client compared to ejabberd module?
It seams like an ejabberd module will be more scalable out of the box and will benefit from the ejabberd api power.
There is a recent blogpost on this topic:Thoughts On Scalable XMPP Bots