Add chat.getPermalink interface in Slack Nodes.

This commit is contained in:
tumf 2021-01-20 16:40:24 +09:00
parent 28d54ed439
commit 2bd05abc3e
2 changed files with 55 additions and 0 deletions

View file

@ -30,6 +30,11 @@ export const messageOperations = [
value: 'update', value: 'update',
description: 'Updates a message.', description: 'Updates a message.',
}, },
{
name: 'GetPermalink',
value: 'getPermalink',
description: 'Get Permanent Link of a message',
},
], ],
default: 'post', default: 'post',
description: 'The operation to perform.', description: 'The operation to perform.',
@ -1631,4 +1636,47 @@ export const messageFields = [
}, },
], ],
}, },
/* ----------------------------------------------------------------------- */
/* message:getPermaLink
/* ----------------------------------------------------------------------- */
{
displayName: 'Channel',
name: 'channelId',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getChannels',
},
required: true,
default: '',
displayOptions: {
show: {
resource: [
'message',
],
operation: [
'getPermalink',
],
},
},
description: 'Channel containing the message to be updated.',
},
{
displayName: 'TS',
name: 'messageTs',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: [
'message',
],
operation: [
'getPermalink',
],
},
},
description: `Timestamp of the message to get permanent link.`,
},
] as INodeProperties[]; ] as INodeProperties[];

View file

@ -795,6 +795,13 @@ export class Slack implements INodeType {
Object.assign(body, updateFields); Object.assign(body, updateFields);
responseData = await slackApiRequest.call(this, 'POST', '/chat.update', body, qs); responseData = await slackApiRequest.call(this, 'POST', '/chat.update', body, qs);
} }
//https://api.slack.com/methods/chat.getPermalink
if (operation === 'getPermalink') {
const channel = this.getNodeParameter('channelId', i) as string;
const ts = this.getNodeParameter('messageTs', i) as string;
const qs = { channel: channel, message_ts: ts };
responseData = await slackApiRequest.call(this, 'GET', '/chat.getPermalink', {}, qs);
}
} }
if (resource === 'reaction') { if (resource === 'reaction') {
const channel = this.getNodeParameter('channelId', i) as string; const channel = this.getNodeParameter('channelId', i) as string;