Move message splitting from individual channels (Discord) to the Manager layer via per-channel worker goroutines. Each channel now declares its max message length through BaseChannelOption/MessageLengthProvider, and the Manager automatically splits oversized outbound messages before dispatch. This prevents one slow channel from blocking all others. - Add WithMaxMessageLength option and MessageLengthProvider interface - Set platform-specific limits (Discord 2000, Telegram 4096, Slack 40000, etc.) - Convert SplitMessage to rune-aware counting for correct Unicode handling - Replace single dispatcher goroutine with per-channel buffered worker queues - Remove Discord's internal SplitMessage call (now handled centrally) |
||
|---|---|---|
| .. | ||
| download.go | ||
| http_retry.go | ||
| http_retry_test.go | ||
| media.go | ||
| message.go | ||
| message_test.go | ||
| skills.go | ||
| string.go | ||
| string_test.go | ||
| zip.go | ||