S8: main DRB bot optional end to end + owner-flow integration tests (server-26#225)
- Copy: picker, admin Servers/Streams/How-it-works, org Discord card, bot /help and the server-limit refusal no longer imply the DRB server bot is required; a radio bot alone is enough. - Admin overview: per-server main_bot_present, radio_bots, linked_via, directory_source; Servers tab gets a Bots column. - discord_web docstring: states the reversed "never calls Discord" rule (plan finding 5) and the optional server bot. - Server bot directory cog: re-push (which drops C2's cached permission answers) on overwrite changes, role permission changes and role deletes. - tests/test_discord_owner_flows.py: one-bot org (BYO bot, owner-set preferred, OAuth link, picker, start, reconciler) and full setup (server bot + 4 radio bots: placement, shared channel, every refusal explained), against a modelled Discord over httpx.MockTransport. - storage.download_audio removed: no caller on main since #233. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
f49dc86111
commit
9c124d4c8b
@@ -85,6 +85,14 @@ export interface DiscordGuild {
|
||||
acting_org_id: string | null;
|
||||
acting_org_name: string | null;
|
||||
live_streams: number;
|
||||
/** How it was linked: "admin" | "code" | "oauth" (absent on older links). */
|
||||
linked_via?: string | null;
|
||||
/** The DRB server bot (optional, server-26#225): true/false as it last reported, null = never heard. */
|
||||
main_bot_present?: boolean | null;
|
||||
/** Who listed its voice channels: "main_bot" | "radio_bot". */
|
||||
directory_source?: string | null;
|
||||
/** Radio bots Discord last said are in this server (names). */
|
||||
radio_bots?: string[];
|
||||
}
|
||||
|
||||
export interface DiscordAdminOverview {
|
||||
|
||||
Reference in New Issue
Block a user