package discord import ( "fmt" "github.com/bwmarrin/discordgo" ) type discord struct { Token string ChannelID string dgsession *discordgo.Session } func Discord(token string, channelId string) *discord { return &discord{ Token: token, ChannelID: channelId, } } func (d *discord) BeginRead(tweetchannel chan<- string) { d.read(tweetchannel) } func (d *discord) read(tweetchannel chan<- string) { dgsession, err := discordgo.New("Bot " + d.Token) if err != nil { return } dgsession.AddHandler(func(s *discordgo.Session, m *discordgo.MessageCreate) { if m.ChannelID == d.ChannelID { tweetchannel <- m.Content } }) d.dgsession = dgsession errOpen := dgsession.Open() if errOpen != nil { fmt.Println(errOpen) } } func Read() string { return "discord" } func (d *discord) Write(str string) { d.dgsession.ChannelMessageSend(d.ChannelID, str) }