Skip to content

Instantly share code, notes, and snippets.

@siteshen
Created November 8, 2016 04:32
Show Gist options
  • Save siteshen/bdbf90b06f737226c30ff5981e42f339 to your computer and use it in GitHub Desktop.
Save siteshen/bdbf90b06f737226c30ff5981e42f339 to your computer and use it in GitHub Desktop.
List bearychat food count in bearychat group.
// Bookmarklet
//
// javascript:function listFoods(beginStr, endDateStr, foodBlacklist) { var _es = document.querySelectorAll('.Message-wrapper'); var es = Array.slice.call(0, _es); es.reverse(); var counts = {}; for (var e of es) { var author = e.querySelector('.author'); var message = ''; for (var sube of e.querySelectorAll('.Message-body')) { message += sube.innerText; } message = message.trim(); if (message.match(beginStr)) { break; } if (!foodBlacklist.includes(message)) { counts[message] = counts[message] || []; counts[message].push(author && author.innerText.trim()); } var ended = false; for (var b of e.querySelectorAll('.Message-body')) { var date = e.querySelector('.Messages-date'); if (date && date.innerText.trim() === endDateStr) { ended = true; } } if (ended) { break; } } var strs = []; for (var k of Object.keys(counts)) { var str = k + '(' + counts[k].length + '份): ' + counts[k].join(', '); strs.push(str); } return strs;}var foods = listFoods('大家订餐了', '今天', ['@讨论组']);alert(foods.join('\n'));for (var f of foods) { console.log(f);}
function listFoods(beginStr, endDateStr, foodBlacklist) {
var _es = document.querySelectorAll('.Message-wrapper');
var es = Array.slice.call(0, _es);
es.reverse();
var counts = {};
for (var e of es) {
var author = e.querySelector('.author');
var message = '';
for (var sube of e.querySelectorAll('.Message-body')) {
message += sube.innerText;
}
message = message.trim();
if (message.match(beginStr)) {
break;
}
if (!foodBlacklist.includes(message)) {
counts[message] = counts[message] || [];
counts[message].push(author && author.innerText.trim());
}
var ended = false;
for (var b of e.querySelectorAll('.Message-body')) {
var date = e.querySelector('.Messages-date');
if (date && date.innerText.trim() === endDateStr) {
ended = true;
}
}
if (ended) {
break;
}
}
var strs = [];
for (var k of Object.keys(counts)) {
var str = k + '(' + counts[k].length + '份): ' + counts[k].join(', ');
strs.push(str);
}
return strs;
}
var foods = listFoods('大家订餐了', '今天', ['@讨论组']);
alert(foods.join('\n'));
for (var f of foods) {
console.log(f);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment