React to message with animated and emoji from diffrent servers without Nitro! Command Setup - https://i.imgur.com/1ZL3Oih.png What it does - https://imgur.com/a/XOUJBMk
const lib = require('lib')({token: process.env.STDLIB_SECRET_TOKEN});
await lib.discord.interactions['@1.0.1'].responses.ephemeral.create({
token: `${context.params.event.token}`,
response_type: 'DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE',
});
if (!context.params.event.member.permission_names.includes('ADD_REACTIONS')) {
await lib.discord.interactions['@1.0.1'].responses.update({
token: `${context.params.event.token}`,
content: `Uh! You dont have \`ADD_REACTION\` Permission!`,
});
return;
}
try {
let emoji_name = context.params.event.data.options[0].value;
let guilds = await lib.discord.guilds['@0.1.0'].list({
limit: 200,
});
let all_emojis = await lib.discord.guilds['@0.1.0'].emojis.list({
guild_id: guilds[0].id,
});
for (let i = 1; i < guilds.length; i++) {
let guild_emojis = await lib.discord.guilds['@0.1.0'].emojis.list({
guild_id: guilds[i].id,
});
all_emojis = all_emojis.concat(guild_emojis);
}
let emoji = all_emojis.filter((emoji) => emoji.name === emoji_name);
let id = emoji[0].id;
let message_link = context.params.event.data.options[1].value;
let info = message_link.split('/');
await lib.discord.channels['@0.3.2'].messages.reactions.create({
emoji: `:${emoji_name}:${emoji[0].id}`,
message_id: `${info[6]}`,
channel_id: `${info[5]}`,
});
await lib.discord.interactions['@1.0.1'].responses.update({
token: `${context.params.event.token}`,
content: ` Successfully reacted with <${emoji[0].animated ? 'a' : ''}:${ emoji[0].name }:${ emoji[0].id }>. \nMake sure to react yourself, I will remove reaction in 5 seconds!`,
});
let meBot = await lib.discord.users['@0.2.1'].me.list();
async function sleep(ms) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve();
}, ms || 0);
});
}
await sleep(5000);
await lib.discord.channels['@0.3.2'].messages.reactions.users.destroy({
emoji: `:${emoji_name}:${emoji[0].id}`,
message_id: `${info[6]}`,
channel_id: `${info[5]}`,
user_id: `${meBot.id}`,
});
await lib.discord.interactions['@1.0.1'].responses.update({
token: `${context.params.event.token}`,
content: `Removed Reaction!`,
});
} catch (e) {
console.log(e);
await lib.discord.interactions['@1.0.1'].responses.update({
token: `${context.params.event.token}`,
content: `There was a error in your input. Emoji name are case sensitive and you don't need semicolon (:). Also make sure you have provided a correct message url!`,
});
}