logging changes
This commit is contained in:
parent
be0cc403b9
commit
02c9f2af6b
14 changed files with 96 additions and 77 deletions
|
@ -12,10 +12,10 @@ import (
|
|||
"github.com/rs/zerolog/log"
|
||||
)
|
||||
|
||||
//TODO logging
|
||||
|
||||
func Reminder(update tgbotapi.Update, bot *tgbotapi.BotAPI) {
|
||||
log.Debug().Str("args", update.Message.CommandArguments()).Msg("parsing new reminder")
|
||||
|
||||
log.Trace().Str("args", update.Message.CommandArguments()).Msg(("Parsing new Reminder"))
|
||||
|
||||
commandArgs := strings.Fields(update.Message.CommandArguments())
|
||||
|
||||
var timeArg string
|
||||
|
@ -25,7 +25,9 @@ func Reminder(update tgbotapi.Update, bot *tgbotapi.BotAPI) {
|
|||
timeArg = strings.ToLower(commandArgs[0])
|
||||
textArg = strings.Replace(update.Message.CommandArguments(), timeArg, "", 1)
|
||||
} else {
|
||||
log.Error().Str("args", update.Message.CommandArguments()).Msg("invalid new reminder")
|
||||
|
||||
log.Error().Str("CommandArgs", update.Message.CommandArguments()).Msg("Failed to add Reminder. Unable to parse reminder")
|
||||
|
||||
message := tgbotapi.MessageConfig{
|
||||
BaseChat: tgbotapi.BaseChat{ChatID: update.Message.Chat.ID, ReplyToMessageID: update.Message.MessageID},
|
||||
ParseMode: "html",
|
||||
|
@ -39,7 +41,9 @@ func Reminder(update tgbotapi.Update, bot *tgbotapi.BotAPI) {
|
|||
isValidFormat := regexp.MustCompile(`(?m)^\d{1,3}[mhd]$`)
|
||||
|
||||
if !isValidFormat.MatchString(timeArg) {
|
||||
log.Error().Str("args", update.Message.CommandArguments()).Msg("invalid new reminder")
|
||||
|
||||
log.Error().Str("CommandArgs", update.Message.CommandArguments()).Msg("Failed to add Reminder. Unable to parse reminder")
|
||||
|
||||
message := tgbotapi.MessageConfig{
|
||||
BaseChat: tgbotapi.BaseChat{ChatID: update.Message.Chat.ID, ReplyToMessageID: update.Message.MessageID},
|
||||
ParseMode: "html",
|
||||
|
@ -78,8 +82,6 @@ func Reminder(update tgbotapi.Update, bot *tgbotapi.BotAPI) {
|
|||
reminderText: textArg,
|
||||
}
|
||||
|
||||
log.Info().Int("ID", reminder.updateID).Int64("chat", reminder.chatID).Int64("user", reminder.userID).Int64("time", reminder.notifyTime).Msg("adding new reminder")
|
||||
|
||||
sqlAddReminder(reminder)
|
||||
|
||||
message := tgbotapi.MessageConfig{
|
||||
|
@ -89,12 +91,15 @@ func Reminder(update tgbotapi.Update, bot *tgbotapi.BotAPI) {
|
|||
Text: "Set reminder for " + notifyTime.Format("02.01.2006") + " at " + notifyTime.Format("15:04") + " UTC ",
|
||||
}
|
||||
botIO.SendMessage(message, bot)
|
||||
log.Info().Int("ID", reminder.updateID).Int64("chat", reminder.chatID).Int64("user", reminder.userID).Int64("time", reminder.notifyTime).Msg("Added new Reminder")
|
||||
return
|
||||
|
||||
|
||||
}
|
||||
|
||||
func NotifyHandler(bot *tgbotapi.BotAPI) {
|
||||
|
||||
log.Info().Msg("Handling Reminders")
|
||||
for {
|
||||
reminders := sqlGetReminders()
|
||||
|
||||
|
@ -109,11 +114,11 @@ func NotifyHandler(bot *tgbotapi.BotAPI) {
|
|||
DisableWebPagePreview: false,
|
||||
Text: "Reminder: " + details.reminderText,
|
||||
}
|
||||
log.Info().Int64("chat", details.chatID).Int64("user", details.userID).Str("text", details.reminderText).Msg("sent reminder")
|
||||
|
||||
botIO.SendMessage(message, bot)
|
||||
|
||||
sqlDeleteReminder(updateID)
|
||||
log.Info().Int64("chat", details.chatID).Int64("user", details.userID).Str("text", details.reminderText).Msg("Sent Reminder")
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -11,11 +11,8 @@ var notifyGetReminders *sql.Stmt
|
|||
var notifyGetReminderDetails *sql.Stmt
|
||||
var notifyDeleteReminder *sql.Stmt
|
||||
|
||||
// TODO logging
|
||||
// TODO switch to SQL
|
||||
func InitDB() {
|
||||
const dbPath string = "data/db/notify.db"
|
||||
log.Info().Str("dbpath", dbPath).Msg("init database")
|
||||
db, err := sql.Open("sqlite", dbPath)
|
||||
if err != nil {
|
||||
log.Panic().Err(err).Msg("failed to open sqlite database")
|
||||
|
@ -50,33 +47,32 @@ func InitDB() {
|
|||
log.Panic().Err(err).Msg("failed to create sql statement")
|
||||
}
|
||||
|
||||
log.Info().Msg("init database: done")
|
||||
log.Info().Str("dbpath", dbPath).Msg("Database prepared and connected")
|
||||
}
|
||||
|
||||
func sqlDeleteReminder(updateID int) {
|
||||
_, err := notifyDeleteReminder.Exec(updateID)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("failed to execute SQL to delete reminder")
|
||||
log.Error().Err(err).Msg("Failed to execute SQL Query. Can't delete Reminder")
|
||||
return
|
||||
}
|
||||
|
||||
log.Debug().Msg("executed SQL to delete reminder")
|
||||
log.Trace().Int("ID", updateID).Msg(("SQL: deleted reminder"))
|
||||
}
|
||||
|
||||
func sqlAddReminder(reminder reminderConfig) {
|
||||
_, err := notifySetReminder.Exec(reminder.updateID, reminder.notifyTime, reminder.chatID, reminder.userID, reminder.messageToReplyToID, reminder.reminderText)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("failed to execute SQL to add reminder")
|
||||
log.Error().Err(err).Msg("Failed to execute SQL Query. Can't add Reminder")
|
||||
return
|
||||
}
|
||||
|
||||
log.Debug().Msg("executed SQL to add reminder")
|
||||
log.Trace().Interface("Reminder", reminder).Msg(("SQL: added Reminder"))
|
||||
}
|
||||
|
||||
func sqlGetReminders() (reminders map[int]int64) {
|
||||
rows, err := notifyGetReminders.Query()
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("failed to execute SQL to get reminder")
|
||||
log.Error().Err(err).Msg("Failed to execute SQL Query. Can't get Reminders")
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -88,13 +84,13 @@ func sqlGetReminders() (reminders map[int]int64) {
|
|||
case nil:
|
||||
reminders[c] = b
|
||||
default:
|
||||
log.Error().Err(err).Msg("failed to parse SQL to get reminder")
|
||||
log.Error().Err(err).Msg("Failed to parse SQL Result. Can't get Reminders")
|
||||
return
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
log.Debug().Msg("executed SQL to get reminders")
|
||||
log.Trace().Interface("Reminders", reminders).Msg(("SQL: got Reminders"))
|
||||
return reminders
|
||||
}
|
||||
|
||||
|
@ -105,10 +101,10 @@ func sqlGetReminderDetails(updateID int) (reminder reminderConfig) {
|
|||
case nil:
|
||||
break
|
||||
default:
|
||||
log.Error().Err(err).Msg("failed to execute SQL to get reminder details")
|
||||
log.Error().Err(err).Msg("Failed to execute SQL Query. Can't get Reminder Details")
|
||||
return
|
||||
|
||||
}
|
||||
log.Debug().Msg("executed SQL to get reminder details")
|
||||
log.Trace().Interface("Reminder", reminder).Msg(("SQL: got Reminder Details"))
|
||||
return reminder
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue