我正在尝试创建一个机器人并检索频道列表。我在存储库中使用了机器人示例,它大部分都在工作,除了它必须获取频道列表的部分。
要么我在做一些愚蠢的事情,要么GetChannels API真的不像 bot_sample.go 中描述的那样工作。我制作了一个较小的单独函数来测试该部分。
在此处添加代码以获得更好的可读性:
func mattermostPrintChannels(client *mattermost.Client) {
channelsResult, err := client.GetChannels("")
if err != nil {
fmt.Print("Couldn't get channels: ", err)
return
}
channelList := channelsResult.Data.(*mattermost.ChannelList)
fmt.Print("Channels:")
for _, channel := range channelList.Channels {
fmt.Printf("%s -> %s", channel.Id, channel.DisplayName)
}
}
这段代码给了我错误:
./mattermost.go:30: channelList.Channels undefined(类型 *model.ChannelList 没有字段或方法 Channels)
现在,如果我只打印 ChannelList 变量的内容(使用 spew),我会得到以下信息:
channelList: : ([]interface {}) (len=1 cap=1) {
(*model.ChannelList)(<nil>)
}