Subversion Repositories navi

Rev

Blame | Last modification | View Log | RSS feed

#! /usr/bin/env python
#    This file is part of Tsim Apiak.
#
#    Tsim Apiak is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public Licence as published by
#    the Free Software Foundation, either version 3 of the Licence, or
#    (at your option) any later version.
#
#    In addition to this, you must also comply with clause 4 of the
#    Apache Licence, version 2.0, concerning attribution. Where there
#    is a contradiction between the two licences, the GPL
#    takes preference.
#
#    Tsim Apiak is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with Tsim Apiak.  If not, see <http://www.gnu.org/licenses/>.#

import os

import discord
import dotenv
from typing import Optional

from tsimapiak import translate

dotenv.load_dotenv(dotenv.find_dotenv())

intents = discord.Intents.default()
client = discord.Client(intents=intents)
tree = discord.app_commands.CommandTree(client)

@client.event
async def on_ready():
    print(f"{client.user} Connected to discord")
    await tree.sync()

@tree.command(
    name="translate",
    description="Translate (gloss) Na'vi to English"
)
async def on_translate(interaction: discord.Interaction, argument: str, language: Optional[str]):
    if not language:
        language = "en"
    translated = []
    for word in translate.translatesent(argument, language):
        translated.append(word["translated"])

    await interaction.response.send_message(argument + "\n" + " | ".join(translated))

def main():
    TOKEN = os.getenv('DISCORD_TOKEN')

    client.run(TOKEN)

if __name__ == "__main__":
    main()