Completes the provisioner's write path. internal/tg drives BotFather as a conversation rather than pretending it is an endpoint, creates channels, claims usernames with fallbacks, and grants post_messages. internal/apply sequences it: bot before administrator, test channel before public, and state saved after every step that changed the world -- a channel that exists but is unrecorded is worse than one that does not exist, because the next run creates a second. The operator session lives in OpenBao, not on disk. gotd's FileStorage would leave a full-account credential in the working directory, where it outlives the run and can be committed by accident. The bot token goes straight from BotFather's reply to OpenBao and is cleared from memory; if that write fails the error says how to recover by hand and warns against re-running, since a retry creates a second bot. Closes T05: the redaction salt is create-if-absent with no overwrite path, and the test asserts it, because rotating it invalidates every longitudinal comparison with no visible failure. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0172sgCZEEDJcnQmr4SGDvKa Assistant: claude-code Assistant-Model: opus Assistant-Process: 1361245@bnt-lap001 Assistant-Session: b3b428ef-f3e6-4688-b091-01f71461d66a
51 lines
1.9 KiB
Modula-2
51 lines
1.9 KiB
Modula-2
module github.com/tegwick/fluid-telegram
|
|
|
|
go 1.25.0
|
|
|
|
require (
|
|
github.com/gotd/td v0.161.0
|
|
gopkg.in/yaml.v3 v3.0.1
|
|
)
|
|
|
|
require (
|
|
github.com/andybalholm/brotli v1.2.1 // indirect
|
|
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
|
|
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
|
github.com/coder/websocket v1.8.15 // indirect
|
|
github.com/dlclark/regexp2 v1.12.0 // indirect
|
|
github.com/fatih/color v1.19.0 // indirect
|
|
github.com/ghodss/yaml v1.0.0 // indirect
|
|
github.com/go-faster/errors v0.7.1 // indirect
|
|
github.com/go-faster/jx v1.2.0 // indirect
|
|
github.com/go-faster/xor v1.0.0 // indirect
|
|
github.com/go-faster/yaml v0.4.6 // indirect
|
|
github.com/google/uuid v1.6.0 // indirect
|
|
github.com/gotd/ige v0.3.0 // indirect
|
|
github.com/gotd/log v0.1.0 // indirect
|
|
github.com/gotd/neo v0.1.5 // indirect
|
|
github.com/klauspost/compress v1.19.0 // indirect
|
|
github.com/mattn/go-colorable v0.1.14 // indirect
|
|
github.com/mattn/go-isatty v0.0.22 // indirect
|
|
github.com/ogen-go/ogen v1.23.0 // indirect
|
|
github.com/refraction-networking/utls v1.8.2 // indirect
|
|
github.com/segmentio/asm v1.2.1 // indirect
|
|
github.com/shopspring/decimal v1.4.0 // indirect
|
|
github.com/yuin/goldmark v1.8.4 // indirect
|
|
go.opentelemetry.io/otel v1.44.0 // indirect
|
|
go.opentelemetry.io/otel/metric v1.44.0 // indirect
|
|
go.opentelemetry.io/otel/trace v1.44.0 // indirect
|
|
go.uber.org/atomic v1.11.0 // indirect
|
|
go.uber.org/multierr v1.11.0 // indirect
|
|
go.uber.org/zap v1.28.0 // indirect
|
|
golang.org/x/crypto v0.54.0 // indirect
|
|
golang.org/x/exp v0.0.0-20230725093048-515e97ebf090 // indirect
|
|
golang.org/x/mod v0.38.0 // indirect
|
|
golang.org/x/net v0.57.0 // indirect
|
|
golang.org/x/sync v0.22.0 // indirect
|
|
golang.org/x/sys v0.47.0 // indirect
|
|
golang.org/x/term v0.45.0 // indirect
|
|
golang.org/x/text v0.40.0 // indirect
|
|
golang.org/x/tools v0.48.0 // indirect
|
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
|
rsc.io/qr v0.2.0 // indirect
|
|
)
|