diff --git a/lib/lita/adapters/hipchat.rb b/lib/lita/adapters/hipchat.rb index 262cd0e..72d3c53 100644 --- a/lib/lita/adapters/hipchat.rb +++ b/lib/lita/adapters/hipchat.rb @@ -52,7 +52,7 @@ def send_messages(target, strings) if target.private_message? connector.message_jid(target.user.id, strings) else - connector.message_muc(target.room, strings) + connector.message_muc(muc_domain, target.room, strings) end end diff --git a/lib/lita/adapters/hipchat/connector.rb b/lib/lita/adapters/hipchat/connector.rb index 4f9a518..3a06450 100644 --- a/lib/lita/adapters/hipchat/connector.rb +++ b/lib/lita/adapters/hipchat/connector.rb @@ -70,7 +70,8 @@ def message_jid(user_jid, strings) end end - def message_muc(room_jid, strings) + def message_muc(muc_domain, room_jid, strings) + room_jid = [room_jid, muc_domain].join('@') muc = mucs[room_jid] strings.each do |s| Lita.logger.debug("Sending message to MUC #{room_jid}: #{s}") diff --git a/spec/lita/adapters/hipchat/connector_spec.rb b/spec/lita/adapters/hipchat/connector_spec.rb index 00baea2..6ce33eb 100644 --- a/spec/lita/adapters/hipchat/connector_spec.rb +++ b/spec/lita/adapters/hipchat/connector_spec.rb @@ -185,10 +185,10 @@ describe "#message_muc" do it "sends the messages to the room" do muc = instance_double("Jabber::MUC::SimpleMUCClient") - allow(subject).to receive(:mucs).and_return("jid" => muc) + allow(subject).to receive(:mucs).and_return("jid@conf.hipchat.com" => muc) expect(muc).to receive(:say).with("foo") expect(muc).to receive(:say).with("bar") - subject.message_muc("jid", ["foo", "bar"]) + subject.message_muc("conf.hipchat.com", "jid", ["foo", "bar"]) end end diff --git a/spec/lita/adapters/hipchat_spec.rb b/spec/lita/adapters/hipchat_spec.rb index 74939e4..1476949 100644 --- a/spec/lita/adapters/hipchat_spec.rb +++ b/spec/lita/adapters/hipchat_spec.rb @@ -154,7 +154,7 @@ describe "#send_messages" do it "sends messages to rooms" do source = instance_double("Lita::Source", room: "room_id", private_message?: false) - expect(subject.connector).to receive(:message_muc).with("room_id", ["Hello!"]) + expect(subject.connector).to receive(:message_muc).with("conf.hipchat.com", "room_id", ["Hello!"]) subject.send_messages(source, ["Hello!"]) end