登录
首页 >  Golang >  Go问答

使用discordgo来建立频道

来源:stackoverflow

时间:2024-03-21 09:27:30 161浏览 收藏

本文档介绍了如何使用 Discordgo 库在 Discord 中创建频道。它首先建立与 Discord 令牌的连接,然后注册一个处理程序来监听频道创建事件。在创建频道事件触发时,处理程序将被调用,并且可以在其中执行创建频道的操作。本文档还提供了示例代码,演示如何使用消息事件来创建频道。

问题内容

我想让机器人在不和谐上创建一个频道。

我已经与不和谐令牌建立了连接:

// Create a new Discord session using the provided bot token.
dg, err := discordgo.New("Bot " + Token)
if err != nil {
    fmt.Println("error creating Discord session,", err)
    return
}

// Register the channelCreate func as a callback for ChannelCreate events.
dg.AddHandler(channelCreate)

// Open a websocket connection to Discord and begin listening.
err = dg.Open()
if err != nil {
    fmt.Println("error opening connection,", err)
    return
 }
}

// channel is create
func channelCreate(s *discordgo.Session, event *discordgo.ChannelCreate ) {

     // create channel here
}

如何在 https://gowalker.org/github.com/jonas747/discordgo#channelcreate 上使用 channelcreate 类型


解决方案


discordgo.messagecreate 是通道创建事件。这意味着处理程序将在创建通道时触发。我不确定您希望机器人创建频道的条件是什么。假设您想通过向机器人发送消息来创建一个频道。您首先需要在消息事件上添加一个处理程序

func messagecreate(s *discordgo.session, m *discordgo.messagecreate) {

    // ignore all messages created by the bot itself
    if m.author.id == s.state.user.id {
        return
    }

    if m.content == "create channel" {
        s.guildchannelcreate(guildid, name, type)
    }
}

类型为以下之一:

// Block contains known ChannelType values
const (
    ChannelTypeGuildText ChannelType = iota
    ChannelTypeDM
    ChannelTypeGuildVoice
    ChannelTypeGroupDM
    ChannelTypeGuildCategory
    ChannelTypeGuildNews
    ChannelTypeGuildStore
)

终于介绍完啦!小伙伴们,这篇关于《使用discordgo来建立频道》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>