package telegram import ( "git.vakhrushev.me/av/transcriber/internal/contract" ) // AbsentMessageSender подставляется вместо отправителя Telegram, когда вход // выключен признаком `telegram.enabled` либо Telegram оказался недоступен, и // клиента заводить не из чего. Он ничего не отправляет и на всякий ответ отдаёт // `contract.ErrDeliveryChannelDown`. // // Заглушка, а не пустой отправитель: необязательная зависимость, доехавшая до // ядра нулём, роняет процесс на первой же задаче из Telegram, а проверка на // месте употребления завела бы в ядре знание о том, как собран сервис. // // Молчит он намеренно. Записать недоставку заглушке нечем: контракт отправки // несёт текст, чат и сообщение для ответа, а идентификатора задачи в нём нет. // Пишет поэтому шаг конвейера, который задачу знает. type AbsentMessageSender struct{} func NewAbsentMessageSender() *AbsentMessageSender { return &AbsentMessageSender{} } func (s *AbsentMessageSender) Send(_ string, _ int64, _ *int) error { return contract.ErrDeliveryChannelDown }