Mibew / mibew

Mibew Messenger - open-source live support application
https://mibew.org
Other
471 stars 204 forks source link

Feature request: auto-message visitor after x minutes without operator join #231

Closed Bert-de-Jong closed 6 years ago

Bert-de-Jong commented 6 years ago

This is a low priority feature request.

We've been using Mibew on all our websites for about half a year, and it's very useful. Thanks again for this software.

Every now and then, the chat is enabled, but all operators are too busy elsewhere to help visitors. It might be useful if the Mibew settings included an option to set a text that will be displayed to visitors if no operator has joined their chat after a certain number of minutes. The implementation could be as simple as adding an input type="text" to the settings with a hint "Text entered here will be shown in-chat if no operator joined in 5 minutes". A bit more work would be to also add an input for the number of minutes.

This would allow us to add something like "Unfortunately, all our operators appear to be unavailable. You could try again later or contact us by phone at ..."

faf commented 6 years ago

The answer is pretty standard. One should write a plugin for this.

faf commented 6 years ago

So, I've created the plugin. It's available on our official site: https://mibew.org/plugins#mibew-auto-reply

The source code is available under the terms of Apache License 2.0 (same as Mibew Messenger itself).

Bert-de-Jong commented 6 years ago

That is great, faf; thank you so much.

faf commented 6 years ago

@Bert-de-Jong You're welcome. However keep in mind that there were no tests in production environment. Feel free to open issues in the dedicated repository in case of any bugs.

Bert-de-Jong commented 6 years ago

We've got the plugin up and running on four of our websites. It seems to work; I've tested it. The only minor issue I found is that I had to manually edit the PHP file to modify "All our operators are currently busy, please hold. Sorry for keeping you waiting." because operator/translation doesn't list the string.

faf commented 6 years ago
  1. The aforementioned string should become available in the interface after its first usage. Fixed in version 0.1.1.
  2. It's not a good idea to alter the source code: you'll have to maintain your changes in the future, or will be unable to update the plugin.
  3. If you want to continue to discuss the situation in question please open the issue in the appropriate repository.