Hubot multiple messages
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I have the following script:
module.exports = (robot) ->
robot.respond /petsit/i, (res) ->
user_name = res.envelope.user.name
res.reply "Starting new petsitting under: @" + user_name + "n"
res.send "What is the dog's name? Reply with 'dog `INSERT_DOG_NAME`'"
robot.respond /dog (.*)/i, (msg) ->
dog_name = msg.match[1]
user_dog_name = "" + user_name + dog_name
if robot.brain.get(user_dog_name)
msg.send "Petsitting is already in progress for @" + user_name + " Dog: " + dog_name
else
robot.brain.set(user_app_name, true)
msg.send "#{dog_name} " + robot.brain.get(user_app_name)
I'm confused why I'm getting multiple messages when I call petsit multiple times?
For example:
@hubot petsit
@hubot dog lucky
@hubot petsit
@hubot dog kenny ---> This will give me multiple messages.
My thought is that this is async and the 2nd message is being run by the 1st dialouges/conversation? How do i fix this so that the 1st conversation does not interfere with following conversations?
coffeescript slack hubot
add a comment |
I have the following script:
module.exports = (robot) ->
robot.respond /petsit/i, (res) ->
user_name = res.envelope.user.name
res.reply "Starting new petsitting under: @" + user_name + "n"
res.send "What is the dog's name? Reply with 'dog `INSERT_DOG_NAME`'"
robot.respond /dog (.*)/i, (msg) ->
dog_name = msg.match[1]
user_dog_name = "" + user_name + dog_name
if robot.brain.get(user_dog_name)
msg.send "Petsitting is already in progress for @" + user_name + " Dog: " + dog_name
else
robot.brain.set(user_app_name, true)
msg.send "#{dog_name} " + robot.brain.get(user_app_name)
I'm confused why I'm getting multiple messages when I call petsit multiple times?
For example:
@hubot petsit
@hubot dog lucky
@hubot petsit
@hubot dog kenny ---> This will give me multiple messages.
My thought is that this is async and the 2nd message is being run by the 1st dialouges/conversation? How do i fix this so that the 1st conversation does not interfere with following conversations?
coffeescript slack hubot
add a comment |
I have the following script:
module.exports = (robot) ->
robot.respond /petsit/i, (res) ->
user_name = res.envelope.user.name
res.reply "Starting new petsitting under: @" + user_name + "n"
res.send "What is the dog's name? Reply with 'dog `INSERT_DOG_NAME`'"
robot.respond /dog (.*)/i, (msg) ->
dog_name = msg.match[1]
user_dog_name = "" + user_name + dog_name
if robot.brain.get(user_dog_name)
msg.send "Petsitting is already in progress for @" + user_name + " Dog: " + dog_name
else
robot.brain.set(user_app_name, true)
msg.send "#{dog_name} " + robot.brain.get(user_app_name)
I'm confused why I'm getting multiple messages when I call petsit multiple times?
For example:
@hubot petsit
@hubot dog lucky
@hubot petsit
@hubot dog kenny ---> This will give me multiple messages.
My thought is that this is async and the 2nd message is being run by the 1st dialouges/conversation? How do i fix this so that the 1st conversation does not interfere with following conversations?
coffeescript slack hubot
I have the following script:
module.exports = (robot) ->
robot.respond /petsit/i, (res) ->
user_name = res.envelope.user.name
res.reply "Starting new petsitting under: @" + user_name + "n"
res.send "What is the dog's name? Reply with 'dog `INSERT_DOG_NAME`'"
robot.respond /dog (.*)/i, (msg) ->
dog_name = msg.match[1]
user_dog_name = "" + user_name + dog_name
if robot.brain.get(user_dog_name)
msg.send "Petsitting is already in progress for @" + user_name + " Dog: " + dog_name
else
robot.brain.set(user_app_name, true)
msg.send "#{dog_name} " + robot.brain.get(user_app_name)
I'm confused why I'm getting multiple messages when I call petsit multiple times?
For example:
@hubot petsit
@hubot dog lucky
@hubot petsit
@hubot dog kenny ---> This will give me multiple messages.
My thought is that this is async and the 2nd message is being run by the 1st dialouges/conversation? How do i fix this so that the 1st conversation does not interfere with following conversations?
coffeescript slack hubot
coffeescript slack hubot
asked Jan 3 at 21:57
Rking14Rking14
588
588
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
You are getting multiple messages because the robot.respond /dog (.*)/i listener is attached every time the robot.respond /petsit/i is called. That is the first time you send petsit the /dog (.*)/i listener is attached for the first time. When you send dog ... only one response will be triggered. Every subsequent time you send petsit the second listener will bind itself on the same robot instance, thus sending you multiple responses.
By default there is no native support from Hubot for managing conversations. Instead you should have a look at a 3rd party module like hubot-conversation
that adds this type of functionality or implement your own logic.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54030373%2fhubot-multiple-messages%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You are getting multiple messages because the robot.respond /dog (.*)/i listener is attached every time the robot.respond /petsit/i is called. That is the first time you send petsit the /dog (.*)/i listener is attached for the first time. When you send dog ... only one response will be triggered. Every subsequent time you send petsit the second listener will bind itself on the same robot instance, thus sending you multiple responses.
By default there is no native support from Hubot for managing conversations. Instead you should have a look at a 3rd party module like hubot-conversation
that adds this type of functionality or implement your own logic.
add a comment |
You are getting multiple messages because the robot.respond /dog (.*)/i listener is attached every time the robot.respond /petsit/i is called. That is the first time you send petsit the /dog (.*)/i listener is attached for the first time. When you send dog ... only one response will be triggered. Every subsequent time you send petsit the second listener will bind itself on the same robot instance, thus sending you multiple responses.
By default there is no native support from Hubot for managing conversations. Instead you should have a look at a 3rd party module like hubot-conversation
that adds this type of functionality or implement your own logic.
add a comment |
You are getting multiple messages because the robot.respond /dog (.*)/i listener is attached every time the robot.respond /petsit/i is called. That is the first time you send petsit the /dog (.*)/i listener is attached for the first time. When you send dog ... only one response will be triggered. Every subsequent time you send petsit the second listener will bind itself on the same robot instance, thus sending you multiple responses.
By default there is no native support from Hubot for managing conversations. Instead you should have a look at a 3rd party module like hubot-conversation
that adds this type of functionality or implement your own logic.
You are getting multiple messages because the robot.respond /dog (.*)/i listener is attached every time the robot.respond /petsit/i is called. That is the first time you send petsit the /dog (.*)/i listener is attached for the first time. When you send dog ... only one response will be triggered. Every subsequent time you send petsit the second listener will bind itself on the same robot instance, thus sending you multiple responses.
By default there is no native support from Hubot for managing conversations. Instead you should have a look at a 3rd party module like hubot-conversation
that adds this type of functionality or implement your own logic.
answered Jan 10 at 14:03
spiliospilio
1,136612
1,136612
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54030373%2fhubot-multiple-messages%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown