.Dd May 18, 2021 .Dt UNSCOOP 1 .Os . .Sh NAME .Nm unscoop .Nd import IRC logs . .Sh SYNOPSIS .Nm .Op Fl v .Op Fl N Ar network .Op Fl c Ar context .Op Fl d Ar path .Op Fl f Ar format .Ar . .Nm .Fl D .Op Fl d Ar path . .Sh DESCRIPTION The .Nm utility imports plain text IRC logs into the .Xr litterbox 1 database. Network and channel or query names can be inferred from file paths, so .Nm should be run from the log directory root. . .Pp The current path being imported is printed to standard output. Progress based on total file size is printed to standard error. . .Pp The arguments are as follows: .Bl -tag -width Ds .It Fl D Delete duplicate events from overlapping imports and exit. This operation requires SQLite version 3.25.0 or newer. . .It Fl N Ar network Override the network name of the imported logs. . .It Fl c Ar context Override the channel or query name of the imported logs. Names beginning with .Ql # or .Ql & are assumed to be channels. . .It Fl d Ar path Set the database path, which must have been initialized by .Xr litterbox 1 . The default path is as in .Xr litterbox 1 . . .It Fl f Ar format Set the input log format. The default is .Cm generic . . .It Fl v Print SQL .Sy INSERT statements on standard error. .El . .Pp The formats are as follows: .Bl -tag -width Ds .It Cm catgirl Import logs from the .Xr catgirl 1 IRC client. .Bd -literal -offset indent find ~/.local/share/catgirl/log \e -type f -name '*.log' -print0 | xargs -0 unscoop -f catgirl .Ed . .It Cm generic Import logs using generic matchers. Network and context names are inferred from paths of the form .Pa network/context/* . Events of the following formats are matched: .Bd -literal -offset indent [timestamp] privmsg [timestamp] -nick- notice [timestamp] * nick action .Ed . .It Cm irc Import logs formatted as IRC protocol messages tagged with .Sy server-time . The network and context must be set with .Fl N and .Fl c . . .It Cm textual Import logs from the Textual IRC client. .Bd -literal -offset indent find Textual -type f -name '*.txt' \e -not -path '*/Console/*' -print0 | xargs -0 unscoop -f textual .Ed . .It Cm weechat Import logs from the WeeChat IRC client. .Bd -literal -offset indent find ~/.weechat/logs -type f -name 'irc.*.weechatlog' \e -not -name 'irc.server.*.weechatlog' -print0 | xargs -0 unscoop -f weechat .Ed .Pp .Nm is not able to correctly infer network and context names for channel names containing dots. Import these logs explicitly with .Fl N and .Fl c . . .It Cm znc Import logs from the .Xr znc 1 .Sy log module. .Bd -literal -offset indent find ~/.znc/moddata/log \e ~/.znc/users/*/moddata/log \e ~/.znc/users/*/networks/*/moddata/log \e -type f -name '*.log' \e -not -path '*/status/*' -print0 | xargs -0 unscoop -f znc .Ed .El . .Sh SEE ALSO .Xr litterbox 1 . .Sh AUTHORS .An June McEnroe Aq Mt june@causal.agency . .Sh BUGS Send mail to .Aq Mt list+litterbox@causal.agency or join .Li #ascii.town on .Li irc.tilde.chat .