松弛 RTM API 获取频道列表

slack RTM API get channel list

我正在使用 https://github.com/slackapi/node-slack-sdk

中提供的 slack bot RTM API 的简单模板
var RtmClient = require('@slack/client').RtmClient;
var CLIENT_EVENTS = require('@slack/client').CLIENT_EVENTS;
var bot_token = process.env.SLACK_BOT_TOKEN || '';
var rtm = new RtmClient(bot_token);

问题是如何获取频道名称?

我发现我应该使用兼容WEB API的channel.list

但是我在RTM API的时候怎么调用WEB API呢?而且,总的来说,为什么所有这些都过于复杂?

下面的示例怎么样?请在使用时导入您的访问令牌。

示例:

var WebClient = require('@slack/client').WebClient;
var web = new WebClient('## your access token ##');
web.channels.list(function(err, info) {
  if (err) {
    console.log(err);
  } else {
    for(var i in info.channels) {
      console.log("%s", info.channels[i].name, info.channels[i].id);
    }
  }
});

结果:

channelName1 channelID1
channelName2 channelID2
channelName3 channelID3

如果我误解了你的问题,我很抱歉。