Bot.java: add support for "commandPrefixRequired" toggle [JENKINS-17380, JENKINS-58927] #210
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As posted in https://issues.jenkins.io/browse/JENKINS-17380 and https://issues.jenkins.io/browse/JENKINS-58927 currently the IRC Bot allows interaction via private chats (admin to bot) as opposed to group channels; however this still requires using the command prefix or nickname prefix - which is cumbersome in an already individualized private chat.
The culprit was in the common instant-messaging-plugin, where it recognizes if the message is of interest to the bot, by requiring those prefixes.
A viable solution (also backwards-compatible for users who would continue to use the prefixes) is to have an option to not-require the prefix and just try using any received message, if the consumer plugin told this bot instance to do so (not default!)
After merging and releasing a plugin iteration with this change, there would be fixes applied to ircbot-plugin to use the new constructor API. => jenkinsci/ircbot-plugin#214
CC @Flowdalic : You may want to update jabber-plugin similarly?
Testing done
Currently dev-tested for API non-breakage using a local
mvn install
and using the snapshot version as the required dependency version in ircbot-plugin build area (where the consumer is updated to use the new toggle). IDEA recognizes both of the constructors.Submitter checklist