In most cases a simple REPL bot is sufficient, but in cases you want to program more advanced communication scenarios you may take a more complex event-based approach, as in this example.
Event-based approach allows you:
- decide whether to connect to a user or not depending on any factors, e.g. user display name.
- disconnect from users who send too many messages or send messages that bot finds inappropriate.
- react to message deletions and editing.
- process reply messages differently, taking the original message into account.
- process and send images and voice messages.
- create groups of users, e.g. to connect 2 users.
- etc.