cuffeo (wip)
Usage Example
import cuffeo from "cuffeo";
(async () => {
  const clients = [
    {
      type: "irc",
      enabled: true,
      network: "name",
      host: "localhost",
      port: 6697,
      ssl: true,
      selfSigned: false,
      sasl: false,
      nickname: "nickname",
      username: "username",
      password: "password",
      realname: "realname",
      channels: [
        "#blah"
      ]
    },
    {
      type: "tg",
      enabled: true,
      token: "token",
      pollrate: 1001
    },
    {
      type: "slack",
      enabled: true,
      token: "token"
    }
  ];
  const bot = await new cuffeo(clients);
  // events
  bot.on("message", msg => {
    msg.reply("hello, world!");
  });
  bot.on("info", msg => {
    console.log(msg);
  });
  bot.on("error", err => {
    console.error(err);
  });
  bot.on("ctcp:ping", msg => { // irc only
    msg.write(`notice ${msg.user.nick} :${e.message}`);
  });
  bot.on("ctcp:version", msg => { // irc only
    msg.write(`notice ${msg.user.nick} :\u0001VERSION blah\u00001`);
  });
})();
documentation
clients
irc
{
  "type": "irc",
  "enabled": true,
  "network": "name",
  "host": "localhost",
  "port": 6697,
  "ssl": true,
  "selfSigned": false,
  "sasl": false,
  "nickname": "nickname",
  "username": "username",
  "password": "password",
  "realname": "realname",
  "channels": [
    "#blah"
  ]
}
Telegram
{
  "type": "tg",
  "enabled": true,
  "token": "token",
  "pollrate": 1001
}
Slack
{
  "type": "slack",
  "enabled": true,
  "token": "token"
}
Events
message
returns an object, containing:
| variable | type | explanation | note | 
|---|---|---|---|
| type | string | irc, tg or slack | |
| network | string | irc only, other it'll be "telegram" or "slack" | |
| channel | string | ||
| user | object | see below | |
| message | string | ||
| time | string | timestamp | |
| raw | object | ||
| reply | function | ||
| replyAction | function | ||
| replyNotice | function | ||
| self | object | ||
| _chan | object | irc only | |
| _user | object | irc and telegram only | |
| join | function | join a channel | irc only | 
| part | function | part a channel | irc only | 
| whois | function | request a whois | irc only | 
| write | function | write raw lul | 
user object
| variable | type | 
|---|---|
| account | string | 
| prefix | string | 
reply/replyAction/replyNotice function
msg.reply("message");
msg.replyAction("message");
msg.replyNotice("message"); // same as reply() on Slack and Telegram
join function
msg.join("#channel");
part function
msg.part("#channel", "message");
// or
msg.part([ "#channel1", "#channel2" ], "message");
whois function
msg.whois("user");
// or
msg.whois([ "user1", "user2" ]);
irc related stuff
color your messages
msg.reply("[color=red]message[/color]");
allowed colors:
- white
 - black
 - navy
 - green
 - red
 - brown
 - purple
 - orange
 - yellow
 - lightgreen
 - teal
 - cyan
 - blue
 - magenta
 - gray
 - lightgray
 
bold and italic
msg.reply("[b]bold[/b]");
msg.reply("[i]italic[/i]");
Description
				
					Languages
				
				
								
								
									JavaScript
								
								100%