1.2.2 • Published 1 year ago

cuffeo v1.2.2

Weekly downloads
4
License
MIT
Repository
-
Last release
1 year ago

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:

variabletypeexplanationnote
typestringirc, tg or slack
networkstringirc only, other it'll be "telegram" or "slack"
channelstring
userobjectsee below
messagestring
timestringtimestamp
rawobject
replyfunction
replyActionfunction
replyNoticefunction
selfobject
_chanobjectirc only
_userobjectirc and telegram only
joinfunctionjoin a channelirc only
partfunctionpart a channelirc only
whoisfunctionrequest a whoisirc only
writefunctionwrite raw lul

user object
variabletype
accountstring
prefixstring
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]");
1.2.2

1 year ago

1.2.0

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.8

2 years ago

1.2.1

2 years ago

1.0.8-1

2 years ago

1.0.7-3

3 years ago

1.0.7-2

3 years ago

1.0.7

3 years ago

1.0.6-1

4 years ago

1.0.6

4 years ago

1.0.5-3

4 years ago

1.0.5-2

4 years ago

1.0.5-1

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago