Add error logging
This commit is contained in:
@@ -108,18 +108,26 @@ func (c *TelegramController) Stop() {
|
||||
c.bot.StopReceivingUpdates()
|
||||
}
|
||||
|
||||
func (c *TelegramController) send(chattable tgbotapi.Chattable) (tgbotapi.Message, error) {
|
||||
msg, err := c.bot.Send(chattable)
|
||||
if err != nil {
|
||||
c.logger.Error("Failed to send message to tg bot", "error", err)
|
||||
}
|
||||
return msg, err
|
||||
}
|
||||
|
||||
func (c *TelegramController) handleStartCommand(message *tgbotapi.Message) {
|
||||
msg := tgbotapi.NewMessage(message.Chat.ID, "Привет! Я бот для расшифровки аудиосообщений. Отправь мне голосовое сообщение или аудиофайл, и я пришлю тебе текст.")
|
||||
msg.ReplyToMessageID = message.MessageID
|
||||
|
||||
c.bot.Send(msg)
|
||||
c.send(msg)
|
||||
}
|
||||
|
||||
func (c *TelegramController) handleForbiddenUser(message *tgbotapi.Message) {
|
||||
msg := tgbotapi.NewMessage(message.Chat.ID, "Извини, тебе нельзя пользоваться этим ботом. Обратись к владельцу бота.")
|
||||
msg.ReplyToMessageID = message.MessageID
|
||||
|
||||
c.bot.Send(msg)
|
||||
c.send(msg)
|
||||
}
|
||||
|
||||
func (c *TelegramController) handleHelpCommand(message *tgbotapi.Message) {
|
||||
@@ -138,14 +146,14 @@ func (c *TelegramController) handleHelpCommand(message *tgbotapi.Message) {
|
||||
msg := tgbotapi.NewMessage(message.Chat.ID, helpText)
|
||||
msg.ReplyToMessageID = message.MessageID
|
||||
|
||||
c.bot.Send(msg)
|
||||
c.send(msg)
|
||||
}
|
||||
|
||||
func (c *TelegramController) handleAudioMessage(message *tgbotapi.Message) {
|
||||
// Отправляем сообщение о начале обработки
|
||||
progressMsg := tgbotapi.NewMessage(message.Chat.ID, "Обрабатываю аудиофайл...")
|
||||
progressMsg.ReplyToMessageID = message.MessageID
|
||||
sentProgressMsg, err := c.bot.Send(progressMsg)
|
||||
sentProgressMsg, err := c.send(progressMsg)
|
||||
if err != nil {
|
||||
c.logger.Error("Failed to send progress message", "error", err)
|
||||
return
|
||||
@@ -156,7 +164,7 @@ func (c *TelegramController) handleAudioMessage(message *tgbotapi.Message) {
|
||||
if err != nil {
|
||||
c.logger.Error("Failed to download audio file", "error", err)
|
||||
errorMsg := tgbotapi.NewMessage(message.Chat.ID, "Ошибка при скачивании аудиофайла. Попробуйте еще раз.")
|
||||
c.bot.Send(errorMsg)
|
||||
c.send(errorMsg)
|
||||
return
|
||||
}
|
||||
defer fileReader.Close()
|
||||
@@ -166,14 +174,14 @@ func (c *TelegramController) handleAudioMessage(message *tgbotapi.Message) {
|
||||
if err != nil {
|
||||
c.logger.Error("Failed to create transcribe job", "error", err)
|
||||
errorMsg := tgbotapi.NewMessage(message.Chat.ID, "Ошибка при создании задачи на расшифровку. Попробуйте еще раз.")
|
||||
c.bot.Send(errorMsg)
|
||||
c.send(errorMsg)
|
||||
return
|
||||
}
|
||||
|
||||
// Отправляем сообщение об успешном создании задачи
|
||||
successMsg := tgbotapi.NewMessage(message.Chat.ID, fmt.Sprintf("Задача на расшифровку создана. ID задачи: %s", job.Id))
|
||||
successMsg.ReplyToMessageID = message.MessageID
|
||||
c.bot.Send(successMsg)
|
||||
c.send(successMsg)
|
||||
|
||||
// Отправляем результат расшифровки (асинхронно)
|
||||
go c.sendTranscriptionResult(message.Chat.ID, job.Id, sentProgressMsg.MessageID)
|
||||
@@ -183,7 +191,7 @@ func (c *TelegramController) handleVoiceMessage(message *tgbotapi.Message) {
|
||||
// Отправляем сообщение о начале обработки
|
||||
progressMsg := tgbotapi.NewMessage(message.Chat.ID, "Обрабатываю голосовое сообщение...")
|
||||
progressMsg.ReplyToMessageID = message.MessageID
|
||||
sentProgressMsg, err := c.bot.Send(progressMsg)
|
||||
sentProgressMsg, err := c.send(progressMsg)
|
||||
if err != nil {
|
||||
c.logger.Error("Failed to send progress message", "error", err)
|
||||
return
|
||||
@@ -194,7 +202,7 @@ func (c *TelegramController) handleVoiceMessage(message *tgbotapi.Message) {
|
||||
if err != nil {
|
||||
c.logger.Error("Failed to download voice file", "error", err)
|
||||
errorMsg := tgbotapi.NewMessage(message.Chat.ID, "Ошибка при скачивании голосового сообщения. Попробуйте еще раз.")
|
||||
c.bot.Send(errorMsg)
|
||||
c.send(errorMsg)
|
||||
return
|
||||
}
|
||||
defer fileReader.Close()
|
||||
@@ -204,14 +212,14 @@ func (c *TelegramController) handleVoiceMessage(message *tgbotapi.Message) {
|
||||
if err != nil {
|
||||
c.logger.Error("Failed to create transcribe job", "error", err)
|
||||
errorMsg := tgbotapi.NewMessage(message.Chat.ID, "Ошибка при создании задачи на расшифровку. Попробуйте еще раз.")
|
||||
c.bot.Send(errorMsg)
|
||||
c.send(errorMsg)
|
||||
return
|
||||
}
|
||||
|
||||
// Отправляем сообщение об успешном создании задачи
|
||||
successMsg := tgbotapi.NewMessage(message.Chat.ID, fmt.Sprintf("Задача на расшифровку создана. ID задачи: %s", job.Id))
|
||||
successMsg.ReplyToMessageID = message.MessageID
|
||||
c.bot.Send(successMsg)
|
||||
c.send(successMsg)
|
||||
|
||||
// Отправляем результат расшифровки (асинхронно)
|
||||
go c.sendTranscriptionResult(message.Chat.ID, job.Id, sentProgressMsg.MessageID)
|
||||
@@ -226,7 +234,7 @@ func (c *TelegramController) handleDocumentMessage(message *tgbotapi.Message) {
|
||||
// Отправляем сообщение о начале обработки
|
||||
progressMsg := tgbotapi.NewMessage(message.Chat.ID, "Обрабатываю аудиофайл...")
|
||||
progressMsg.ReplyToMessageID = message.MessageID
|
||||
sentProgressMsg, err := c.bot.Send(progressMsg)
|
||||
sentProgressMsg, err := c.send(progressMsg)
|
||||
if err != nil {
|
||||
c.logger.Error("Failed to send progress message", "error", err)
|
||||
return
|
||||
@@ -237,7 +245,7 @@ func (c *TelegramController) handleDocumentMessage(message *tgbotapi.Message) {
|
||||
if err != nil {
|
||||
c.logger.Error("Failed to download document file", "error", err)
|
||||
errorMsg := tgbotapi.NewMessage(message.Chat.ID, "Ошибка при скачивании аудиофайла. Попробуйте еще раз.")
|
||||
c.bot.Send(errorMsg)
|
||||
c.send(errorMsg)
|
||||
return
|
||||
}
|
||||
defer fileReader.Close()
|
||||
@@ -247,14 +255,14 @@ func (c *TelegramController) handleDocumentMessage(message *tgbotapi.Message) {
|
||||
if err != nil {
|
||||
c.logger.Error("Failed to create transcribe job", "error", err)
|
||||
errorMsg := tgbotapi.NewMessage(message.Chat.ID, "Ошибка при создании задачи на расшифровку. Попробуйте еще раз.")
|
||||
c.bot.Send(errorMsg)
|
||||
c.send(errorMsg)
|
||||
return
|
||||
}
|
||||
|
||||
// Отправляем сообщение об успешном создании задачи
|
||||
successMsg := tgbotapi.NewMessage(message.Chat.ID, fmt.Sprintf("Задача на расшифровку создана. ID задачи: %s", job.Id))
|
||||
successMsg.ReplyToMessageID = message.MessageID
|
||||
c.bot.Send(successMsg)
|
||||
c.send(successMsg)
|
||||
|
||||
// Отправляем результат расшифровки (асинхронно)
|
||||
go c.sendTranscriptionResult(message.Chat.ID, job.Id, sentProgressMsg.MessageID)
|
||||
@@ -306,11 +314,11 @@ func (c *TelegramController) sendTranscriptionResult(chatID int64, jobID string,
|
||||
if job.TranscriptionText != nil {
|
||||
resultMsg := tgbotapi.NewMessage(chatID, *job.TranscriptionText)
|
||||
resultMsg.ReplyToMessageID = progressMessageID
|
||||
c.bot.Send(resultMsg)
|
||||
c.send(resultMsg)
|
||||
} else {
|
||||
resultMsg := tgbotapi.NewMessage(chatID, "Расшифровка завершена, но текст пуст.")
|
||||
resultMsg.ReplyToMessageID = progressMessageID
|
||||
c.bot.Send(resultMsg)
|
||||
c.send(resultMsg)
|
||||
}
|
||||
return
|
||||
case "failed":
|
||||
@@ -323,14 +331,14 @@ func (c *TelegramController) sendTranscriptionResult(chatID int64, jobID string,
|
||||
}
|
||||
resultMsg := tgbotapi.NewMessage(chatID, errorMsg)
|
||||
resultMsg.ReplyToMessageID = progressMessageID
|
||||
c.bot.Send(resultMsg)
|
||||
c.send(resultMsg)
|
||||
return
|
||||
}
|
||||
case <-timeout:
|
||||
// Время ожидания истекло
|
||||
resultMsg := tgbotapi.NewMessage(chatID, "Время ожидания результата расшифровки истекло. Попробуйте позже проверить статус задачи.")
|
||||
resultMsg.ReplyToMessageID = progressMessageID
|
||||
c.bot.Send(resultMsg)
|
||||
c.send(resultMsg)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user