Commands for everything a dashboard can do
- /music skip, pause, resume, stop, repeat, remove, move (DJ role) - /config view, clear, toggletwitch, streamers, beta-features (server owner) - /slvl status, remove-reward; /moderation bans, timeouts; /security history - /beta is now the bot owner's DM-only command: set, off, servers, remove-server, status - betasettings service and repo methods, with integration tests Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
This commit is contained in:
1 parent
acdb5ead35
commit
132a2cd986
26 files changed
+1062
-65
No files matched your search
@@ -307,6 +307,17 @@ func (f *fakeStore) AddEvent(_ context.Context, e securityrepo.Event) error {
|
||||
f.events = append(f.events, e)
|
||||
return nil
|
||||
}
|
||||
func (f *fakeStore) ListEvents(_ context.Context, g int64, limit int) ([]securityrepo.Event, error) {
|
||||
f.mu.Lock()
|
||||
defer f.mu.Unlock()
|
||||
var out []securityrepo.Event
|
||||
for k := len(f.events) - 1; k >= 0 && len(out) < limit; k-- {
|
||||
if f.events[k].GuildID == g {
|
||||
out = append(out, f.events[k])
|
||||
}
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
func (f *fakeStore) eventKinds() []string {
|
||||
f.mu.Lock()
|
||||
defer f.mu.Unlock()
|
||||
|
||||
@@ -182,6 +182,11 @@ func (e *Engine) Release(ctx context.Context, guildID, userID, by string) error
|
||||
}
|
||||
|
||||
// Quarantines lists who is quarantined in a guild.
|
||||
// Events returns the server's recent security history, newest first.
|
||||
func (e *Engine) Events(ctx context.Context, guildID string, limit int) ([]securityrepo.Event, error) {
|
||||
return e.st.ListEvents(ctx, parseID(guildID), limit)
|
||||
}
|
||||
|
||||
func (e *Engine) Quarantines(ctx context.Context, guildID string) ([]securityrepo.Quarantine, error) {
|
||||
return e.st.ListQuarantines(ctx, parseID(guildID))
|
||||
}
|
||||
@@ -61,6 +61,7 @@ type Store interface {
|
||||
ListLockdowns(ctx context.Context, guildID int64, serverWideOnly bool) ([]securityrepo.Lockdown, error)
|
||||
DeleteLockdown(ctx context.Context, guildID, channelID int64) error
|
||||
AddEvent(ctx context.Context, e securityrepo.Event) error
|
||||
ListEvents(ctx context.Context, guildID int64, limit int) ([]securityrepo.Event, error)
|
||||
ListUnprocessedCommands(ctx context.Context) ([]securityrepo.Command, error)
|
||||
MarkCommandProcessed(ctx context.Context, id int64) error
|
||||
SaveRaid(ctx context.Context, x securityrepo.Raid) error
|
||||
|
||||
Reference in new issue
Block a user