私はボットを作成し、チャンネルのリストを取得しようとしています。 私はbot exampleをリポジトリに使用しました。ほとんどの場合、チャネルのリストを取得する必要がある部分を除いて動作しています。golangの重要なチャンネルのリストを取得できません
私は何かばかげているか、GetChannels APIがbot_sample.goに記載されているように実際には機能しません。 私はその部分をテストするために小さいseparate functionを作った。
読みやすくするために、ここでのコードを追加:
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)
}
}
このコードは私にエラーを与える:私はちょうど(スピューを使用して)ChannelList変数の内容を印刷する場合
./mattermost.go:30: channelList.Channels undefined (type *model.ChannelList has no field or method Channels)
は今、私が取得以下:
channelList: : ([]interface {}) (len=1 cap=1) {
(*model.ChannelList)(<nil>)
}
に
を変更したいと思います。ドキュメントを見ると、['ChannelList'](https://godoc.org/github.com/mattermost/platform/model#ChannelList)は' [] * Channel'スライスなので、その範囲を超えています。 – JimB