feat: add welcome message functionality

- Introduced a new welcome service and repository for managing welcome messages, channels, and GIFs.
- Added commands to set welcome channel, message, DM, and GIF through the bot's configuration.
- Implemented event handling for new guild members to send welcome messages and DMs based on configuration.
- Updated main application to include the new welcome service in the bot's services.
This commit is contained in:
2026-03-18 05:07:11 +00:00
parent 6410619662
commit e6aa5def96
8 changed files with 489 additions and 6 deletions
+4 -1
View File
@@ -9,6 +9,7 @@ import (
"velox-bot/internal/db/services/schedule"
"velox-bot/internal/db/services/twitch"
"velox-bot/internal/db/services/usersettings"
"velox-bot/internal/db/services/welcome"
)
type Services struct {
@@ -20,11 +21,12 @@ type Services struct {
Projects *projects.Service
RPS *rps.Service
Twitch *twitch.Service
Welcome *welcome.Service
}
var Global *Services
func NewServices(level *level.Service, levelSettings *levelsettings.Service, meeting *meeting.Service, schedule *schedule.Service, userSettings *usersettings.Service, projects *projects.Service, rps *rps.Service, twitchSvc *twitch.Service) *Services {
func NewServices(level *level.Service, levelSettings *levelsettings.Service, meeting *meeting.Service, schedule *schedule.Service, userSettings *usersettings.Service, projects *projects.Service, rps *rps.Service, twitchSvc *twitch.Service, welcomeSvc *welcome.Service) *Services {
s := &Services{
Level: level,
LevelSettings: levelSettings,
@@ -34,6 +36,7 @@ func NewServices(level *level.Service, levelSettings *levelsettings.Service, mee
Projects: projects,
RPS: rps,
Twitch: twitchSvc,
Welcome: welcomeSvc,
}
Global = s
return s