Add FableBot: standalone Discord bot-account poster project - #9
Draft
ernop wants to merge 1 commit into
Draft
Conversation
New FableBot/ console project posts text + file attachments into one Discord channel via REST v10 with a bot token. Config through the standard settings.json (FableBotDiscordBotToken + FableBotDiscordChannelId, both-or-neither, fail-closed validation in Settings.Validate). --check verifies token + channel without posting. Works with a new bot application or the existing SocialAI bot token. PRD in docs/fablebot-discord-prd.md; tests in FableBotTests. Co-authored-by: Ernest French <ernestfrench@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
New
FableBot/console project inMultiImageClient.sln: posts text and/or file attachments into one Discord channel as a bot account (Discord REST v10,Authorization: Bot <token>, no gateway in v1). The v1 target is a private channel on the owner's server. Full requirements, settled decisions, and the owner setup checklist are indocs/fablebot-discord-prd.md.Workflow impact
Settings.Validate()gains fail-closed validation for the new pairFableBotDiscordBotToken+FableBotDiscordChannelId(both blank = disabled; one without the other, malformed token, or non-numeric channel id fails settings load).Required settings updates
Optional. To enable FableBot, add to
settings.json:Works with a newly created bot application or the existing SocialAI bot token (checklist for both in the PRD).
Usage
dotnet run --project FableBot -- --check dotnet run --project FableBot -- --message "hello" --file saves/example.pngBehavior
allowed_mentions: {"parse": []}on every post, so pasted mentions never ping.retry_after) is surfaced as the failure.Testing
dotnet build MultiImageClient.sln— 0 errors (warnings pre-existing).dotnet test— 247 passed (6 new inFableBotTests: snowflake/token normalization, message limits, content-type sniffing, jump-link identity, settings pair validation).--help, missing settings file (exit 1), settings without FableBot keys (exit 1 with setup pointer).dotnet run --project FableBot -- --check, then a real--messagepost.