const { driver } = require('@rocket.chat/sdk');
const respmap = require('./reply');
const HOST = '<ROCKETCHAT HOST>';
const USER = '<BOT USER NAME>';
const PASS = '<BOT USER PASS>';
const BOTNAME = '<ROCKET CHAT BOT ALIAS>';
const SSL = '<SSL USAGE>';
const ROOMS = ['<ROCKETCHAT CHANNEL>'];
const runbot = async () => {
const conn = await driver.connect({ host: HOST, useSsl: SSL })
myUserId = await driver.login({ username: USER, password: PASS });
const roomsJoined = await driver.joinRooms( ROOMS );
console.log('joined rooms');
const subscribed = await driver.subscribeToMessages();
console.log('subscribed');
const msgloop = await driver.reactToMessages( processMessages );
console.log('connected and waiting for messages');
const sent = await driver.sendToRoom( BOTNAME + ' is listening ...', ROOMS[0]);
console.log('Greeting message sent');
const processMessages = async(err, message, messageOptions) => {
if (message.u._id === myUserId) return;
const roomname = await driver.getRoomName(message.rid);
console.log('got message ' + message.msg)
if (message.msg in respmap) {
response = respmap[message.msg];
const sentmsg = await driver.sendToRoomId(response, message.rid)