Announcing @Reminder.Ping: The HIVE Blockchain Reminder

in OCD2 months ago

Hey everyone! @ahmadmanga is here!

I'm excited to share a project I've been working on—a fully functional HIVE-based !RemindMe bot! This bot was built with the help of AI and a lot of experimentation. It's my first programming project working on HIVE blockchain's API.

RemindMe Bot

You can use this bot to get a notification/reminder to check back on your ealier comments. It does that by keeping track of the time you specified for the reminder and give you a comment and a mention when the time comes. This There are many bots on HIVE, but I have yet to find a bot that offers this functionality. I thought, if no one is doing it, I'll do it myself!

What This Bot Can Do:

  • Track Comments with !RemindMe: If anyone leaves a comment on the blockchain with !RemindMe, the bot will detect it and schedule a reminder based on the time mentioned in the comment.
  • Parse Flexible Time Formats: The bot supports multiple formats, including:
    • Relative Times: You can say things like !RemindMe in 3 hours or !RemindMe in 2 days.
    • Specific Dates: It understands dates like on the 12th of April or on 3rd of November.
    • Fuzzy Dates: Even on the 15th or on 15th April is good enough.
  • Smart Date Handling: If the time string is vague (like midnight without hours/minutes specified), the bot defaults to the timestamp from the comment itself to avoid any confusion.
  • Replies with Reminders: When the target timestamp arrives, the bot will reply directly to the comment, reminding the author about their requested time.

How This Works:

The bot listens to HIVE comment data and processes it in batches. The time parsing is pretty robust, thanks to Python's dateutil library. Plus, if the time string is unrecognizable or unclear, the bot lets the user know they messed up with a friendly error message.

All timestamps and processing are synced with the blockchain, so it remains lightweight. It catches up with the blockchain if it disconnects for some reason. Comments and scheduled reminders are logged into a CSV file to ensure no reminders are missed.

Disclaimer:

The bot is reliable as long as it's running, but I can't have it running 24/7 right now. I'm running it from my laptop which doesn't have the best battery, and my internet connection isn't always there for the app to sync with HIVE. This leads the bot to be reply late! Finding solutions for this problem will be my next priority!

Current Features:

  • Multi-format Time Parsing: Supports relative times (e.g., “in 3 hours”) and specific dates.
  • Error Handling: If someone fails to format the time correctly, it responds with helpful advice.
  • Comment Replies: The bot sends a reply when the reminder hits, right under the original comment.

Planned Improvements:

  • Enhanced Date Parsing: There's still room to improve parsing time strings better. For example it'll be nice to support full sentences without relying too heavily on specific patterns.
  • Improved Responses: Currently @Reminder.Ping uses the same replies for each type of comment. I'd love to add more variations in its responses and reduce spam.
  • Deployment to a Server: For this bot to work properly, it needs to run on an 'always online' server. I haven't done something like this before, though. I'm still considering my options here. The most reliable options all require money that I don't have! If you have an idea or want to help, message me in the comments!

Below are features that aren't planned any time soon, but I want to keep in mind for future updates:

  • Query Feature: The users would be able to ask the bot for a list of their scheduled reminders.
  • Reminder Reasoning: The bot tries to understand the type of event its being asked to remind for and mention that in the responses!
  • Custom Reminder Options: Let users specify whether they want multiple reminders for a single event (e.g., daily, weekly, etc.).
  • Paid Features: This app has to make money or it won't be sustainable for me. I'll have to think of some features that I offer for paying users.

Shoutout:

This app wouldn’t have existed without the assistance of ChatGPT. It helped me fine-tune the time parsing logic, make sense of the errors, and streamline the entire process! This is definitely a work-in-progress, but with some great tools, it’s been a fun challenge to tackle.

Feel free to check out the code and let me know if you have any suggestions or questions. And if you use it—let me know how it goes!


Thanks for your time, and stay tuned for more updates! 🙌


Posted Using InLeo Alpha

Sort:  

Congratulations @reminder.ping! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)

You received more than 10 upvotes.
Your next target is to reach 50 upvotes.
You made more than 10 comments.
Your next target is to reach 50 comments.

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Check out our last posts:

The countdown to HiveFest⁹ is one week away - Join us and get your exclusive badge!
Our Hive Power Delegations to the August PUM Winners
Feedback from the September Hive Power Up Day

This looks super cool! Great job

The bot is running on a server now... Would love it if you tried it yourself!

Like this:

!RemindMe 6 hours!

Confirmed! You'll be notified on Tuesday, September 10, 2024 at 11:59 AM (UTC)

Hello @ahmadmanga!! You asked me to remind you 6 hours ago. Here's your reminder to check back on this conversation!


@reminder.ping is an experimental bot. Notifications may come a few minutes late. Your support is appreciated!

this is a great innovation. Gotta bookmark it. Thanks

This is awesome! Keep up the good work 🦁

Thanks for checking this out! Khal~

Wow what an amazing idea 💡. I love it . I am also learning Programming and would love to participate in projects like this in the future ☺️

Thanks for reading this post! I say go for it... Programming is very rewarding!!

For sure 🙌