Server Bot or client Bot

I was going to build a bot that replies to some simple chat messages.

I would like it to have a standard JID as unique identifier.

Does that require me to implement it as a client (smack) connected to a server? Or, can I implement it for deployment in the Wildfire server?

Would this then be a wildfire plugin, or a server component?

Say I wanted to build a small framework, to hook into either one, to allow bots to execute as clients, or in the server. Any advice?

Many thanks in advance

Hey Kenneth,

You can either implement that functionality in a client, an internal component or an external component. Implementing it as a client or external component will let you hook your functionality to other servers (if that is a requirement). If you need to access internal server’'s API then as an internal component is the way to go.


– Gato

I see, all of the above.

Using either of these I can implement a bot that users see in their contact list as


Where can I read more to understand the trade-offs? The information regarding

internal APIs and portability between Jabber servers was really helpful. At this point I have no problem committing to Wildfire.

I have to address scalability for instance. Taking the two server implementation options, will it matter?

I suppose I can use Connection Managers in either case.

I suppose I impose the same load on the Wildfire Message Router in either case.

I suppose I have the choice to distribute external server components on helper servers, maybe even load balance them. You could argue that you can code this yourself in a Wildfire Plugin/Internal API, but that isn’'t the core of my question.


May I ask a newbie precision : is it possible to make multiple instances of a plugin into the same server ? Or is it possible to have a server instantiate multiple bots dynamically to which it will forward specific messages ?

Thanks, Guillaume

Message was edited by: gdenis

Good question !!.

I don’'t know, but I have had to do multiples bots in several apps in C++ because is the only form that I know to have a bot in each one of the chatrooms.