shithub: irc.myr

Download patch

ref: 95f9e4c97616fdb6146e337b26fb5cc8c74e7387
parent: 33da627b835f55821507edb767e1bb24d6e3e6de
author: Ori Bernstein <ori@eigenstate.org>
date: Thu Jun 20 07:01:43 EDT 2019

Adjust timings, do 'redo' command when it's seen.

--- a/irc.myr
+++ b/irc.myr
@@ -321,7 +321,7 @@
 		-> void
 	;;
 	match sp[0]
-	| "/redo":	std.slpush(&irc.onconn, std.sldup(std.strstrip(text[sp[0].len:])))
+	| "/redo":	addredo(irc, std.strstrip(text[sp[0].len:]))
 	| "/connect":	connect(irc, sp[1:])
 	| "/join":	join(irc, sp[1:])
 	| "/leave":	leave(irc, sp[1:])
@@ -339,6 +339,11 @@
 	| c:		status(irc, irc.self, "unknown command: {}", text)
 	;;
 	std.slfree(sp)
+}
+
+const addredo = {irc, text
+	std.slpush(&irc.onconn, std.sldup(text))
+	cmd(irc, text)
 }
 
 const changenick = {irc, args
--- a/main.myr
+++ b/main.myr
@@ -73,7 +73,7 @@
 			for c : s.chan
 				send(irc, s, "JOIN {}\r\n", c.name)
 				redraw(irc)
-				std.usleep(200*std.Msec)
+				std.usleep(std.Sec)
 			;;
 		| `std.Err e:
 			/* push back our next reconnection attempt */
@@ -143,11 +143,13 @@
 	| `std.Err e:	/* nothing */
 	| `std.Ok cfg:
 		for ln : bio.byline(cfg)
+			std.usleep(300*std.Msec);
 			do(irc, ln)
 			redraw(irc)
 		;;
 		status(irc, irc.self, "doing {}", irc.onconn)
 		for c : irc.onconn
+			std.usleep(300*std.Msec);
 			do(irc, c)
 			redraw(irc)
 		;;
--