Skip to content

Instantly share code, notes, and snippets.

@Jackzmc
Created October 27, 2018 14:35
Show Gist options
  • Save Jackzmc/5d1e3268d92cabc3da618f2d403b55ca to your computer and use it in GitHub Desktop.
Save Jackzmc/5d1e3268d92cabc3da618f2d403b55ca to your computer and use it in GitHub Desktop.
require('dotenv').load();
const { driver } = require('@rocket.chat/sdk');
let BotID;
start();
async function start() {
const rooms = process.env.ROOMS.split(",");
console.log(`Connecting to ${process.env.HOST} with ${process.env.USER}:${process.env.PASS}`)
await driver.connect({host:process.env.HOST,username:process.env.USER,password:process.env.PASS,rooms,});
const bot = await driver.login({username:process.env.USER,password:process.env.PASS});
await driver.joinRooms(rooms);
await driver.subscribeToMessages();
await driver.reactToMessages((err,res,opts) => {
if(err) throw err;
try {
const args = res.msg.slice(process.env.PREFIX.length).split(" ");
const flags = [];
res.content = res.msg;
delete res.msg;
onMessage(res,args,flags,opts);
}catch(err) {
throw err;
}
});
botID = bot;
await driver.sendToRoom("Hello i am alive",rooms[0])
}
async function onMessage(message, args, flags, options) {
if(message.u._id === botID) return;
console.log("args: " + args)
const roomname = await driver.getRoomName(message.rid);
if(message.content.toLowerCase().startsWith(process.env.PREFIX)) {
await driver.sendToRoom(`Hello why you use me?\nCommand: \`${args[0]}\`\nArgs: \`${args.slice(1)}\``,roomname)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment