このリポジトリは2023-09-09にアーカイブされています。 ファイルの閲覧とクローンは可能ですが、プッシュ、イシューの作成、プルリクエストはできません。
cirno-discord/cirno-discord.js

199 行
6.3 KiB
JavaScript
Raw パーマリンク Blame 履歴

このファイルには曖昧(ambiguous)なUnicode文字が含まれています

このファイルには、他の文字と見間違える可能性があるUnicode文字が含まれています。 それが意図的なものと考えられる場合は、この警告を無視して構いません。 それらの文字を表示するにはエスケープボタンを使用します。

var discord = require('discord.js');
var auth = require('./auth.json');
var client = new discord.Client();
client.login(auth.token);
client.on('error', console.error);
function getUserFromMention(mention) {
if (!mention) return;
if (mention.startsWith('<@') && mention.endsWith('>')) {
mention = mention.slice(2, -1);
if (mention.startsWith('!')) {
mention = mention.slice(1);
}
return mention;
}
}
client.on("message", message => {
if (message.author.bot) return; // 自分へ返事しないで
if (/バカ/.test(message.content) || /馬鹿/.test(message.content)) {
message.reply('アタイはバカじゃないもん!');
}
else if (/バーカ/.test(message.content)
|| /ばーか/.test(message.content)
|| /バーカバーカ/.test(message.content)
|| /ばーかばーか/.test(message.content)) {
message.channel.send('バーカバーカ!');
}
else if (/強い/.test(message.content) ||
/つよい/.test(message.content) ||
/最強/.test(message.content) ||
/さいきょう/.test(message.content)
) {
message.channel.send('アタイは最強だ!');
}
else if (/ケロケロ/.test(message.content) || /けろけろ/.test(message.content)) {
message.channel.send('パーフェクトフリーズ!!');
}
else if (/こんにちは/.test(message.content)) {
message.reply('こんにちはー');
}
else if (/こんばんは/.test(message.content)) {
message.reply('こんばんはー');
}
else if (/おはよ/.test(message.content)) {
message.reply('おはよ〜!まだ眠いだけど');
}
else if (/おやすみ/.test(message.content)
|| /寝る/.test(message.content)) {
message.reply('おやすみなさ〜い!');
}
else if (/ロリ/.test(message.content)) {
message.channel.send('ロリ');
}
else if (/ショタ/.test(message.content)) {
message.channel.send('ショタ');
}
else if (/チルノちゃん/.test(message.content)) {
message.reply('な〜にをー?');
}
else if (/おやつに入れて/.test(message.content)) {
message.reply('アタイは食べてないわ!');
}
else if (/➈/.test(message.content)
|| /⑨/.test(message.content)) {
message.channel.send('アタイは天才だよー');
}
else if (message.isMentioned(client.user)) {
let mes = message.content.split(' ')[1];
if (mes) {
const user = getUserFromMention(mes);
if (mes.startsWith('私は')) {
var fs = require('fs');
fs.readFile('/root/bot/cirno-discord/userinfo.json', 'utf8', (err, data) => {
if (err) throw err;
let fc = JSON.parse(data);
if (!fc[message.author.id]) {
fc[message.author.id] = {
name: '',
age: '',
country: '',
birthday: ''
}
fs.writeFile('/root/bot/cirno-discord/userinfo.json', JSON.stringify(fc), 'utf8', (err) => {
if (err) {
console.error(err);
return;
}
});
}
keyword = message.content.split('私は');
if (message.content.endsWith('です')) {
keyword = keyword[1].split('です');
if (keyword[0]) {
fc[message.author.id].name = keyword[0];
fs.writeFile('/root/bot/cirno-discord/userinfo.json', JSON.stringify(fc), 'utf8', (err) => {
if (err) {
console.error(err);
return;
}
});
}
}
else if (message.content.endsWith('歳')) {
keyword = keyword[1].split('歳');
if (keyword[0]) {
fc[message.author.id].age = keyword[0];
fs.writeFile('/root/bot/cirno-discord/userinfo.json', JSON.stringify(fc), 'utf8', (err) => {
if (err) {
console.error(err);
return;
}
});
}
}
else if (message.content.endsWith('出身')) {
keyword = keyword[1].split('出身');
if (keyword[0]) {
fc[message.author.id].country = keyword[0];
fs.writeFile('/root/bot/cirno-discord/userinfo.json', JSON.stringify(fc), 'utf8', (err) => {
if (err) {
console.error(err);
return;
}
});
}
}
else message.reply('は?');
});
message.reply('わかったわ!');
}
else if (user) {
var fs = require('fs');
fs.readFile('/root/bot/cirno-discord/userinfo.json', 'utf8', (err, data) => {
if (err) throw err;
let fc = JSON.parse(data);
if (fc[user]) {
if (message.content.endsWith('の名前は?')) {
if (fc[user].name) message.reply(fc[user].name + 'わよ!');
else message.reply('わかんない。教えてくれていいの?');
}
else if (message.content.endsWith('の国は?') || message.content.endsWith('の県は?')) {
if (fc[user].country) message.reply(fc[user].country + 'わよ!');
else message.reply('わかんない。教えてくれていいの?');
}
else if (message.content.endsWith('は何歳?')) {
if (fc[user].age) message.reply(fc[user].age + 'わよ!');
else message.reply('わかんない。教えてくれていいの?');
}
else if (message.content.endsWith('の誕生日はいつ?')) {
if (fc[user].birthday) message.reply(fc[user].birthday + 'わよ!');
else message.reply('わかんない。教えてくれていいの?');
}
}
else message.reply('この奴わかんない…');
});
}
else if (/自己紹介したいんですが/.test(message.content)) {
message.reply("簡単わよ!\nアタイをメンションすると、下記のことを教えてあげてってね\n・私は【名前】です・\in・私は【数字】歳\n・私は【都道府県・国等】出身\n・私の誕生日は【月日】");
}
else message.reply('わからなかった…');
}
}
});