Herodotus
An IRC bot written in node.JS that logs a channel's activity and saves it to JSON, JSONL, Markdown, or CSV
Install / Use
/learn @egladman/HerodotusREADME
herodotus
An IRC bot written in node.JS that logs a channel's activity and saves it to JSON, JSON Lines, CSV, or Markdown
Getting started
Clone
git clone https://github.com/egladman/herodotus.git && cd herodotus
Install Dependencies
npm install
Start
There are 6 optional parameters
Example One
node server.js --channel='#herodotus-demo' --format='jsonl'
--
Example Two
node server.js --nick='qux' --channel='#foo' --server='bar' --port=1234 --format='md'
--
Example Three
node server.js --format='csv' --verbose
Default Configuration
server: irc.freenode.net
port: 6667
channel: #herodotus-demo
nick: herodotus-bot
format: json
verbose: false
JSON
example logs/YYYY-MM-DD.json
{
"server":"irc.freenode.net",
"channel":"#herodotus-demo",
"events":[
{
"nick":"foo",
"message":"Vivamus elementum semper nisi",
"time":1456070643
},
{
"nick":"bar",
"message":"Aenean vulputate eleifend tellus",
"time":1456070648
},
{
"nick":"baz",
"message":"qux: Maecenas tempus, sit amet adipiscing sem neque sed ipsum",
"time":1456070651
},
{
"nick":"qux",
"message":"foo: Etiam sit amet orci eget eros faucibus tincidunt",
"time":1456070653
}
]
}
JSON Lines
example logs/YYYY-MM-DD.jsonl
{ "nick": "foo", "message": "Vivamus elementum semper nisi", "time": 1456070643 }
{ "nick": "bar", "message": "Aenean vulputate eleifend tellus", "time": 1456070648 }
{ "nick": "baz", "message": "qux: Maecenas tempus, sit amet adipiscing sem neque sed ipsum", "time": 1456070651 }
{ "nick": "qux", "message": "foo: Etiam sit amet orci eget eros faucibus tincidunt", "time": 1456070653 }
CSV
example logs/YYYY-MM-DD.csv
nick, message, time
"foo", "Vivamus elementum semper nisi", 1456070643
"bar", "Aenean vulputate eleifend tellus", 1456070648
"baz", "qux: Maecenas tempus, sit amet adipiscing sem neque sed ipsum", 1456070651
"qux", "foo: Etiam sit amet orci eget eros faucibus tincidunt", 1456070653
Markdown
example logs/YYYY-MM-DD.md
[02:41:33] foo Vivamus elementum semper nisi<br /> [02:41:40] bar Aenean vulputate eleifend tellus<br /> [02:41:42] baz qux: Maecenas tempus, sit amet adipiscing sem neque sed ipsum<br /> [02:41:45] qux foo: Etiam sit amet orci eget eros faucibus tincidunt<br />
Tested on node v4.2.6
Contributions and/or feature requests are welcomed. Feel free to report issues.
Related Skills
node-connect
348.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
348.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
348.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
