When to use NLP?
It might be tempting to have weatherbot listen to and process all messages sent in the channel. This immediately poses some problems:
How do we know if the message sent is a query on the weather or is completely unrelated?
Which geographic location is the query about?
Is the message a question or a statement? For example, the difference between Is it cold in Amsterdam and It is cold in Amsterdam.
Although an NLP-powered solution to the preceding questions could probably be found, we have to face facts: it's likely that our bot will get at least one of the above points wrong when listening to generic messages. This will lead the bot to either provide bad information or provide unwanted information, thus becoming annoying. If there's one thing we need to avoid at all costs, it's a bot that sends too many wrong messages too often.
Here's an example of a bot using NLP and completely missing the point of the message sent:
If a bot were to often mistake...