Schedule notifications with natural language
ScheNotify is a LangBot plugin that allows users to set timed reminders through natural language interaction with LLM.
- Natural Language Interaction: Understand user's scheduling intentions through LLM
- Smart Time Parsing: Automatically get current time and calculate reminder time
- Multi-language Support: Support Chinese and English reminder messages
- Schedule Management Commands: View and delete scheduled reminders
- Automatic Notifications: Automatically send reminder messages at scheduled time
You can select the language for reminder messages in plugin configuration:
zh_Hans(Simplified Chinese) - Defaulten_US(English)
Simply tell the LLM your schedule in natural language:
Examples:
Remind me to have a meeting at 3 PM tomorrow
Remind me to submit the report at 9 AM the day after tomorrow
Remind me to have lunch at 12 PM next Monday
Remind me about Christmas dinner at 2024-12-25 18:00
The LLM will automatically:
- Call
get_current_time_strto get current time - Parse your time expression and convert to standard format
- Call
schedule_notifyto create reminder
Use command to view all scheduled reminders:
!sche
Example output:
[Notify] Scheduled reminders:
#1 2024-12-25 18:00:00: Christmas dinner
#2 2024-12-26 09:00:00: Submit report
Use command to delete a specific reminder (using the number from !sche):
!dsche i <number>
Example:
!dsche i 1 # Delete the 1st reminder
-
get_current_time_str - Get current time
- Return format:
YYYY-MM-DD HH:MM:SS - LLM must call this tool before setting reminders
- Return format:
-
schedule_notify - Schedule notification
- Parameters: time string, reminder message
- Automatically obtains session info from Tool's session parameter
- sche (alias: s) - List all scheduled reminders
- dsche (alias: d) - Delete specified reminder
- Check interval: Every 60 seconds
- Time precision: Minute level (checks every minute)
- Session info: Automatically obtained through Tool's session parameter
- Persistence: Currently uses in-memory storage (lost on restart)
User: Remind me to attend a meeting at 2 PM tomorrow
LLM: Sure, I'll set a reminder for you.
[LLM calls get_current_time_str] [LLM calls schedule_notify(time_str="2024-12-26 14:00:00", message="Attend meeting")]
LLM: Done! I will remind you at 2024-12-26 14:00:00: Attend meeting
[The next day at 2 PM]
Bot: [Notify] Attend meeting
- Reminder time must be in the future, past times will be rejected
- Reminder messages will be sent to the same session where the reminder was set
- Listing and deleting are scoped to the exact session that set the reminder (bot + person/group + target id), so reminders set from another bot or from a group with the same id are neither shown nor deleted
- At most 100 reminders can be pending per installation, and each message is limited to 2000 characters
- A reminder whose delivery fails stays queued and is retried on the next check
- Unsent reminders will be lost after plugin restart (persistence will be supported in future versions)
- Author: RockChinQ
- Version: 0.2.0
- Plugin Type: LangBot Plugin v1
Part of the LangBot plugin ecosystem.