A command with which you could directly check if a question has been answered. More helpful would be to scan messages in a lets say help channel and check if its been asked yet. Would remove some duplicate questions but depends on how strong the bot is (some filter would be needed, like only long messages, only ones with question marks, only ones from users who havent written anything in some time (so that answers or discussions dont trigger it) like a cooldown etc.).
If it finds one where it is sure that its a duplicate it could send a message with the link to let the person decide if thats the same issue and the ability to remove that message with a trash can reaction for example.
Should be possible to just use the Github API and search with that, maybe removing some words before that would make it more reliable (like its done in language processing etc.)
Great idea, I have added it to the v0.2 project board π
oh yeah! great idea @TECHNOFAB11!!!!!!!!!!!! β
It'd be awesome if you could get a list of suggestions if you type Q:
So pseudo-code time:
/**
* Helper function to strip a question of words that are not that useful.
*
* e.g. "how", "why", "where" = adverbs
* e.g. "do", "to" = prepositions
* punctuation has also gotta go...
*
* @param question string
* A question that may match things in the issue queue.
* @param results number
* Amount of results to return, default to 3.
*
* @see https://github.com/EddieJaoudeCommunity/EddieBot/issues/183
*/
const queryGitHubIssueQueueForRelevantIssues = (question: string, results: 3): array =>
{
// split sentence into words... (something better than just a space would be nice...)
const words = question.split(' ');
// go through the words and strip adverbs, prepositions, punctuation.
const keywords = words.filter((word) => {
return word === ''; // RegEx? Is there a library for this?
})
// now you should have an array of keywords to search GitHub with?
const githubMatchingIssues: [] = [];
// return keywords or [].
return githubMatchingIssues.slice(0, results) || [];
}
// go through the words and strip adverbs, prepositions, punctuation. const keywords = words.filter((word) => { return word === ''; // RegEx? Is there a library for this? })@stemount There is npm package called stopword.
Stale issue message
Stale issue message
wow, I totally forgot about this issue. Thanks for the reminder stale bot π!
@TECHNOFAB11 this is indeed a great idea π, but for someone to pick it up we need to groom this issue. Right now it seems too vague for someone to start working on it.
@EddieJaoudeCommunity/coreteam what does everyone think about splitting into tasks or perhaps other issues. My idea right now is something like this:
support command^support search "what does devrel mean?"Bot's Response: `We found this issue that might answer your question: https://github.com/EddieJaoudeCommunity/support/issues/64` or `we couldn't find any issue, raise a question on the support repo.`
This is still too high level, but we could try make a MVP, like the true minimum to get something working that provides value to the community. Then make a PR with that, and iterate after π π
noooo stale bot :/
(I think this is still needed)
@EddieJaoudeCommunity/coreteam what does everyone think about splitting into tasks or perhaps other issues. My idea right now is something like this:
@BOLT04 I am always in favour of splitting things to be smaller π
yeah, I think we can close this issue with the PR @alrifay opened πsince it addresses the first bullet point: "Search the support repo's issues with the GitHub API". For the rest, we'll create different issues π
Most helpful comment
wow, I totally forgot about this issue. Thanks for the reminder stale bot π!
@TECHNOFAB11 this is indeed a great idea π, but for someone to pick it up we need to groom this issue. Right now it seems too vague for someone to start working on it.
@EddieJaoudeCommunity/coreteam what does everyone think about splitting into tasks or perhaps other issues. My idea right now is something like this:
supportcommand^support search "what does devrel mean?"This is still too high level, but we could try make a MVP, like the true minimum to get something working that provides value to the community. Then make a PR with that, and iterate after π π