-
-
Save sampaiodiego/db4b60717e7ac0051024dde23c6a902e to your computer and use it in GitHub Desktop.
| /* | |
| EXAMPLE MESSAGE | |
| /poll "question?" "option 1" "option 2" | |
| */ | |
| /** Global Helpers | |
| * | |
| * console - A normal console instance | |
| * _ - An underscore instance | |
| * s - An underscore string instance | |
| * HTTP - The Meteor HTTP object to do sync http calls | |
| */ | |
| class Script { | |
| /** | |
| * @params {object} request | |
| */ | |
| prepare_outgoing_request({ request }) { | |
| // request.params {object} | |
| // request.method {string} | |
| // request.url {string} | |
| // request.auth {string} | |
| // request.headers {object} | |
| // request.data.token {string} | |
| // request.data.channel_id {string} | |
| // request.data.channel_name {string} | |
| // request.data.timestamp {date} | |
| // request.data.user_id {string} | |
| // request.data.user_name {string} | |
| // request.data.text {string} | |
| // request.data.trigger_word {string} | |
| const emojis = [ | |
| ':zero:', | |
| ':one:', | |
| ':two:', | |
| ':three:', | |
| ':four:', | |
| ':five:', | |
| ':six:', | |
| ':seven:', | |
| ':eight:', | |
| ':nine:', | |
| ':ten:' | |
| ]; | |
| let match; | |
| // Change the URL and method of the request | |
| match = request.data.text.match(/((["'])(?:(?=(\\?))\3.)*?\2)/g); | |
| let title = ''; | |
| let options = []; | |
| match.forEach((item, i) => { | |
| item = item.replace(/(^['"]|['"]$)/g, ''); | |
| if (i === 0) { | |
| title = item; | |
| } else { | |
| options.push(emojis[(options.length + 1)] + ' ' + item); | |
| } | |
| }); | |
| return { | |
| message: { | |
| text: '_Please vote using reactions_', | |
| attachments: [ | |
| { | |
| color: '#0000DD', | |
| title: title, | |
| text: options.join('\n') | |
| } | |
| ] | |
| } | |
| }; | |
| } | |
| /** | |
| * @params {object} request, response | |
| */ | |
| process_outgoing_response({ request, response }) { | |
| } | |
| } |
Not work in 0.73.2
@gudge I have the same issue. I can send it but no one can respond.
Response with reactions are supported.
is there a way to implement some "filters"?
so that a user could only post one reaction to a poll?
or/and! that a user can only post a reaction that matches with one of the options?
other way this poll is quite useless ...
@3x3cut0r please try out the Poll Rocket.Chat App, https://github.com/sampaiodiego/rocket.chat.app-poll
it is a improved version of this integration.
Does anyone know of a method to halt the initial "!poll" message from appearing, so that only the Webook response is posted?
-Thanks!
@sampaiodiego I've installed it. After typing in the /poll command, form poops up. After filling all the required fields, I'm not able to create the poll because upon clicking Create button its not doing anything.
@wajeeh-devsinc please post any issues on the app repository https://github.com/sampaiodiego/rocket.chat.app-poll
the issue you're describing looks like something with permissions.
Hello need help for full commadline creation of poll
am calling poll creation using
/api/v1/commands.run
with following params
{
"command": "poll",
"roomId":"zDSutedKQTqxY42D2",
"params": "'Question?' 'op1' 'op2'",
"triggerId":"NPgkh84FbQ6wsry2L"
}
it return success but in chat no polls are being created.

Awsome simple feature. Thanks for sharing!