Skip to content

Instantly share code, notes, and snippets.

@adsr
Created April 5, 2021 02:24
Show Gist options
  • Select an option

  • Save adsr/0dd720439046ae8bb3e4ea7efac5a489 to your computer and use it in GitHub Desktop.

Select an option

Save adsr/0dd720439046ae8bb3e4ea7efac5a489 to your computer and use it in GitHub Desktop.
diff --git a/lib/irslackd.js b/lib/irslackd.js
index 0442fe3..0642481 100644
--- a/lib/irslackd.js
+++ b/lib/irslackd.js
@@ -1017,9 +1017,10 @@ class Irslackd {
// Try conversations.info
let convo = await ircUser.slackWeb.apiCallOrThrow('conversations.info', { channel: slackChan });
- // If it's an im, pass to resolveSlackUser
+ // If it's an im, we are the target, use our ircNick
if (convo.channel.is_im) {
- return this.resolveSlackUser(ircUser, convo.channel.user);
+ ircUser.mapIrcToSlack(ircUser.ircNick, slackChan);
+ return ircUser.ircNick;
}
// Set cache; return
diff --git a/tests/test_message.js b/tests/test_message.js
index 12d72f1..2183909 100644
--- a/tests/test_message.js
+++ b/tests/test_message.js
@@ -75,6 +75,25 @@ test('slack_privmsg', async(t) => {
t.end();
});
+test('slack_privsg_user', async(t) => {
+ t.plan(2 + mocks.connectOneIrcClient.planCount);
+ const c = await mocks.connectOneIrcClient(t);
+ c.ircSocket.expect(':test_slack_fooo PRIVMSG test_slack_user :hello user');
+ c.slackWeb.expect('conversations.info', { channel: 'D1234PRIV1' }, {
+ ok: true,
+ channel: { is_im: true },
+ ts: '1234.5678',
+ });
+ await c.daemon.onSlackMessage(c.ircUser, {
+ text: 'hello user',
+ user: 'U1235FOOO',
+ channel: 'D1234PRIV1',
+ ts: '1234.5678',
+ });
+ c.end();
+ t.end();
+});
+
test('slack_delete_image', async(t) => {
t.plan(2 + mocks.connectOneIrcClient.planCount);
const c = await mocks.connectOneIrcClient(t);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment