translate message by add flag reaction.\n support languages: Arabic, Traditional Chinese, Dutch, English, French, German, Hindi, Indonesia, Japanese, Portuguese, Russian, Spanish, Ukrainian.
const lib = require('lib')({token: process.env.STDLIB_SECRET_TOKEN});
const trs = require('@iamtraction/google-translate');
const {guild_id, channel_id, member, emoji, message_id} = context.params.event;
let out,
msg = await lib.discord.channels['@0.3.2'].messages.retrieve({
message_id,
channel_id,
});
switch (emoji.name) {
case '๐ธ๐ฆ':
out = 'ar';
break;
case '๐ฉ๐ช':
out = 'de';
break;
case '๐บ๐ฒ':
case '๐บ๐ธ':
case '๐ฌ๐ง':
out = 'en';
break;
case '๐ช๐ธ':
out = 'es';
break;
case '๐ซ๐ท':
out = 'fr';
break;
case '๐ฎ๐ณ':
out = 'hi';
break;
case '๐ฎ๐ฉ':
out = 'id';
break;
case '๐ฏ๐ต':
out = 'ja';
break;
case '๐ณ๐ฑ':
out = 'nl';
break;
case '๐ต๐น':
out = 'pt';
break;
case '๐ท๐บ':
out = 'ru';
break;
case '๐บ๐ฆ':
out = 'uk';
break;
case '๐ญ๐ฐ':
case '๐จ๐ณ':
case '๐น๐ผ':
out = 'zh-tw';
break;
default:
return;
}
//this part stop translate any messsgd from the bot itelsef
let me = await lib.discord.users['@0.2.1'].me.list().then((r) => r.id);
if (msg.author.bot && msg.author.id === me) {
await lib.discord.channels['@0.3.2'].messages.create({
channel_id,
content: await trs(`sorry! i don't translste message sent by me.`, {
to: out,
}).then((res) => res.text),
});
return;
}
let author = await lib.discord.guilds['@0.2.4'].members.retrieve({
guild_id,
user_id: msg.author.id,
});
let icon_url =
member.user.avatar !== null
? 'https://cdn.discordapp.com/avatars/' +
member.user.id +
'/' +
member.user.avatar +
'.png'
: 'https://cdn.discordapp.com/embed/avatars/' +
(member.user.discriminator % 5) +
'.png';
await lib.discord.channels['@0.3.1'].messages.create({
channel_id,
content: '',
embeds: [
{
type: 'rich',
author: {
name: author.nick ?? author.user.username,
icon_url: author.user.avatar_url,
},
title: out,
description:
(await trs(msg.content, {to: out}).then((res) => res.text)) +
'\n** **\n',
color: 0x00ffff,
footer: {
text: (member.nick ?? member.user.username) + ' requested',
icon_url: icon_url,
},
},
],
});