1
0
Fork 0
mirror of https://github.com/kou029w/daraz-san.git synced 2025-01-19 00:18:01 +00:00
daraz-san/scripts/unchiku.js
Kohei Watanabe 5152efc6ff scripts を移行
主要な変更点
- CoffeeScript をやめる
- cron.coffee は機能していないため削除
- ruby.coffee は機能していないため削除
- www.coffee は #general でしか使われていないため削除
- *便器*はリンク切れしていたため削除
- *鳥取*は栃木県ではないため削除

Co-authored-by: SAKAGUCHI Takashi <takashi.sakaguchi@ummm.info>
Co-authored-by: Masayuki Higashino <mh61503891@users.noreply.github.com>
Co-authored-by: Kazuki Shigemichi <shigemichik@gmail.com>
2019-07-28 01:52:06 +09:00

30 lines
1.2 KiB
JavaScript

const { useTokenize } = require("./util/morpheme");
const random = require("./util/random");
const tellme = require("./util/tellme");
// ときどきうんちくを語ります
module.exports = [
/[^\x01-\x7e]{4,}/,
async ({ context, say }) => {
if (random([...Array(15).keys()]) !== 0) return;
try {
const tokenize = await useTokenize();
const words = tokenize(context.matches[0])
.filter(({ pos }) => pos === "名詞")
.map(({ surface_form }) => surface_form)
.filter(t => !/^[\u3040-\u309F]$/.test(t)) //ひらがな1文字 http://www.unicode.org/charts/PDF/U3040.pdf
.filter(t => !/^[\u30A0-\u30FF]$/.test(t)) //かたかな1文字 http://www.unicode.org/charts/PDF/U30A0.pdf
.filter(t => !/^[\uFF65-\uFF9F]$/.test(t)) //半角カナ1文字 http://www.unicode.org/charts/PDF/UFF00.pdf
.filter(t => !/[、・…]/.test(t));
const word = random(words);
const ans = await tellme(word);
if (/^(|…|しらないにゃーん)$/.test(ans)) {
throw new Error(`don't know ${word} : ${ans}`);
}
say(`:nya-n: < 【う・ん・ち・く】${ans}`);
} catch (e) {
console.error(e);
}
}
];