Compare commits

..

3 Commits

Author SHA1 Message Date
gitea dc449dd74c Merge pull request #22 from migatu/claude-provider-switch
Claude provider switch
2026-07-18 13:56:06 +02:00
Michal Tuszowski b8093d707d ci: allow manual runs via workflow_dispatch
Lets CI be triggered on demand from the Actions tab or `gh workflow run`,
instead of pushing a commit just to exercise the pipeline.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 13:51:26 +02:00
Michal Tuszowski f70a541b55 ai: $gadaj_teraz without an argument reports the active backend
Quality-of-life: checking which AI backend is live no longer requires
switching to it. Bare `$gadaj_teraz` replies with the active config and the
selectable ones; that read-only path is open to everyone, while switching
stays Vykidailo-gated.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 13:45:36 +02:00
2 changed files with 15 additions and 3 deletions
+3
View File
@@ -5,6 +5,9 @@ on:
branches: ["main"]
pull_request:
branches: ["main"]
# Manual trigger: run CI on demand from the Actions tab (or `gh workflow run
# ci.yml --ref <branch>`) without pushing a commit just to see it go green.
workflow_dispatch:
permissions:
contents: read
+12 -3
View File
@@ -111,17 +111,26 @@ class Events(commands.Cog):
@commands.hybrid_command(
name="gadaj_teraz",
description="Przełącz backend AI (np. gpt / claude). Tylko Vykidailo.",
description="Pokaż/przełącz backend AI (bez argumentu = status). Przełączanie: Vykidailo.",
)
async def gadaj_teraz(self, ctx, nazwa_konfigu: str):
async def gadaj_teraz(self, ctx, nazwa_konfigu: Optional[str] = None):
async with ctx.channel.typing():
available = ai_functions.list_ai_configs()
# No argument -> report the active backend (read-only, open to all).
if not nazwa_konfigu:
active = ai_functions.get_active_ai_config()
await discord_friendly_reply(
ctx,
f"Teraz gadam przez **{active}**. Dostępne: {', '.join(available)}. "
"Przełączysz przez `$gadaj_teraz <config>` (tylko Vykidailo).",
)
return
is_admin = isinstance(ctx.author, discord.Member) and any(
role.name == "Vykidailo" for role in ctx.author.roles
)
if not is_admin:
await discord_friendly_reply(ctx, "Tylko Vykidailo może przełączać AI.")
return
available = ai_functions.list_ai_configs()
if nazwa_konfigu not in available:
await discord_friendly_reply(
ctx,