Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c776b25899 | ||
|
|
81f6e23487 | ||
|
|
6cf574b22d | ||
|
|
623df1d55a | ||
|
|
489d96594c | ||
|
|
580eea3dfa | ||
|
|
7a8e7bf213 | ||
|
|
96e8388562 |
@@ -1,8 +1,10 @@
|
|||||||
package geeksbot
|
package geeksbot
|
||||||
|
|
||||||
|
import "database/sql"
|
||||||
|
|
||||||
type Guild struct {
|
type Guild struct {
|
||||||
ID string
|
ID string
|
||||||
NewPatronMessage string
|
NewPatronMessage sql.NullString
|
||||||
Prefixes []string
|
Prefixes []string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,8 @@ func ConnectDatabase(dbConnString string) {
|
|||||||
func(name string) ([]byte, error) {
|
func(name string) ([]byte, error) {
|
||||||
return migrations.Asset(name)
|
return migrations.Asset(name)
|
||||||
})
|
})
|
||||||
db, err := sql.Open("postgres", dbConnString)
|
var err error
|
||||||
|
db, err = sql.Open("postgres", dbConnString)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(fmt.Errorf("Can't connect to the database: %w", err))
|
log.Fatal(fmt.Errorf("Can't connect to the database: %w", err))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
|
|
||||||
"github.com/dustinpianalto/geeksbot"
|
"github.com/dustinpianalto/geeksbot"
|
||||||
|
"github.com/lib/pq"
|
||||||
)
|
)
|
||||||
|
|
||||||
type guildService struct {
|
type guildService struct {
|
||||||
@@ -15,7 +16,7 @@ func (s guildService) Guild(id string) (geeksbot.Guild, error) {
|
|||||||
var g geeksbot.Guild
|
var g geeksbot.Guild
|
||||||
queryString := "SELECT id, new_patron_message, prefixes FROM guilds WHERE id = $1"
|
queryString := "SELECT id, new_patron_message, prefixes FROM guilds WHERE id = $1"
|
||||||
row := s.db.QueryRow(queryString, id)
|
row := s.db.QueryRow(queryString, id)
|
||||||
err := row.Scan(&g.ID, &g.NewPatronMessage, &g.Prefixes)
|
err := row.Scan(&g.ID, &g.NewPatronMessage, pq.Array(&g.Prefixes))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return geeksbot.Guild{}, err
|
return geeksbot.Guild{}, err
|
||||||
}
|
}
|
||||||
@@ -24,7 +25,7 @@ func (s guildService) Guild(id string) (geeksbot.Guild, error) {
|
|||||||
|
|
||||||
func (s guildService) CreateGuild(g geeksbot.Guild) (geeksbot.Guild, error) {
|
func (s guildService) CreateGuild(g geeksbot.Guild) (geeksbot.Guild, error) {
|
||||||
queryString := "INSERT INTO guilds (id, new_patron_message, prefixes) VALUES ($1, $2, $3)"
|
queryString := "INSERT INTO guilds (id, new_patron_message, prefixes) VALUES ($1, $2, $3)"
|
||||||
_, err := s.db.Exec(queryString, g.ID, g.NewPatronMessage, g.Prefixes)
|
_, err := s.db.Exec(queryString, g.ID, g.NewPatronMessage, pq.Array(g.Prefixes))
|
||||||
return g, err
|
return g, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,7 +37,7 @@ func (s guildService) DeleteGuild(g geeksbot.Guild) error {
|
|||||||
|
|
||||||
func (s guildService) UpdateGuild(g geeksbot.Guild) (geeksbot.Guild, error) {
|
func (s guildService) UpdateGuild(g geeksbot.Guild) (geeksbot.Guild, error) {
|
||||||
queryString := "UPDATE guilds SET new_patron_message = $2, prefixes = $3 WHERE id = $1"
|
queryString := "UPDATE guilds SET new_patron_message = $2, prefixes = $3 WHERE id = $1"
|
||||||
_, err := s.db.Exec(queryString, g.ID, g.NewPatronMessage, g.Prefixes)
|
_, err := s.db.Exec(queryString, g.ID, g.NewPatronMessage, pq.Array(g.Prefixes))
|
||||||
return g, err
|
return g, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,48 @@
|
|||||||
|
BEGIN;
|
||||||
|
ALTER TABLE users
|
||||||
|
ALTER COLUMN active DROP NOT NULL,
|
||||||
|
ALTER COLUMN staff DROP NOT NULL,
|
||||||
|
ALTER COLUMN admin DROP NOT NULL;
|
||||||
|
ALTER TABLE channels
|
||||||
|
ALTER COLUMN guild_id DROP NOT NULL,
|
||||||
|
ALTER COLUMN admin DROP NOT NULL,
|
||||||
|
ALTER COLUMN default_channel DROP NOT NULL,
|
||||||
|
ALTER COLUMN new_patron DROP NOT NULL;
|
||||||
|
ALTER TABLE messages
|
||||||
|
ALTER COLUMN created_at DROP NOT NULL,
|
||||||
|
ALTER COLUMN content DROP NOT NULL,
|
||||||
|
ALTER COLUMN channel_id DROP NOT NULL,
|
||||||
|
ALTER COLUMN author_id DROP NOT NULL;
|
||||||
|
ALTER TABLE messages
|
||||||
|
ADD COLUMN embed json,
|
||||||
|
ADD COLUMN previous_embeds json[];
|
||||||
|
ALTER TABLE patreon_creators
|
||||||
|
ALTER COLUMN creator DROP NOT NULL,
|
||||||
|
ALTER COLUMN link DROP NOT NULL,
|
||||||
|
ALTER COLUMN guild_id DROP NOT NULL;
|
||||||
|
ALTER TABLE patreon_creators
|
||||||
|
RENAME TO patreon_creator;
|
||||||
|
ALTER TABLE patreon_tiers
|
||||||
|
ALTER COLUMN name DROP NOT NULL,
|
||||||
|
ALTER COLUMN creator DROP NOT NULL,
|
||||||
|
ALTER COLUMN role DROP NOT NULL;
|
||||||
|
ALTER TABLE patreon_tiers
|
||||||
|
RENAME TO patreon_tier;
|
||||||
|
ALTER TABLE requests
|
||||||
|
ALTER COLUMN author_id DROP NOT NULL,
|
||||||
|
ALTER COLUMN channel_id DROP NOT NULL,
|
||||||
|
ALTER COLUMN content DROP NOT NULL,
|
||||||
|
ALTER COLUMN requested_at DROP NOT NULL,
|
||||||
|
ALTER COLUMN completed DROP NOT NULL,
|
||||||
|
ALTER COLUMN message_id DROP NOT NULL,
|
||||||
|
ALTER COLUMN guild_id DROP NOT NULL;
|
||||||
|
ALTER TABLE roles
|
||||||
|
ALTER COLUMN role_type DROP NOT NULL,
|
||||||
|
ALTER COLUMN guild_id DROP NOT NULL;
|
||||||
|
ALTER TABLE servers
|
||||||
|
ALTER COLUMN name DROP NOT NULL,
|
||||||
|
ALTER COLUMN ip_address DROP NOT NULL,
|
||||||
|
ALTER COLUMN port DROP NOT NULL,
|
||||||
|
ALTER COLUMN password DROP NOT NULL,
|
||||||
|
ALTER COLUMN guild_id DROP NOT NULL;
|
||||||
|
COMMIT;
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
BEGIN;
|
||||||
|
ALTER TABLE users
|
||||||
|
ALTER COLUMN active SET NOT NULL,
|
||||||
|
ALTER COLUMN staff SET NOT NULL,
|
||||||
|
ALTER COLUMN admin SET NOT NULL;
|
||||||
|
ALTER TABLE channels
|
||||||
|
ALTER COLUMN guild_id SET NOT NULL,
|
||||||
|
ALTER COLUMN admin SET NOT NULL,
|
||||||
|
ALTER COLUMN default_channel SET NOT NULL,
|
||||||
|
ALTER COLUMN new_patron SET NOT NULL;
|
||||||
|
ALTER TABLE messages
|
||||||
|
ALTER COLUMN created_at SET NOT NULL,
|
||||||
|
ALTER COLUMN content SET NOT NULL,
|
||||||
|
ALTER COLUMN channel_id SET NOT NULL,
|
||||||
|
ALTER COLUMN author_id SET NOT NULL;
|
||||||
|
ALTER TABLE messages
|
||||||
|
DROP COLUMN embed,
|
||||||
|
DROP COLUMN previous_embeds;
|
||||||
|
ALTER TABLE patreon_creator
|
||||||
|
ALTER COLUMN creator SET NOT NULL,
|
||||||
|
ALTER COLUMN link SET NOT NULL,
|
||||||
|
ALTER COLUMN guild_id SET NOT NULL;
|
||||||
|
ALTER TABLE patreon_creator
|
||||||
|
RENAME TO patreon_creators;
|
||||||
|
ALTER TABLE patreon_tier
|
||||||
|
ALTER COLUMN name SET NOT NULL,
|
||||||
|
ALTER COLUMN creator SET NOT NULL,
|
||||||
|
ALTER COLUMN role SET NOT NULL;
|
||||||
|
ALTER TABLE patreon_tier
|
||||||
|
RENAME TO patreon_tiers;
|
||||||
|
ALTER TABLE requests
|
||||||
|
ALTER COLUMN author_id SET NOT NULL,
|
||||||
|
ALTER COLUMN channel_id SET NOT NULL,
|
||||||
|
ALTER COLUMN content SET NOT NULL,
|
||||||
|
ALTER COLUMN requested_at SET NOT NULL,
|
||||||
|
ALTER COLUMN completed SET NOT NULL,
|
||||||
|
ALTER COLUMN message_id SET NOT NULL,
|
||||||
|
ALTER COLUMN guild_id SET NOT NULL;
|
||||||
|
ALTER TABLE roles
|
||||||
|
ALTER COLUMN role_type SET NOT NULL,
|
||||||
|
ALTER COLUMN guild_id SET NOT NULL;
|
||||||
|
ALTER TABLE servers
|
||||||
|
ALTER COLUMN name SET NOT NULL,
|
||||||
|
ALTER COLUMN ip_address SET NOT NULL,
|
||||||
|
ALTER COLUMN port SET NOT NULL,
|
||||||
|
ALTER COLUMN password SET NOT NULL,
|
||||||
|
ALTER COLUMN guild_id SET NOT NULL;
|
||||||
|
COMMIT;
|
||||||
@@ -16,7 +16,7 @@ func (s requestService) Request(id int64) (geeksbot.Request, error) {
|
|||||||
var aID string
|
var aID string
|
||||||
var cID string
|
var cID string
|
||||||
var gID string
|
var gID string
|
||||||
var uID string
|
var uID sql.NullString
|
||||||
var mID string
|
var mID string
|
||||||
queryString := `SELECT id, author_id, channel_id, guild_id, content, requested_at, completed,
|
queryString := `SELECT id, author_id, channel_id, guild_id, content, requested_at, completed,
|
||||||
completed_at, completed_by, message_id, completed_message
|
completed_at, completed_by, message_id, completed_message
|
||||||
@@ -39,9 +39,14 @@ func (s requestService) Request(id int64) (geeksbot.Request, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return geeksbot.Request{}, err
|
return geeksbot.Request{}, err
|
||||||
}
|
}
|
||||||
completedBy, err := UserService.User(uID)
|
if !uID.Valid {
|
||||||
if err != nil {
|
r.CompletedBy = nil
|
||||||
return geeksbot.Request{}, err
|
} else {
|
||||||
|
completedBy, err := UserService.User(uID.String)
|
||||||
|
if err != nil {
|
||||||
|
return geeksbot.Request{}, err
|
||||||
|
}
|
||||||
|
r.CompletedBy = &completedBy
|
||||||
}
|
}
|
||||||
message, err := MessageService.Message(mID)
|
message, err := MessageService.Message(mID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -50,7 +55,6 @@ func (s requestService) Request(id int64) (geeksbot.Request, error) {
|
|||||||
r.Author = author
|
r.Author = author
|
||||||
r.Guild = guild
|
r.Guild = guild
|
||||||
r.Channel = channel
|
r.Channel = channel
|
||||||
r.CompletedBy = completedBy
|
|
||||||
r.Message = message
|
r.Message = message
|
||||||
return r, nil
|
return r, nil
|
||||||
}
|
}
|
||||||
|
|||||||
+36
-20
@@ -14,10 +14,10 @@ type serverService struct {
|
|||||||
func (s serverService) ServerByID(id int) (geeksbot.Server, error) {
|
func (s serverService) ServerByID(id int) (geeksbot.Server, error) {
|
||||||
var server geeksbot.Server
|
var server geeksbot.Server
|
||||||
var guildID string
|
var guildID string
|
||||||
var aChanID string
|
var aChanID sql.NullString
|
||||||
var iChanID string
|
var iChanID sql.NullString
|
||||||
var iMsgID string
|
var iMsgID sql.NullString
|
||||||
var sMsgID string
|
var sMsgID sql.NullString
|
||||||
queryString := `SELECT id, name, ip_address, port, password, alerts_channel_id,
|
queryString := `SELECT id, name, ip_address, port, password, alerts_channel_id,
|
||||||
guild_id, info_channel_id, info_message_id, settings_message_id
|
guild_id, info_channel_id, info_message_id, settings_message_id
|
||||||
FROM servers WHERE id = $1`
|
FROM servers WHERE id = $1`
|
||||||
@@ -31,27 +31,43 @@ func (s serverService) ServerByID(id int) (geeksbot.Server, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return geeksbot.Server{}, err
|
return geeksbot.Server{}, err
|
||||||
}
|
}
|
||||||
alertChannel, err := ChannelService.Channel(aChanID)
|
if !aChanID.Valid {
|
||||||
if err != nil {
|
server.AlertsChannel = nil
|
||||||
return geeksbot.Server{}, err
|
} else {
|
||||||
|
alertChannel, err := ChannelService.Channel(aChanID.String)
|
||||||
|
if err != nil {
|
||||||
|
return geeksbot.Server{}, err
|
||||||
|
}
|
||||||
|
server.AlertsChannel = &alertChannel
|
||||||
}
|
}
|
||||||
infoChannel, err := ChannelService.Channel(iChanID)
|
if !iChanID.Valid {
|
||||||
if err != nil {
|
server.InfoChannel = nil
|
||||||
return geeksbot.Server{}, err
|
} else {
|
||||||
|
infoChannel, err := ChannelService.Channel(iChanID.String)
|
||||||
|
if err != nil {
|
||||||
|
return geeksbot.Server{}, err
|
||||||
|
}
|
||||||
|
server.InfoChannel = &infoChannel
|
||||||
}
|
}
|
||||||
infoMessage, err := MessageService.Message(iMsgID)
|
if !iMsgID.Valid {
|
||||||
if err != nil {
|
server.InfoMessage = nil
|
||||||
return geeksbot.Server{}, err
|
} else {
|
||||||
|
infoMessage, err := MessageService.Message(iMsgID.String)
|
||||||
|
if err != nil {
|
||||||
|
return geeksbot.Server{}, err
|
||||||
|
}
|
||||||
|
server.InfoMessage = &infoMessage
|
||||||
}
|
}
|
||||||
settingsMessage, err := MessageService.Message(sMsgID)
|
if !sMsgID.Valid {
|
||||||
if err != nil {
|
server.SettingsMessage = nil
|
||||||
return geeksbot.Server{}, err
|
} else {
|
||||||
|
settingsMessage, err := MessageService.Message(sMsgID.String)
|
||||||
|
if err != nil {
|
||||||
|
return geeksbot.Server{}, err
|
||||||
|
}
|
||||||
|
server.SettingsMessage = &settingsMessage
|
||||||
}
|
}
|
||||||
server.Guild = guild
|
server.Guild = guild
|
||||||
server.AlertsChannel = alertChannel
|
|
||||||
server.InfoChannel = infoChannel
|
|
||||||
server.InfoMessage = infoMessage
|
|
||||||
server.SettingsMessage = settingsMessage
|
|
||||||
return server, nil
|
return server, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package discord_utils
|
||||||
|
|
||||||
|
import "github.com/dustinpianalto/disgoman"
|
||||||
|
|
||||||
|
func SendErrorMessage(ctx disgoman.Context, msg string, err error) {
|
||||||
|
ctx.CommandManager.ErrorChannel <- disgoman.CommandError{
|
||||||
|
Context: ctx,
|
||||||
|
Message: msg,
|
||||||
|
Error: err,
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
package guild
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"log"
|
||||||
|
|
||||||
|
"github.com/dustinpianalto/disgoman"
|
||||||
|
"github.com/dustinpianalto/geeksbot"
|
||||||
|
"github.com/dustinpianalto/geeksbot/internal/discord_utils"
|
||||||
|
"github.com/dustinpianalto/geeksbot/internal/services"
|
||||||
|
)
|
||||||
|
|
||||||
|
var AddPrefixCommand = &disgoman.Command{
|
||||||
|
Name: "addPrefix",
|
||||||
|
Aliases: []string{"ap"},
|
||||||
|
Description: "Add a prefix for use in this guild.",
|
||||||
|
OwnerOnly: false,
|
||||||
|
Hidden: false,
|
||||||
|
RequiredPermissions: disgoman.PermissionManageServer,
|
||||||
|
Invoke: addPrefixCommandFunc,
|
||||||
|
}
|
||||||
|
|
||||||
|
func addPrefixCommandFunc(ctx disgoman.Context, args []string) {
|
||||||
|
if len(args) == 0 {
|
||||||
|
discord_utils.SendErrorMessage(ctx, "Please include at least one prefix to add", nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
guild, err := services.GuildService.Guild(ctx.Guild.ID)
|
||||||
|
if err != nil {
|
||||||
|
discord_utils.SendErrorMessage(ctx, "Guild not configured, adding new guild to the database", nil)
|
||||||
|
guild = geeksbot.Guild{
|
||||||
|
ID: ctx.Guild.ID,
|
||||||
|
Prefixes: args,
|
||||||
|
}
|
||||||
|
guild, err = services.GuildService.CreateGuild(guild)
|
||||||
|
if err != nil {
|
||||||
|
discord_utils.SendErrorMessage(ctx, "Error adding guild to database.", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
guild.Prefixes = append(guild.Prefixes, args...)
|
||||||
|
guild, err = services.GuildService.UpdateGuild(guild)
|
||||||
|
if err != nil {
|
||||||
|
discord_utils.SendErrorMessage(ctx, "Error adding prefixes to guild.", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
_, err = ctx.Send(fmt.Sprintf("Prefixes Updates.\nThe Prefixes for this guild are currently %#v", guild.Prefixes))
|
||||||
|
if err != nil {
|
||||||
|
discord_utils.SendErrorMessage(ctx, "Error sending update message", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var RemovePrefixCommand = &disgoman.Command{
|
||||||
|
Name: "removePrefix",
|
||||||
|
Aliases: []string{"rp"},
|
||||||
|
Description: "Remove a prefix so it can't be used in this guild",
|
||||||
|
OwnerOnly: false,
|
||||||
|
Hidden: false,
|
||||||
|
RequiredPermissions: disgoman.PermissionManageServer,
|
||||||
|
Invoke: removePrefixCommandFunc,
|
||||||
|
}
|
||||||
|
|
||||||
|
func removePrefixCommandFunc(ctx disgoman.Context, args []string) {
|
||||||
|
if len(args) == 0 {
|
||||||
|
discord_utils.SendErrorMessage(ctx, "Please include at least one prefix to remove", nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
guild, err := services.GuildService.Guild(ctx.Guild.ID)
|
||||||
|
var removed []string
|
||||||
|
if err != nil {
|
||||||
|
discord_utils.SendErrorMessage(ctx, "Guild not configured, adding new guild to the database", nil)
|
||||||
|
guild = geeksbot.Guild{
|
||||||
|
ID: ctx.Guild.ID,
|
||||||
|
Prefixes: []string{},
|
||||||
|
}
|
||||||
|
guild, err = services.GuildService.CreateGuild(guild)
|
||||||
|
if err != nil {
|
||||||
|
discord_utils.SendErrorMessage(ctx, "Error adding guild to database.", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for _, a := range args {
|
||||||
|
l := len(guild.Prefixes) - 1
|
||||||
|
for i := 0; i < l; i++ {
|
||||||
|
if a == guild.Prefixes[i] {
|
||||||
|
guild.Prefixes = append(guild.Prefixes[:i], guild.Prefixes[i+1:]...)
|
||||||
|
l--
|
||||||
|
i--
|
||||||
|
removed = append(removed, a)
|
||||||
|
log.Println(a)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
guild, err = services.GuildService.UpdateGuild(guild)
|
||||||
|
if err != nil {
|
||||||
|
discord_utils.SendErrorMessage(ctx, "Error removing prefixes from guild.", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
_, err = ctx.Send(fmt.Sprintf("Prefixes Updates.\n"+
|
||||||
|
"The Prefixes for this guild are currently %#v\n"+
|
||||||
|
"Removed: %#v", guild.Prefixes, removed))
|
||||||
|
if err != nil {
|
||||||
|
discord_utils.SendErrorMessage(ctx, "Error sending update message", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@ package exts
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/dustinpianalto/disgoman"
|
"github.com/dustinpianalto/disgoman"
|
||||||
|
"github.com/dustinpianalto/geeksbot/internal/exts/guild"
|
||||||
"github.com/dustinpianalto/geeksbot/internal/exts/utils"
|
"github.com/dustinpianalto/geeksbot/internal/exts/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -20,4 +21,6 @@ func AddCommandHandlers(g *disgoman.CommandManager) {
|
|||||||
_ = g.AddCommand(utils.GitCommand)
|
_ = g.AddCommand(utils.GitCommand)
|
||||||
_ = g.AddCommand(utils.InviteCommand)
|
_ = g.AddCommand(utils.InviteCommand)
|
||||||
_ = g.AddCommand(utils.PingCommand)
|
_ = g.AddCommand(utils.PingCommand)
|
||||||
|
_ = g.AddCommand(guild.AddPrefixCommand)
|
||||||
|
_ = g.AddCommand(guild.RemovePrefixCommand)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -263,7 +263,6 @@ func addUserCommandFunc(ctx disgoman.Context, args []string) {
|
|||||||
if ctx.Message.Author.ID == ctx.CommandManager.Owners[0] {
|
if ctx.Message.Author.ID == ctx.CommandManager.Owners[0] {
|
||||||
user := geeksbot.User{
|
user := geeksbot.User{
|
||||||
ID: ctx.Message.Author.ID,
|
ID: ctx.Message.Author.ID,
|
||||||
SteamID: "",
|
|
||||||
IsActive: true,
|
IsActive: true,
|
||||||
IsStaff: true,
|
IsStaff: true,
|
||||||
IsAdmin: true,
|
IsAdmin: true,
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
package utils
|
||||||
+3
-1
@@ -1,9 +1,11 @@
|
|||||||
package geeksbot
|
package geeksbot
|
||||||
|
|
||||||
|
import "database/sql"
|
||||||
|
|
||||||
type Message struct {
|
type Message struct {
|
||||||
ID string
|
ID string
|
||||||
CreatedAt int64
|
CreatedAt int64
|
||||||
ModifiedAt int64
|
ModifiedAt sql.NullTime
|
||||||
Content string
|
Content string
|
||||||
PreviousContent []string
|
PreviousContent []string
|
||||||
Channel Channel
|
Channel Channel
|
||||||
|
|||||||
+3
-1
@@ -1,5 +1,7 @@
|
|||||||
package geeksbot
|
package geeksbot
|
||||||
|
|
||||||
|
import "database/sql"
|
||||||
|
|
||||||
type PatreonCreator struct {
|
type PatreonCreator struct {
|
||||||
ID int
|
ID int
|
||||||
Creator string
|
Creator string
|
||||||
@@ -10,7 +12,7 @@ type PatreonCreator struct {
|
|||||||
type PatreonTier struct {
|
type PatreonTier struct {
|
||||||
ID int
|
ID int
|
||||||
Name string
|
Name string
|
||||||
Description string
|
Description sql.NullString
|
||||||
Creator PatreonCreator
|
Creator PatreonCreator
|
||||||
Role Role
|
Role Role
|
||||||
NextTier *PatreonTier
|
NextTier *PatreonTier
|
||||||
|
|||||||
+7
-4
@@ -1,6 +1,9 @@
|
|||||||
package geeksbot
|
package geeksbot
|
||||||
|
|
||||||
import "time"
|
import (
|
||||||
|
"database/sql"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
type Request struct {
|
type Request struct {
|
||||||
ID int64
|
ID int64
|
||||||
@@ -10,10 +13,10 @@ type Request struct {
|
|||||||
Content string
|
Content string
|
||||||
RequestedAt time.Time
|
RequestedAt time.Time
|
||||||
Completed bool
|
Completed bool
|
||||||
CompletedAt time.Time
|
CompletedAt sql.NullTime
|
||||||
CompletedBy User
|
CompletedBy *User
|
||||||
Message Message
|
Message Message
|
||||||
CompletedMessage string
|
CompletedMessage sql.NullString
|
||||||
}
|
}
|
||||||
|
|
||||||
type Comment struct {
|
type Comment struct {
|
||||||
|
|||||||
@@ -6,11 +6,11 @@ type Server struct {
|
|||||||
IPAddr string
|
IPAddr string
|
||||||
Port int
|
Port int
|
||||||
Password string
|
Password string
|
||||||
AlertsChannel Channel
|
AlertsChannel *Channel
|
||||||
Guild Guild
|
Guild Guild
|
||||||
InfoChannel Channel
|
InfoChannel *Channel
|
||||||
InfoMessage Message
|
InfoMessage *Message
|
||||||
SettingsMessage Message
|
SettingsMessage *Message
|
||||||
}
|
}
|
||||||
|
|
||||||
type ServerService interface {
|
type ServerService interface {
|
||||||
|
|||||||
Reference in New Issue
Block a user