Limnoria icon indicating copy to clipboard operation
Limnoria copied to clipboard

Add a iCal / CalDav plugin

Open progval opened this issue 2 years ago • 3 comments

Primary, it would announce upcoming events / reminders.

As an extra, maybe writing events too?

progval avatar Nov 09 '22 20:11 progval

YES Please! I've got no idea how to initiate this sort of a thing as of yet.

I wanted the LUSERs to be able to use @next f1 for next formula one race and it goes beyond this once this is achieved.

My hacky soln was to scheduler remind [until 4 March 8pm] echo "F1 2023 Australian GP Practice". Naturally I didn't go ahead with this.

Libs caldav , icalendar

prdes avatar Mar 28 '23 19:03 prdes

I wanted the LUSERs to be able to use @next f1 for next formula one race and it goes beyond this once this is achieved.

Just to let you know: I have started working on this kind of plugin. You may find my initial commit here: https://github.com/matiasw/my-limnoria-plugins/commit/de8ac7a74f38efb0e3d35db8c066e567634924e5

It is in very, very early stages, but I realize that this is a big project, and I believe in "commit early, commit often". For, who knows - tomorrow, death! Anyway, it's probably not very useful, yet, unless all you need to know is the next event of one single iCalendar.

Planned features:

  1. Notifications a set number of days in advance of upcoming events
  2. Support for multiple named calendars (so instead of the current "nextevent" command, we'd have what you wanted, a "nextevent calendarname")
  3. Notifications in private messages to subscribed calendars, so in addition to setting reminders to be sent to channels, a user could ask for them to be sent in private, with per-user settings

I think writing events from IRC to the calendar would not have a good enough difficulty/usefulness ratio, because the iCal format is quite involved, and it's much easier to administer a calendar with eg. Google Calendar's UI. But a notification bot will be built, if it's up to me!

Please let me know if you think of more features, and, of course, development help would be appreciated!

matiasw avatar Sep 24 '23 06:09 matiasw

Feature 2 is now ready for your use case: https://github.com/matiasw/my-limnoria-plugins/tree/master/Calendar ~~Please note that it currently only supports one calendar, because of a weird issue I am having with setting the calendars parameter, where the parameter is stripped of quotes around the key for all but the first of the set calendars. But, you can still set a single calendar source and use the nextevent f1 command like you wanted. Here's an example of how to do that: config plugins.calendar.calendars {"Buddhistholidays":"https://ics.calendarlabs.com/38/b74c50f5/Buddhist_Holidays.ics"}~~

Ok, I got that resolved - so, here's how to set calendars to the plugin: config plugins.calendar.calendars {\"Buddhist holidays\":\"https://ics.calendarlabs.com/38/b74c50f5/Buddhist_Holidays.ics\", \"Christian holidays\":\"https://ics.calendarlabs.com/41/2ae1043a/Christian_Holidays.ics\"}

Note that you need to escape double quotes.

matiasw avatar Sep 26 '23 00:09 matiasw