UNSCOOP(1)

πŸ“¦ version 1.9, in nixos 26.05, nixpkgs unstable

πŸ’… UNSCOOP(1) β€” the import-IRC-logs girlie ✨

okay bestie, welcome to unscoop β€” General Commands Manual energy, but make it a group chat 🫢


🌸 NAME 🌸

unscoop β€” she imports IRC logs, that's her whole thing πŸ’–


✨ SYNOPSIS ✨

unscoop [-v] [-N network] [-c context] [-d path] [-f format] file ...
unscoop -D [-d path]

πŸ¦‹ DESCRIPTION πŸ¦‹

so the unscoop utility imports plain text IRC logs into the litterbox(1) database. that's it, that's the job, and she ate πŸ”₯

here's the cute part: network and channel-or-query names can be inferred from file paths, so like... run unscoop from the log directory root, mkay? that's where the magic happens ✨

the current path being imported gets printed to standard output. progress based on total file size goes to standard error. two streams, two vibes, no drama πŸŽ€

the arguments are as follows:

  • -D β€” Delete duplicate events from overlapping imports and exit. ngl this one requires SQLite version 3.25.0 or newer, no cap. πŸ’€
  • -N network β€” override the network name of the imported logs πŸ‘‘
  • -c context β€” override the channel or query name of the imported logs. heads up: names beginning with # or & are assumed to be channels πŸ’…
  • -d path β€” set the database path, which must have been initialized by litterbox(1). the default path is as in litterbox(1) 🌈
  • -f format β€” set the input log format. default is generic ⭐
  • -v β€” print SQL INSERT statements on standard error. yep, she'll spill everything πŸ™ˆ

🧚 THE FORMATS (a whole menu, obsessed) 🧚

πŸ“ catgirl

import logs from the catgirl(1) IRC client πŸ’–

find ~/.local/share/catgirl/log \
        -type f -name '*.log' -print0 |
xargs -0 unscoop -f catgirl

πŸŽ€ generic

import logs using generic matchers. network and context names are inferred from paths of the form network/context/*. events of the following formats are matched:

[timestamp] <nick> privmsg
[timestamp] -nick- notice
[timestamp] * nick action

🌸 irc

import logs formatted as IRC protocol messages tagged with server-time. the network and context must be set with -N and -c β€” like, non-negotiable bestie 🫢

πŸ’œ textual

import logs from the Textual IRC client.

find Textual -type f -name '*.txt' \
        -not -path '*/Console/*' -print0 |
xargs -0 unscoop -f textual

πŸ¦‹ weechat

import logs from the WeeChat IRC client.

find ~/.weechat/logs -type f -name 'irc.*.weechatlog' \
        -not -name 'irc.server.*.weechatlog' -print0 |
xargs -0 unscoop -f weechat
⚠️ okay so real talk: unscoop is not able to correctly infer network and context names for channel names containing dots. import these logs explicitly with -N and -c, periodt πŸ’…

🌈 znc

import logs from the znc(1) log module.

find ~/.znc/moddata/log \
        ~/.znc/users/*/moddata/log \
        ~/.znc/users/*/networks/*/moddata/log \
        -type f -name '*.log' \
        -not -path '*/status/*' -print0 |
xargs -0 unscoop -f znc

πŸ‘€ SEE ALSO πŸ‘€

that's the whole list, but it's an iconic list πŸ’–


🫢 AUTHORS 🫢

June McEnroe <june@causal.agency> β€” queen behavior, we love her πŸ‘‘


😭 BUGS 😭

send mail to ⟨list+litterbox@causal.agency⟩ or join #ascii.town on irc.tilde.chat πŸ’Œ β€” they're nice, promise 🧚


πŸ’€ final vibe check: this page is from Debian, dated May 18, 2021. mwah, that's the tea, go import some logs bestie πŸ’…βœ¨πŸŽ€
πŸ“¦ where this page comes from