Added more restrictions.
Only work in guilds. Server need to be 1 month old. Bot need to be in server for 1 week.
This commit is contained in:
parent
780aef27c5
commit
633f0a6fec
1 changed files with 25 additions and 4 deletions
|
@ -28,6 +28,7 @@ export default {
|
||||||
category: 'fun',
|
category: 'fun',
|
||||||
ratelimit: 3,
|
ratelimit: 3,
|
||||||
cooldown: 86400,
|
cooldown: 86400,
|
||||||
|
guildOnly: true,
|
||||||
async execute(interaction, args, client) {
|
async execute(interaction, args, client) {
|
||||||
const content = args.content;
|
const content = args.content;
|
||||||
const attachment = args.image;
|
const attachment = args.image;
|
||||||
|
@ -39,13 +40,31 @@ export default {
|
||||||
await interaction.deferReply({ ephemeral: false });
|
await interaction.deferReply({ ephemeral: false });
|
||||||
let tweet = content;
|
let tweet = content;
|
||||||
const date = new Date();
|
const date = new Date();
|
||||||
|
|
||||||
|
// If guild is less than 1 month old don't accept the tweet
|
||||||
|
if (interaction.guild.createdAt > date.setMonth(date.getMonth() - 1)) {
|
||||||
|
await interaction.editReply({ content: 'The server need to be 1 month old to be able to use this command!' });
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reset the date for the next check
|
||||||
|
date.setTime(Date.now());
|
||||||
|
|
||||||
|
// If the bot has been in the guild for less than 1 week don't accept the tweet.
|
||||||
|
if (interaction.guild.createdAt > date.setDate(date.getDate() - 7)) {
|
||||||
|
await interaction.editReply({ content: 'I need to be in this server for a week to be able to use this command!' });
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reset the date for the next check
|
||||||
|
date.setTime(Date.now());
|
||||||
|
|
||||||
// If account is less than 6 months old don't accept the tweet ( alt prevention )
|
// If account is less than 6 months old don't accept the tweet ( alt prevention )
|
||||||
if (interaction.user.createdAt > date.setMonth(date.getMonth() - 6)) {
|
if (interaction.user.createdAt > date.setMonth(date.getMonth() - 6)) {
|
||||||
await interaction.editReply({ content: 'Your account is too new to be able to use this command!' });
|
await interaction.editReply({ content: 'Your account is too new to be able to use this command!' });
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reset the current date so it checks correctly for the 1 year requirement.
|
// Reset the date for the next check
|
||||||
date.setTime(Date.now());
|
date.setTime(Date.now());
|
||||||
|
|
||||||
// If account is less than 1 year old don't accept attachment
|
// If account is less than 1 year old don't accept attachment
|
||||||
|
@ -54,12 +73,14 @@ export default {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// remove zero width space
|
|
||||||
if (tweet) {
|
if (tweet) {
|
||||||
|
// remove zero width space
|
||||||
tweet = tweet.replace('', '');
|
tweet = tweet.replace('', '');
|
||||||
}
|
// This should only happen if someone tweets a zero width space
|
||||||
|
if (tweet.length === 0) {
|
||||||
|
return interaction.reply({ content: 'Uh oh! You are missing any content for me to tweet!', ephemeral: true });
|
||||||
|
}
|
||||||
|
|
||||||
if (tweet) {
|
|
||||||
wordToCensor.forEach(async word => {
|
wordToCensor.forEach(async word => {
|
||||||
if (tweet.toLowerCase().includes(word.toLowerCase())) {
|
if (tweet.toLowerCase().includes(word.toLowerCase())) {
|
||||||
const body = { type:'tweet', uid: interaction.user.id, reason: 'Automatic ban from banned word.' };
|
const body = { type:'tweet', uid: interaction.user.id, reason: 'Automatic ban from banned word.' };
|
||||||
|
|
Loading…
Reference in a new issue