-
Notifications
You must be signed in to change notification settings - Fork 1
/
repository.go
43 lines (33 loc) · 1.51 KB
/
repository.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package repository
import (
"context"
"github.com/bwmarrin/discordgo"
)
// Repository contains functions for discord domain.
type Repository interface {
Run() error
Close() error
AddReadyHandler(func(*discordgo.Session, *discordgo.Ready))
AddMessageHandler(func(*discordgo.Session, *discordgo.MessageCreate))
AddReactionHandler(func(*discordgo.Session, *discordgo.MessageReactionAdd))
SendMessage(ctx context.Context, channelID, content string) (string, error)
SendMessageEmbed(ctx context.Context, channelID string, content *discordgo.MessageEmbed) (string, error)
EditMessage(ctx context.Context, channelID, messageID, content string) (string, error)
EditMessageEmbed(ctx context.Context, channelID, messageID string, content *discordgo.MessageEmbed) (string, error)
InitVoice(guildID string)
GetChannelID(guildID string) string
IsPlayerExist(guildID string) bool
SetPlayerExist(guildID string, value bool)
GetStopped(guildID string) bool
GetDisableAutoNext(guildID string) bool
SetDisableAutoNext(guildID string, value bool)
SetPlaying(ctx context.Context, guildID string, value bool) error
Pause(guildID string)
Resume(guildID string)
Stop(guildID string)
Skip(guildID string)
Stream(ctx context.Context, guildID, path string) error
JoinVoiceChannel(ctx context.Context, m *discordgo.MessageCreate, g *discordgo.Guild) error
LeaveVoiceChannel(ctx context.Context, m *discordgo.MessageCreate, g *discordgo.Guild) error
GetGuildByChannelID(ctx context.Context, channelID string) (*discordgo.Guild, error)
}