import { PuppetXp, } from '../src/mod.js'; import qrcodeTerminal from 'qrcode-terminal'; /** * * 1. Declare your Bot! * */ const puppet = new PuppetXp(); /** * * 2. Register event handlers for Bot * */ puppet .on('logout', onLogout) .on('login', onLogin) .on('scan', onScan) .on('error', onError) .on('message', onMessage); /** * * 3. Start the bot! * */ puppet.start() .catch(async (e) => { console.error('Bot start() fail:', e); await puppet.stop(); process.exit(-1); }); /** * * 4. You are all set. ;-] * */ /** * * 5. Define Event Handler Functions for: * `scan`, `login`, `logout`, `error`, and `message` * */ function onScan(payload) { if (payload.qrcode) { const qrcodeImageUrl = [ 'https://wechaty.js.org/qrcode/', encodeURIComponent(payload.qrcode), ].join(''); console.info('StarterBot', 'onScan: %s(%s) - %s', payload.status, qrcodeImageUrl); qrcodeTerminal.generate(payload.qrcode, { small: true }); // show qrcode on console console.info(`[${payload.status}] ${payload.qrcode}\nScan QR Code above to log in: `); } else { console.info(`[${payload.status}]`); } } function onLogin(payload) { console.info(`${payload.contactId} login`); } function onLogout(payload) { console.info(`${payload.contactId} logouted`); } function onError(payload) { console.error('Bot error:', payload.data); /* if (bot.logonoff()) { bot.say('Wechaty error: ' + e.message).catch(console.error) } */ } /** * * 6. The most important handler is for: * dealing with Messages. * */ async function onMessage({ messageId, }) { const { talkerId, roomId, text, } = await puppet.messagePayload(messageId); if (/ding/i.test(text || '')) { await puppet.messageSendText(roomId || talkerId, 'dong'); } } /** * * 7. Output the Welcome Message * */ const welcome = ` Puppet Version: ${puppet.version()} Please wait... I'm trying to login in... `; console.info(welcome); //# sourceMappingURL=ding-dong-bot.js.map