gpt4 book ai didi

go - 使用 discordgo 发送私信

转载 作者:IT王子 更新时间:2023-10-29 01:14:59 26 4
gpt4 key购买 nike

我想让一个不和谐的机器人通过私有(private)消息回复在公共(public) channel 中发出的消息。

我可以使用 FAQ 中的以下代码检测 channel 是否私有(private):

func isTheChannelTheMessageWasSentInPrivate(s *discordgo.Session, m *discordgo.MessageCreate) {
channel, err := s.State.Channel(m.ChannelID)
if err != nil {
astilog.Fatal(err)
return
} else if m.Author.ID == s.State.User.ID {
return
}
channelIsPrivate := strconv.FormatBool(channel.IsPrivate)
print("Channel ID: " + m.ChannelID + ". Is it private? " + channelIsPrivate + "\n")
}

我可以使用此代码在接收到的同一 channel 上回复消息:

func recieveMessage(s *discordgo.Session, m *discordgo.MessageCreate) {
s.ChannelMessageSend(m.ChannelID, "Reply!")
}

但我不知道如何从 Message 中获取用户直接消息 channel 的 ChannelID收到消息后可用的对象。

最佳答案

session 结构有一个方法 UserChannelCreate(recipientID string),它返回给定用户 ID 的 DM channel 。不要介意“创建”,如果 DM channel 已经存在,它将被重用。

关于go - 使用 discordgo 发送私信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49717232/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com