74 lines
2.4 KiB
JavaScript
74 lines
2.4 KiB
JavaScript
const Discord = require("discord-user-bots");
|
|
const fs = require("fs/promises");
|
|
const exists = require("fs.promises.exists");
|
|
const { channels, emoji } = require("./config.json");
|
|
const pino = require("pino");
|
|
const logger = pino({
|
|
transport: {
|
|
target: "pino-pretty",
|
|
options: {
|
|
colorize: true,
|
|
translateTime: "HH:MM:ss dd.mm.yyyy",
|
|
},
|
|
},
|
|
});
|
|
(async () => {
|
|
const tokensFile = await fs.readFile("TOKENS.txt", "utf-8");
|
|
logger.warn("You should remove this after debug");
|
|
// logger.info(tokensFile);
|
|
const tokens = tokensFile.split("\n").filter(token => token.trim() !== "");
|
|
const clients = tokens.map((token) => {
|
|
logger.info(`Init ${token} client`)
|
|
return new Discord.Client(token)
|
|
});
|
|
// let users = JSON.parse(await fs.readFile("./users.json", "utf-8"));
|
|
clients.forEach((client) => {
|
|
client.on.ready = async () => {
|
|
// console.log(client);
|
|
// let user = users.find((user) => user.token === client.user.token);
|
|
// if (!user) {
|
|
// user = {
|
|
// username: generateUsername("", 0),
|
|
// avatar: `data:image/png;base64,${(
|
|
// await fs.readFile(`./avatars/seed0${client.user.id.slice(-3)}.png`)
|
|
// ).toString("base64")}`,
|
|
// token: client.user.token,
|
|
// };
|
|
// users.push(user);
|
|
// const response = await client.fetch_request("users/@me", {
|
|
// method: "PATCH",
|
|
// body: JSON.stringify({
|
|
// username: user.username,
|
|
// avatar: user.avatar,
|
|
// }),
|
|
// parse: true,
|
|
// });
|
|
// console.log(
|
|
// JSON.stringify({
|
|
// username: user.username,
|
|
// avatar: user.avatar.slice(0, 50),
|
|
// })
|
|
// );
|
|
// console.log(util.inspect(response, false, null, true));
|
|
// }
|
|
logger.info(
|
|
`${client.user.username}#${client.user.discriminator} (${client.user.id}) are ready to work!`
|
|
);
|
|
};
|
|
});
|
|
clients.forEach(async (client) => {
|
|
// console.log(client);
|
|
client.on.message_create = async (message) => {
|
|
if (channels.includes(message.channel_id)) {
|
|
logger.info(
|
|
`${client.user.username}#${client.user.discriminator} spotted message on ${message.channel_id}`
|
|
);
|
|
await client.add_reaction(message.id, message.channel_id, emoji);
|
|
logger.info(
|
|
`${client.user.username}#${client.user.discriminator} added reaction`
|
|
);
|
|
}
|
|
};
|
|
});
|
|
})();
|