Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Module = core.Module{ Name: "Herald", OnInit: func() { if err := db.Connection.AutoMigrate(&RoleMessageEntity{}, &JoinMessageEntity{}); err != nil { log.Fatalf("Unable to migrate messenger entities: %v", err) } discord.Discord.AddHandler(func(s *discordgo.Session, m *discordgo.GuildMemberUpdate) { handleRoleAssign(s, m) }) discord.Discord.AddHandler(func(s *discordgo.Session, m *discordgo.GuildMemberAdd) { handleJoin(s, m) }) }, OnBoot: func() { err := interactor.RegisterCommand(&interactor.SlashCommandGroup{ Name: "herald", Description: "Manage automated messages send by the bot", SubCommands: []interactor.CommandOptions{ roleCommands, joinCommands, }, }, &interactor.CommandPermissions{ DefaultMemberPermissions: ptr[int64](0), DMPermission: ptr(false), }) if err != nil { log.Fatalf(err.Error()) } if err := interactor.RegisterMessageComponents( editRoleMessageButton, deleteRoleMessageButton, roleMessageRoleSelect, roleMessageChannelSelect, editJoinMessageButton, deleteJoinMessageButton, joinMessageChannelSelect, ); err != nil { log.Fatalf(err.Error()) } if err := interactor.RegisterModals( createRoleMessageModal, editRoleMessageModal, createJoinMessageModal, editJoinMessageModal, ); err != nil { log.Fatalf(err.Error()) } }, }
Functions ¶
This section is empty.
Types ¶
type EditJoinMessageParams ¶
type EditJoinMessageParams struct {
Message string `style:"paragraph" min:"1" max:"3500"`
}
type EditRoleMessageParams ¶
type EditRoleMessageParams struct {
Message string `style:"paragraph" min:"1" max:"3500"`
}
type JoinMessageEntity ¶
type JoinMessageEntity struct {
MessageEntity `gorm:"embedded"`
}
type JoinMessageParams ¶
type MessageEntity ¶
type MessageEntity struct { ID uint `gorm:"primaryKey"` GuildID string `gorm:"not null;index:,unique,composite:umc"` GuildRef *discord.GuildRef `gorm:"foreignKey:GuildID"` ChannelID *string `gorm:"index:,unique,composite:umc"` ChannelRef *discord.ChannelRef `gorm:"foreignKey:ChannelID"` Content string `gorm:"not null"` CreatedAt time.Time UpdatedAt time.Time }
type RoleMessageEntity ¶
type RoleMessageEntity struct { MessageEntity `gorm:"embedded"` RoleID string `gorm:"not null;index:,unique,composite:umc"` RoleRef discord.RoleRef `gorm:"foreignKey:RoleID"` }
Click to show internal directories.
Click to hide internal directories.