Initial commit
This commit is contained in:
commit
265f229824
|
@ -0,0 +1,18 @@
|
||||||
|
{
|
||||||
|
"rules": {
|
||||||
|
"no-unused-vars": "warn",
|
||||||
|
"no-console": "warn",
|
||||||
|
"no-empty": "off",
|
||||||
|
"no-warning-comments": [
|
||||||
|
"warn",
|
||||||
|
{ "terms": ["fixme", "xxx", "todo"], "location": "anywhere" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"parserOptions": {
|
||||||
|
"ecmaVersion": 2017
|
||||||
|
},
|
||||||
|
"sourceType": "module",
|
||||||
|
"env": {
|
||||||
|
"es6": true
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,2 @@
|
||||||
|
node_modules
|
||||||
|
irclogs/*.log
|
|
@ -0,0 +1,12 @@
|
||||||
|
# irc_log
|
||||||
|
|
||||||
|
my tiny irc bot in nodejs for save logs in irssi format for pisg
|
||||||
|
|
||||||
|
## install
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ git clone https://tildegit.org/grizzly/irc_log.git
|
||||||
|
$ yarn install
|
||||||
|
$ nano index.js
|
||||||
|
$ yarn start
|
||||||
|
```
|
|
@ -0,0 +1,8 @@
|
||||||
|
import { appendFile } from "fs";
|
||||||
|
|
||||||
|
const Save = (target, message) => {
|
||||||
|
target = target.replace("#", "");
|
||||||
|
return appendFile(`irclogs/c-${target}.log`, `${message} \n`, () => {});
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Save;
|
|
@ -0,0 +1,8 @@
|
||||||
|
#minute (0-59),
|
||||||
|
#| hour (0-23),
|
||||||
|
#| | day of the month (1-31),
|
||||||
|
#| | | month of the year (1-12),
|
||||||
|
#| | | | day of the week (0-6 with 0=Sunday).
|
||||||
|
#| | | | | commands
|
||||||
|
|
||||||
|
0 0 * * * /home/grizzly/irc/pisg/pisg --silent ; mv /home/grizzly/team.html "/home/grizzly/public_html/irc/`date +"%F"`-team.html" ; mv /home/grizzly/meta.html "/home/grizzly/public_html/irc/`date +"%F"`-meta.html" ; rm /home/grizzly/irc/irc_log/irclogs/*.log
|
|
@ -0,0 +1,45 @@
|
||||||
|
import { Client } from "irc-framework";
|
||||||
|
import Save from "./Save.js";
|
||||||
|
|
||||||
|
function middleware() {
|
||||||
|
return function (client, raw_events, parsed_events) {
|
||||||
|
parsed_events.use(log);
|
||||||
|
};
|
||||||
|
|
||||||
|
function log(command, event, client, next) {
|
||||||
|
const formatTime = (i) => {
|
||||||
|
return (i = i < 10 ? "0" + i : i);
|
||||||
|
};
|
||||||
|
|
||||||
|
const time = new Date();
|
||||||
|
let h = formatTime(time.getHours());
|
||||||
|
let m = formatTime(time.getMinutes());
|
||||||
|
|
||||||
|
if (command === "message") {
|
||||||
|
if (event.nick)
|
||||||
|
Save(event.target, `${h}:${m} < ${event.nick}> ${event.message}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
next();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const bot = new Client();
|
||||||
|
bot.use(middleware());
|
||||||
|
bot.connect({
|
||||||
|
host: "localhost",
|
||||||
|
nick: "g-itz",
|
||||||
|
port: 6667,
|
||||||
|
version: "g-itz",
|
||||||
|
username: "g-itz",
|
||||||
|
gecos: "g-itz",
|
||||||
|
});
|
||||||
|
bot.on("registered", () => {
|
||||||
|
console.log("Connected!");
|
||||||
|
bot.join("#grizzly");
|
||||||
|
bot.join("#grizzly2");
|
||||||
|
});
|
||||||
|
|
||||||
|
bot.on("close", () => {
|
||||||
|
console.log("Connection close");
|
||||||
|
});
|
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
"name": "irc_bot",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"main": "index.js",
|
||||||
|
"license": "MIT",
|
||||||
|
"scripts": {
|
||||||
|
"start": "node index.js"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"irc-framework": "^4.12.1"
|
||||||
|
},
|
||||||
|
"type": "module",
|
||||||
|
"devDependencies": {
|
||||||
|
"eslint": "^8.12.0"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,41 @@
|
||||||
|
## Create a systemd service unit file under the directory.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ vim ~/.config/systemd/user/irc_log.service
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
Description=irc_log
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/bin/node /home/grizzly/irc/irc_log/index.js
|
||||||
|
WorkingDirectory=%h/irc/irc_log
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
```
|
||||||
|
|
||||||
|
## Reload systemd.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ systemctl --user daemon-reload
|
||||||
|
```
|
||||||
|
|
||||||
|
## Confirm the service is available.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ systemctl --user list-unit-files irc_log.service
|
||||||
|
```
|
||||||
|
|
||||||
|
## You can start the service then after creation.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ systemctl --user enable --now irc_log.service
|
||||||
|
```
|
||||||
|
|
||||||
|
## Let’s check the status of our service.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ systemctl --user status irc_log.service
|
||||||
|
```
|
Loading…
Reference in New Issue