Init
Just read from discord channel
This commit is contained in:
50
discord/discordread.go
Normal file
50
discord/discordread.go
Normal file
@@ -0,0 +1,50 @@
|
||||
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)
|
||||
}
|
||||
Reference in New Issue
Block a user