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.