# TTYverse Timestamp Extension # Modified by Storm Dragon: https://stormux.org/ # Support Storm Dragon's work: https://patreon.com/stormux # Original concept from kosertech.com (see ttyverse.wiki/Extension-Development.md for development guide) # Published under the Floodgap Free Software License: http://www.floodgap.com/software/ffsl/ # What is it? # This extension adds timestamps before posts when 5 minutes or more have passed # between timeline updates, helping organize the flow of your fediverse timeline. # Usage: # This extension works automatically. Load it when you start TTYverse or add it # to your configuration. The timestamp format is: -- HH:MMAM/PM -- $handle = sub { my $delayInSeconds = 60 * 5; # 5 minutes default my ($nsec,$nmin,$nhour,$nday,$nmon,$nyear) = localtime(time); # Initialize timestamp tracking on first run if(!$Lib_firstrun){ $Lib_firstrun = 1; print "-- TTYverse timestamp extension loaded\n" if (!$silent); $Lib_past = time; } # Print timestamp if enough time has elapsed if($Lib_past < (time - $delayInSeconds)){ $Lib_past = time; my $timeString = "-- "; my $timeOfDay = "AM"; # Convert to 12-hour format if ($nhour >= 12) { if ($nhour > 12) { $nhour = $nhour - 12; } $timeOfDay = "PM"; } if (($nhour < 10) && ($nhour != 0)) { $timeString .= "0"; } if ($nhour == 0) { $nhour = 12; $timeOfDay = "AM"; } $timeString .= "$nhour:"; if ($nmin < 10) { $timeString .= "0"; } $timeString .= "$nmin$timeOfDay"; print $streamout "$timeString --\n" if (!$silent); } # Allow TTYverse to handle displaying the post normally my $ref = shift; &defaulthandle($ref); return 1; };