DefinitelyTyped/types/slate-irc/slate-irc-tests.ts

60 lines
1.3 KiB
TypeScript

import * as net from "net";
import SlateIRC = require("slate-irc");
let socket: net.Socket;
const client = SlateIRC(socket);
client.on("welcome", (name) => {
console.log(client.me);
});
client.on("motd", (event) => {
console.log(event.motd);
});
client.on("join", (event) => {
console.log(`${event.nick} has joined ${event.channel}`);
});
client.on("part", (event) => {
console.log(`${event.nick} has parted ${event.channels.join(", ")}`);
});
client.on("nick", (event) => {
console.log(`${event.nick} is now known as ${event.new}`);
});
client.on("quit", (event) => {
console.log(`${event.nick} has quit (${event.message}).`);
});
client.on("data", (event) => {
console.log(`Got ${event.command} command: ${event.string}`);
});
client.on("message", (event) => {
console.log(`[${event.to}] ${event.from}: ${event.message}`);
});
client.on("notice", (event) => {
console.log(`[${event.to}] ${event.from}: ${event.message}`);
});
client.on("disconnect", () => {
console.log("Disconnected.");
});
client.pass("pass");
client.nick("tobi");
client.user("tobi", "Tobi Ferret");
client.join("#channel");
client.join("#channel", "password");
client.names("#channel", (err, names) => {
console.log(names);
});
client.part("#channel");
client.part("#channel", "Leaving...");