mirror of
https://github.com/syuilo/ai.git
synced 2024-11-24 22:01:07 +00:00
pope
This commit is contained in:
parent
e3140f06fd
commit
1d3d6b750d
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_v": "1.2.0",
|
"_v": "1.2.1",
|
||||||
"main": "./built/index.js",
|
"main": "./built/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node ./built",
|
"start": "node ./built",
|
||||||
|
|
|
@ -2,4 +2,12 @@ export type Note = {
|
||||||
id: string;
|
id: string;
|
||||||
text: string | null;
|
text: string | null;
|
||||||
reply: any | null;
|
reply: any | null;
|
||||||
|
poll?: {
|
||||||
|
choices: {
|
||||||
|
votes: number;
|
||||||
|
text: string;
|
||||||
|
}[];
|
||||||
|
expiredAfter: number;
|
||||||
|
multiple: boolean;
|
||||||
|
} | null;
|
||||||
};
|
};
|
||||||
|
|
|
@ -4,6 +4,7 @@ import Module from '../../module';
|
||||||
import serifs from '../../serifs';
|
import serifs from '../../serifs';
|
||||||
import { genItem } from '../../vocabulary';
|
import { genItem } from '../../vocabulary';
|
||||||
import config from '../../config';
|
import config from '../../config';
|
||||||
|
import { Note } from '../../misskey/note';
|
||||||
|
|
||||||
export default class extends Module {
|
export default class extends Module {
|
||||||
public readonly name = 'poll';
|
public readonly name = 'poll';
|
||||||
|
@ -27,11 +28,21 @@ export default class extends Module {
|
||||||
const duration = 1000 * 60 * 30;
|
const duration = 1000 * 60 * 30;
|
||||||
|
|
||||||
const polls = [ // TODO: Extract serif
|
const polls = [ // TODO: Extract serif
|
||||||
['いちばん珍しそうなもの', 'みなさんは、どれがいちばん珍しいと思いますか? ヽ(・∀・)'],
|
['珍しそうなもの', 'みなさんは、どれがいちばん珍しいと思いますか?'],
|
||||||
['いちばん美味しそうなもの', 'みなさんは、どれがいちばん美味しいと思いますか? ヽ(・∀・)'],
|
['美味しそうなもの', 'みなさんは、どれがいちばん美味しいと思いますか?'],
|
||||||
['いちばん重そうなもの', 'みなさんは、どれがいちばん重いと思いますか? ヽ(・∀・)'],
|
['重そうなもの', 'みなさんは、どれがいちばん重いと思いますか?'],
|
||||||
['いちばん欲しいもの', 'みなさんは、どれがいちばん欲しいですか? ヽ(・∀・)'],
|
['欲しいもの', 'みなさんは、どれがいちばん欲しいですか?'],
|
||||||
['無人島に持っていきたいもの', 'みなさんは、無人島にひとつ持っていけるとしたらどれにしますか? ヽ(・∀・)'],
|
['無人島に持っていきたいもの', 'みなさんは、無人島にひとつ持っていけるとしたらどれにしますか?'],
|
||||||
|
['家に飾りたいもの', 'みなさんは、家に飾るとしたらどれにしますか?'],
|
||||||
|
['売れそうなもの', 'みなさんは、どれがいちばん売れそうだと思いますか?'],
|
||||||
|
['降ってきてほしいもの', 'みなさんは、どれが空から降ってきてほしいですか?'],
|
||||||
|
['携帯したいもの', 'みなさんは、どれを携帯したいですか?'],
|
||||||
|
['商品化したいもの', 'みなさんは、商品化するとしたらどれにしますか?'],
|
||||||
|
['発掘されそうなもの', 'みなさんは、遺跡から発掘されそうなものはどれだと思いますか?'],
|
||||||
|
['良い香りがしそうなもの', 'みなさんは、どれがいちばんいい香りがすると思いますか?'],
|
||||||
|
['高値で取引されそうなもの', 'みなさんは、どれがいちばん高値で取引されると思いますか?'],
|
||||||
|
['地球周回軌道上にありそうなもの', 'みなさんは、どれが地球周回軌道上を漂っていそうだと思いますか?'],
|
||||||
|
['プレゼントしたいもの', 'みなさんは、私にプレゼントしてくれるとしたらどれにしますか?'],
|
||||||
];
|
];
|
||||||
|
|
||||||
const poll = polls[Math.floor(Math.random() * polls.length)];
|
const poll = polls[Math.floor(Math.random() * polls.length)];
|
||||||
|
@ -72,9 +83,9 @@ export default class extends Module {
|
||||||
|
|
||||||
@autobind
|
@autobind
|
||||||
private async timeoutCallback({ title, noteId }) {
|
private async timeoutCallback({ title, noteId }) {
|
||||||
const note = await this.ai.api('notes/show', { noteId });
|
const note: Note = await this.ai.api('notes/show', { noteId });
|
||||||
|
|
||||||
const choices = note.poll.choices;
|
const choices = note.poll!.choices;
|
||||||
|
|
||||||
let mostVotedChoice;
|
let mostVotedChoice;
|
||||||
|
|
||||||
|
@ -98,7 +109,7 @@ export default class extends Module {
|
||||||
} else {
|
} else {
|
||||||
this.ai.post({ // TODO: Extract serif
|
this.ai.post({ // TODO: Extract serif
|
||||||
cw: `${title}アンケートの結果発表です!`,
|
cw: `${title}アンケートの結果発表です!`,
|
||||||
text: `結果は「${mostVotedChoice.text}」でした!`,
|
text: `結果は${mostVotedChoice.votes}票を獲得した「${mostVotedChoice.text}」でした!`,
|
||||||
renoteId: noteId,
|
renoteId: noteId,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -233,6 +233,7 @@ export const items = [
|
||||||
'エラトステネスの篩',
|
'エラトステネスの篩',
|
||||||
'ブラウン管',
|
'ブラウン管',
|
||||||
'タキオン',
|
'タキオン',
|
||||||
|
'ラッセルのティーポット',
|
||||||
];
|
];
|
||||||
|
|
||||||
export const and = [
|
export const and = [
|
||||||
|
|
Loading…
Reference in a new issue