diff --git a/index.js b/index.js index a8774c3..f764e4e 100644 --- a/index.js +++ b/index.js @@ -1,4 +1,4 @@ -/* +/* Clippy bot for mastodon. @@ -53,25 +53,33 @@ function initiateSettings(socket) { // return random suggestion string function suggestion(username) { - const n = crypto.randomInt(8) + const n = crypto.randomInt(12) switch(n) { case 0: return 'How about logging off instead?'; case 1: - return `Would you like to delete your toot, ${username}?`; + return `Would you like to delete your toot, @${username}?`; case 2: - return 'Can I help you take a walk outside?'; + return 'Can I help you take a walk outside? πŸšΆβ€βž‘οΈ'; case 3: return 'You may like to reconsider your life choices.'; case 4: return 'Why not try looking at #CatsOfMastodon instead?'; case 5: - return `Come on ${username}, we've talked about this.`; + return `Come on @${username}, we've talked about this. πŸ€·β€β™‚οΈ`; case 6: - return `You should go look at some trees. Trees are calming`; + return `You should go look at some trees. Trees are calming 🌳`; case 7: - return `I'm not angry. I'm just very disappointed.`; + return `I'm not angry. I'm just very disappointed. πŸ˜”`; + case 8: + return `You said you were going to stop doing that ...and yet here we are.`; + case 9: + return `Time to touch some grass 🌱`; + case 10: + return `Why not have a nice cup of tea instead? πŸ«–`; + case 11: + return `And yet you still haven't read all of those books in your TBR pile. πŸ€”`; } } @@ -133,42 +141,42 @@ function listen() { // make sure bot is set up correctly each time it starts initiateSettings(ws) - + // errors ws.on('error', err => { console.error(`WebSocket error: ${err.message}`) resetConnection(ws) }) - + // check updates and notifications in the stream ws.on('message', msg => { let packet = JSON.parse(msg) let data = JSON.parse(packet.payload) - + // notifications if (packet.event == 'notification') { - + // always follow back if (data.type == 'follow') { followAction(data.account.id, 'follow') } - + if (data.type == 'mention') { - + let post = data.status.content - + // check start requests if (post.match(/\bSTART\b/)) { followAction(data.account.id, 'follow') } - + // check stop requests if (post.match(/\STOP\b/)) { followAction(data.account.id, 'unfollow') } } } - + // updates (posts) if (packet.event == 'update') { let rid = data.id @@ -185,7 +193,7 @@ function listen() { } else if (data.spoiler_text.toLowerCase().includes(topic)) { sendResponse(rid, user, username) - } + } else if (data.tags.map(tag => tag.name.toLowerCase()).includes(topic)) { sendResponse(rid, user, username) }