Mentions
To implement the second point, we need to revisit our Bot
class and add mention functionality. In the Bot
class' constructor, replace the RTM_CONNECTION_OPENED
event listener block with the following:
this.slack.on(CLIENT_EVENTS.RTM.RTM_CONNECTION_OPENED, () => {
let user = this.slack.dataStore.getUserById(this.slack.activeUserId)
let team = this.slack.dataStore.getTeamById(this.slack.activeTeamId);
this.name = user.name;
this.id = user.id;
console.log(`Connected to ${team.name} as ${user.name}`);
});
The only change here is the addition of the bot's id
to the this
object. This will help us later. Now, replace the respondTo
function with this:
respondTo(opts, callback, start) { if (!this.id) { // if this.id doesn't exist, wait for slack ...
Get Building Slack Bots now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.