59 lines
1.7 KiB
JavaScript

var Discord = require("discord.js");
var config = require("./config");
var client = module.exports = new Discord.Client({
partials: ['MESSAGE','REACTION'],
intents: 32767 //all
});
// small misc stuff here
client.on("guildMemberAdd", member => {
if (member.guild.id != config.guild) return;
member.roles.add(member.user.bot ? config.bot_role : config.human_role);
client.channels.resolve(config.default_channel)?.send(random([
`${member.user.username} join`,
`${member.user.username} joined`,
`${member.user.username} appear`,
`${member.user.username.toLowerCase()} here`
]));
});
client.on("guildMemberRemove", member => {
if (member.guild.id != config.guild) return;
client.channels.resolve(config.default_channel)?.send(random([
`${member.user.username} left`,
`${member.user.username} disappear`,
`${member.user.username.toLowerCase()} gone`
]));
});
client.on("messageCreate", message => {
message.channel.id == config.announcement_channel && message.startThread({name: "Comments"});
message.author.id == "732072478519722096" && message.content.endsWith("is bad letter m is much better") && message.delete();
});
{
let a = async m => {
if (m.guild?.id != config.guild) return;
if ((m.embeds.some(e => e.type == "video") || m.attachments.some(a => a.contentType?.startsWith('video'))) && !m.g) {
m.g = true;
m.react(config.mi_emoji);
}
if (m.attachments.some(a => a.contentType?.startsWith('audio')) && !m.d) {
m.d = true;
m.react(config.ki_emoji);
}
}
client.on("messageCreate", a);
client.on("messageUpdate", (r, q) => a(q));
}
client.login(config.token).then(async () => {
console.log("ready");
(await client.channels.fetch(config.bot_channel))?.send('a');
});