implemented ajds into member add

This commit is contained in:
Ben
2020-08-03 01:28:28 +01:00
parent e1f8cede33
commit 173fd0004e
2 changed files with 47 additions and 20 deletions

View File

@@ -31,15 +31,15 @@ module.exports.ScoreMember = async function(erismember)
// prior to 2 days, deduct 5 points
let Age = new Date().getTime() - ((erismember.id >> 22 >>> 0) + 1420070400000);
// age in days
Age = Math.floor(age / 1000 / 60 / 60 / 24);
Age = Math.floor(Age / 1000 / 60 / 60 / 24);
if (age < 2)
if (Age < 2)
{
ret.score -= 5;
ret.warnings.push({warning: 'member account very new', severity: 2});
} else
{
let AgeScore = Math.min(Math.max(0, age / 2 - 1), 10);
let AgeScore = Math.min(Math.max(0, Age / 2 - 1), 10);
if (AgeScore > 10) ret.warnings.push({warning: 'member account new', severity: 1});
ret.score += AgeScore;
}
@@ -67,24 +67,24 @@ module.exports.ScoreMember = async function(erismember)
{
ret.warnings.push({warning: `members name contains offensive word: ${OffensiveWord}`, severity: 3});
}
ret.score -= 5;
ret.score -= 10;
}
// Time to score
// perfect score is 20
// worst score is -10
// worst score is -20
if (ret.score >= 10)
ret.literalscore = 'Users account is trustworthy'
ret.literalscore = 'Members account is trustworthy'
else if (ret.score >= 5)
ret.literalscore = 'Users account is relatively trustworthy'
ret.literalscore = 'Members account is relatively trustworthy'
else if (ret.score >= 0)
ret.literalscore = 'Users account is most likely untrustworthy '
ret.literalscore = 'Members account is most likely untrustworthy'
else if (ret.score >= -6)
ret.literalscore = 'Users account is untrustworthy'
ret.literalscore = 'Members account is untrustworthy'
else
ret.literalscore = 'Users account is untrustworthy and to be handled with great caution'
ret.literalscore = 'Members account is untrustworthy and to be handled with great caution'
return ret;

View File

@@ -49,9 +49,9 @@ module.exports.setup = async function()
Discord.bot.on('voiceChannelSwitch', async (member, newchannel, oldchannel) => {});
Discord.bot.on('voiceStateUpdate', async (member, oldstate) => {});
Discord.bot.on('webhooksUpdate', async (data, channelid, guildid) => {});
Discord.bot.on('warn', async (message, id) => {});
Discord.bot.on('error', async (error, id) => {});
Discord.bot.on('disconnect', async (options) => {});
Discord.bot.on('warn', async (message, id) => {Warn(message, id)});
Discord.bot.on('error', async (error, id) => {Error(error, id)});
Discord.bot.on('disconnect', async (options) => {Disconnect(options)});
// settup log channel cache
const guilds = await Database.FetchAllGuilds();
@@ -138,17 +138,17 @@ async function GuildDelete(guild)
async function Warn(message, id)
{
Logger.warn('Discord: ' + message);
}
async function Error(error, id)
{
Logger.error('Discord: ' + error);
}
async function Disconnect(options)
{
Logger.error('Logori disconnected');
}
// Richembed defines
@@ -469,9 +469,7 @@ async function GuildMemberAdd(guild, member)
if (FallbackChannel == -1) return;
// AJDS warnings
let MemberWarnings = [];
let MemberScore;
let AJDSScore = await ADJSCore.ScoreMember(member);
// TODO: Get proper join position
let embed = new DiscordEmbed({
@@ -487,7 +485,36 @@ async function GuildMemberAdd(guild, member)
footer: { text: `ID: ${member.id}` }
});
embed.field('', `**Member:** ${member.mention}`);
let WarningString = '';
if (AJDSScore.warnings.length != 0)
{
WarningString += '***Warnings:***\n'
for (warning of AJDSScore.warnings)
{
switch (warning.severity)
{
default:
case 0:
WarningString += warning.warning + '\n';
break;
case 1:
WarningString += '⚠️' + warning.warning + '⚠️\n';
break;
case 2:
WarningString += '⚠️' + warning.warning.toUpperCase() + '⚠️\n';
break;
case 3:
WarningString += '🚨⚠️❗**' + warning.warning.toUpperCase() + '**❗⚠️🚨\n';
break;
}
}
}
embed.field('', `**Member:** ${member.mention}
**AJDS Results:**
*${AJDSScore.literalscore}*
${WarningString ? WarningString : ''}`);
// embed.field('', `${member.mention} is ${AddOrdinalSuffix(DiscordHelpers.GetMemberJoinPos(member.id, guild))} to join`);