Skip to content

v1.1.0 + Remindrix

Choose a tag to compare

@outarde outarde released this 31 Aug 20:57
· 109 commits to main since this release

We present the new name of the project - Remindrix. The name change symbolizes the connection with the Matrix protocol and also repositions the bot as a smart and silent assistant for your reminders. This version also includes several exciting new features and bug fixes.

Warning

This version includes database deletion or manual migration.

Features

🟢 Reaction responses. Instead of "Reminder scheduled" and other messages, the bot can now respond to commands with message reactions. For example, it will mark a new reminder with a timer reaction (⏲️), and a successful settings change with a checkmark (✅). Furthermore, the bot can mark new reminders with numeric reactions, which can be weeks, days, or hours before the reminder time (for example: 2️⃣🕒).

💻 Pro mode or CLI. If you're familiar with the terminal interface, you'll appreciate that you can now set reminders with precise commands without guessing the correct word order or conjugations of the word "morning" in natural language mode. The new mode supports setting the date and time, as well as the day, month, year, hour, and minute separately. The -i flag converts the specified time to an interval from the current time!

📩 Reminder Delegation. A draft feature is available that allows you to create reminders for other rooms. To do this, you need to know the room ID. This feature is only supported in the CLI and currently has no privacy settings, so it may create a spam risk on large servers.

Important

CLI and reminder delegation are experimental features that may not work as expected.

Database Migration

To ensure the bot can continue creating reminders, you will need to recreate your database or add a new column, created_by, to the reminders table. Run this SQL in any SQLite editor: ALTER TABLE reminders ADD COLUMN created_by TEXT.

31.08

The celebration of the Japanese pop diva's birthday left us no time to write docs for the new features, but in the coming days a guide to the pro/CLI mode will be published.

What's Changed

🚀 Features and Enhancements

  • a6155f5 Add bot's reactions to messages for commands tz and remind. New config variables send_reactions and send_digits_reactions.
  • 72eccb6 Add CLI/Pro mode for commands. New settings on_command_group (the same as on_command but for group rooms) and quick_remind (allows you to create reminders if the command at the beginning is not recognized, rather than issuing a greeting message). The logic of the variables has been split: the first one is now responsible for whether there is a slash at the beginning of the message to the bot, the second one is responsible for how to act when the first word is not recognized as a command.
  • ae84afe CLI processing pipeline is splitted from natural language processing.
  • 9de8ff6 Draft for reminders delegation.

🐛 Bug Fixes

  • 6b3932c Fix a bug where if there was no time, the default time was used entirely for the hour value, causing its format to be incorrect and a reminder not being created.
  • 72eccb6 I18nManager now is available at the BotCommand parse function to recognize localized commands.
  • 72eccb6 Add super-greedy quantifier to regular expression in the natural language pipeline to prevent creating reminders with time instead of text and default time when no exact time is specified.
  • 9de8ff6 When sending a digit reaction, the bot will no longer send a reaction with the next positive number from the list of intervals before the date if the first positive number was divisible by eleven without a remainder.
  • 9de8ff6 Switch to CLI command mode only if at least one parameter is specified. Update reminder status to missed if the room it was dedicated can not be found.
  • 92b5bd5 When changing settings, the user's user_id is saved, not the bot's. Save user_id as created_by when add reminder for delegation purposes.
  • 33d7919 Fix invalid YAML format in the translations for new features.

🌐 Localization

  • c2fdb39 Add periods to the ends of the sentences in the welcome message.

💻 Code Refactoring and Dependencies

  • a6155f5 Use strum crate for ReminderDateError and MessageReaction.
  • 9de8ff6 Draft for splitting processing of reminders to natural and CLI pipelines.
  • edc29ae Early draft for individual users settings and universal settings getter method.
  • 72eccb6 Update clap crate to 4.6.6.

Full Changelog: v1.0.1...v1.1.0