<reponame>Novemberstuart/Aletheia
import json
import discord
from discord.ext import commands
import os
import bot_handlers

client = commands.Bot(command_prefix = ".")

# Undifferentiated mass of bot commands. This WILL be refactored, hopefully soon

@client.command()
async def find(ctx, word = None):

  with open ("liddellandscott.json", "r") as f:
    dictionary = json.load(f)

  if word == None:
    await ctx.send("Please enter a word to look up.")
  if str(word) not in dictionary:
    await ctx.send("We can't find that word in the dictionary. Please check the accents and try again.")
  else:
    searchword = dictionary[str(word)]
    output = searchword["d"]
    await ctx.send(f"{output}")

@client.event
async def on_ready():
  print("Ready")

@client.command()
async def info(ctx):

  await ctx.send("Hi! My name is Ἀλήθεια, your greek assistant! You can use me to look up words in Greek or  English, or to look up paradigms. For a list of paradigms available, type .paradigms.")

@client.command()
async def paradigms(ctx):

  await ctx.send("Look up paradigms for the following parts of speech by typing .nouns, .adjectives, .pronouns, .verbs, and .participles.")

@client.command()
async def nouns(ctx):

  await ctx.send("The following are the available noun categories:")
  await ctx.send("First Declension Nouns: .first_declension")
  await ctx.send("Second Declension Nouns: .second_declension")
  await ctx.send("Third Declension Nouns: .third_declension")

@client.command()
async def first_declension(ctx):

  await ctx.send("First Declension Nouns:")
  await ctx.send("Nominatives ending in η: .nom_end_eta")
  await ctx.send("Nominatives ending in α: .nom_end_alpha")
  await ctx.send("Nominatives ending in ε/ι/ρ + α: .nom_end_eir_alpha")
  await ctx.send("Nominatives ending in ης: .nom_end_eta_sigma")
  await ctx.send("Nominatives ending in ε/ι/ρ + ας: .nom_end_eir_alpha_sigma")
  await ctx.send("Nominatives ending in ᾶ: .nom_end_alpha_circumflex")
  await ctx.send("Nominatvies ending in ῆ: .nom_end_eta_circumflex")

@client.command()
async def nom_end_eta(ctx):

  with open ("paradigms/nouns/firstdeclension/nominatives_end_eta.json", "r") as f:
    data = json.load(f)

    singular = data["singular"]
    plural = data["plural"]

    singular_nominative = singular["nominative"]
    singular_genitive = singular["genitive"]
    singular_dative = singular["dative"]
    singular_accusative = singular["accusative"]
    singular_vocative = singular["vocative"]

    plural_nominative = plural["nominative"]
    plural_genitive = plural["genitive"]
    plural_dative = plural["dative"]
    plural_accusative = plural["accusative"]
    plural_vocative = plural["vocative"]

    em = discord.Embed(title = "Nominative in η", color = discord.Color.blue())
    em.add_field(name = "Singular", value = f"Nominative: {singular_nominative} \n Genitive: {singular_genitive} \n Dative: {singular_dative} \n Accusative: {singular_accusative} \n Vocative: {singular_vocative}")
    em.add_field(name = "Plural", value = f"Nominative: {plural_nominative} \n Genitive: {plural_genitive} \n Dative: {plural_dative} \n Accusative: {plural_accusative} \n Vocative: {plural_vocative}")
    await ctx.send(embed = em)

@client.command()
async def nom_end_eir_alpha(ctx):

  with open ("paradigms/nouns/firstdeclension/nominatives_end_eir_alpha.json", "r") as f:
    data = json.load(f)

    singular = data["singular"]
    plural = data["plural"]

    singular_nominative = singular["nominative"]
    singular_genitive = singular["genitive"]
    singular_dative = singular["dative"]
    singular_accusative = singular["accusative"]
    singular_vocative = singular["vocative"]

    plural_nominative = plural["nominative"]
    plural_genitive = plural["genitive"]
    plural_dative = plural["dative"]
    plural_accusative = plural["accusative"]
    plural_vocative = plural["vocative"]

    em = discord.Embed(title = "Nominative in ε/ι/ρ + α", color = discord.Color.blue())
    em.add_field(name = "Singular", value = f"Nominative: {singular_nominative} \n Genitive: {singular_genitive} \n Dative: {singular_dative} \n Accusative: {singular_accusative} \n Vocative: {singular_vocative}")
    em.add_field(name = "Plural", value = f"Nominative: {plural_nominative} \n Genitive: {plural_genitive} \n Dative: {plural_dative} \n Accusative: {plural_accusative} \n Vocative: {plural_vocative}")
    await ctx.send(embed = em)

@client.command()
async def nom_end_eta_sigma(ctx):

  with open ("paradigms/nouns/firstdeclension/nominatives_end_eta_sigma.json", "r") as f:
    data = json.load(f)

    singular = data["singular"]
    plural = data["plural"]

    singular_nominative = singular["nominative"]
    singular_genitive = singular["genitive"]
    singular_dative = singular["dative"]
    singular_accusative = singular["accusative"]
    singular_vocative = singular["vocative"]

    plural_nominative = plural["nominative"]
    plural_genitive = plural["genitive"]
    plural_dative = plural["dative"]
    plural_accusative = plural["accusative"]
    plural_vocative = plural["vocative"]

    em = discord.Embed(title = "Nominative in ης", color = discord.Color.blue())
    em.add_field(name = "Singular", value = f"Nominative: {singular_nominative} \n Genitive: {singular_genitive} \n Dative: {singular_dative} \n Accusative: {singular_accusative} \n Vocative: {singular_vocative}")
    em.add_field(name = "Plural", value = f"Nominative: {plural_nominative} \n Genitive: {plural_genitive} \n Dative: {plural_dative} \n Accusative: {plural_accusative} \n Vocative: {plural_vocative}")
    await ctx.send(embed = em)

@client.command()
async def nom_end_alpha(ctx):

  with open ("paradigms/nouns/firstdeclension/nominatives_end_alpha.json", "r") as f:
    data = json.load(f)

    singular = data["singular"]
    plural = data["plural"]

    singular_nominative = singular["nominative"]
    singular_genitive = singular["genitive"]
    singular_dative = singular["dative"]
    singular_accusative = singular["accusative"]
    singular_vocative = singular["vocative"]

    plural_nominative = plural["nominative"]
    plural_genitive = plural["genitive"]
    plural_dative = plural["dative"]
    plural_accusative = plural["accusative"]
    plural_vocative = plural["vocative"]

    em = discord.Embed(title = "Nominative in α", color = discord.Color.blue())
    em.add_field(name = "Singular", value = f"Nominative: {singular_nominative} \n Genitive: {singular_genitive} \n Dative: {singular_dative} \n Accusative: {singular_accusative} \n Vocative: {singular_vocative}")
    em.add_field(name = "Plural", value = f"Nominative: {plural_nominative} \n Genitive: {plural_genitive} \n Dative: {plural_dative} \n Accusative: {plural_accusative} \n Vocative: {plural_vocative}")
    await ctx.send(embed = em)

@client.command()
async def nom_end_eir_alpha_sigma(ctx):

  with open ("paradigms/nouns/firstdeclension/nominatives_end_eir_alpha_sigma.json", "r") as f:
    data = json.load(f)

    singular = data["singular"]
    plural = data["plural"]

    singular_nominative = singular["nominative"]
    singular_genitive = singular["genitive"]
    singular_dative = singular["dative"]
    singular_accusative = singular["accusative"]
    singular_vocative = singular["vocative"]

    plural_nominative = plural["nominative"]
    plural_genitive = plural["genitive"]
    plural_dative = plural["dative"]
    plural_accusative = plural["accusative"]
    plural_vocative = plural["vocative"]

    em = discord.Embed(title = "Nominative in ε/ι/ρ + ᾶς", color = discord.Color.blue())
    em.add_field(name = "Singular", value = f"Nominative: {singular_nominative} \n Genitive: {singular_genitive} \n Dative: {singular_dative} \n Accusative: {singular_accusative} \n Vocative: {singular_vocative}")
    em.add_field(name = "Plural", value = f"Nominative: {plural_nominative} \n Genitive: {plural_genitive} \n Dative: {plural_dative} \n Accusative: {plural_accusative} \n Vocative: {plural_vocative}")
    await ctx.send(embed = em)

@client.command()
async def nom_end_alpha_circumflex(ctx):

  with open ("paradigms/nouns/firstdeclension/nominatives_end_alpha_circumflex.json", "r") as f:
    data = json.load(f)

    singular = data["singular"]
    plural = data["plural"]

    singular_nominative = singular["nominative"]
    singular_genitive = singular["genitive"]
    singular_dative = singular["dative"]
    singular_accusative = singular["accusative"]
    singular_vocative = singular["vocative"]

    plural_nominative = plural["nominative"]
    plural_genitive = plural["genitive"]
    plural_dative = plural["dative"]
    plural_accusative = plural["accusative"]
    plural_vocative = plural["vocative"]

    em = discord.Embed(title = "Nominative in ᾶ", color = discord.Color.blue())
    em.add_field(name = "Singular", value = f"Nominative: {singular_nominative} \n Genitive: {singular_genitive} \n Dative: {singular_dative} \n Accusative: {singular_accusative} \n Vocative: {singular_vocative}")
    em.add_field(name = "Plural", value = f"Nominative: {plural_nominative} \n Genitive: {plural_genitive} \n Dative: {plural_dative} \n Accusative: {plural_accusative} \n Vocative: {plural_vocative}")
    await ctx.send(embed = em)

@client.command()
async def nom_end_eta_circumflex(ctx):

  with open ("paradigms/nouns/firstdeclension/nominatives_end_eta_circumflex.json", "r") as f:
    data = json.load(f)

    singular = data["singular"]
    plural = data["plural"]

    singular_nominative = singular["nominative"]
    singular_genitive = singular["genitive"]
    singular_dative = singular["dative"]
    singular_accusative = singular["accusative"]
    singular_vocative = singular["vocative"]

    plural_nominative = plural["nominative"]
    plural_genitive = plural["genitive"]
    plural_dative = plural["dative"]
    plural_accusative = plural["accusative"]
    plural_vocative = plural["vocative"]

    em = discord.Embed(title = "Nominative in ῆ", color = discord.Color.blue())
    em.add_field(name = "Singular", value = f"Nominative: {singular_nominative} \n Genitive: {singular_genitive} \n Dative: {singular_dative} \n Accusative: {singular_accusative} \n Vocative: {singular_vocative}")
    em.add_field(name = "Plural", value = f"Nominative: {plural_nominative} \n Genitive: {plural_genitive} \n Dative: {plural_dative} \n Accusative: {plural_accusative} \n Vocative: {plural_vocative}")
    await ctx.send(embed = em)


@client.command()
async def second_declension(ctx):

  await ctx.send("Second Declension Nouns:")
  await ctx.send("Nominatives ending in ος: .nom_end_omikron_sigma")
  await ctx.send("Nominatives ending in ον: .nom_end_omikron_nu")
  await ctx.send("Nominatives stem ο: .nom_stem_omikron")
  await ctx.send("Nominatives stem ε: .nom_stem_epsilon")
  await ctx.send("Nominatives of the irregular νεώς type: .nom_irregular_second_dec")

@client.command()
async def third_declension(ctx):

  await ctx.send("Third Declension Nouns:")
  await ctx.send("Nominatives with a Labial Stem (π, β, ψ: .nom_stem_labial")
  await ctx.send("Nominatives with a Palatal Stem (κ, γ, χ: .nom_stem_palatal")
  await ctx.send("Nominatives with a Dental Stem(δ) Feminine: .nom_stem_dental_delta")
  await ctx.send("Nominatives with a Dental Stem(τ) Masculine: .nom_stem_dental_tau_masc")
  await ctx.send("Nominatives with a Dental Stem(θ) Masculine: .nom_stem_dental_theta")
  await ctx.send("Nominatives with a Dental Stem(τ) Neuter: .nom_stem_dental_tau_neuter")
  await ctx.send("Nominatives with a Nasal Stem(ν): .nom_stem_nasal")
  await ctx.send("Nominatives with a Liquid Stem (λ, ρ): .nom_stem_liquid")
  await ctx.send("Nominatives with a ερ Stem: .nom_stem_epsilon_rho")
  await ctx.send("Nominatives with a ρ Stem: .nom_stem_rho")
  await ctx.send("Nominatives with a σ Stem Masculine or Feminine: .nom_stem_sigma_masc_fem")
  await ctx.send("Nominatives with a σ Stem Proper Names: .nom_stem_sigma_name")
  await ctx.send("Nominatives with a σ Stem Neuter: .nom_stem_sigma_neuter")
  await ctx.send("Nominatives with a ι Stem: .nom_stem_iota")
  await ctx.send("Nominatives with a υ Stem: .nom_stem_upsilon")
  await ctx.send("Nominatives with a ευ Stem: .nom_stem_epsilon_upsilon")
  await ctx.send("Nominatives with a αυ Stem: .nom_stem_alpha_upsilon")
  await ctx.send("Nominatives with a ου Stem: .nom_stem_omikron_upsilon")

@client.command()
async def adjectives(ctx):

  await ctx.send("The following are the available adjective categories:")
  await ctx.send("Regular Adjectives: .adjective_list")
  await ctx.send("Comparative Adjectives: .comparison_list")
  await ctx.send("Numeral Adjectives: .numeral_list")

@client.command()
async def adjective_list(ctx):

  await ctx.send("Adjective Paradigms:")
  await ctx.send("Please note: add either _singular or _plural to the end of the command to get the table for singular or plural. Otherwise, it won't work!")
  await ctx.send("Feminine Nominative in η: .adj_fem_nom_eta + _singular / _plural")
  await ctx.send("Feminine Nominative in ᾶ: .adj_fem_nom_alpha_circumflex + _singular / _plural")
  await ctx.send("Contracted Adjective: Stem ending in ε or ο: .adj_contracted_omikron_epsilon + _singular / _plural")
  await ctx.send("Second Declension Adjectives from ἂδικ-: .adj_second_dec_adik + _singular / _plural")
  await ctx.send("Second Declension Adjectives from ἳλεα-: .adj_second_dec_ilea + _singular / _plural")
  await ctx.send("Stem in εσ or ησ: .adj_stem_epsilon/eta_sigma + _singular / _plural")
  await ctx.send("Constant Stem, like εὐελπιδ-: .adj_constant_stem + _singular / _plural")
  await ctx.send("Stem in ον: .adj_stem_omikron_nu + _singular / _plural")
  await ctx.send("Stem in ν: .adj_stem_nu + _singular / _plural")
  await ctx.send("Stem in ντ: .adj_stem_nu_tau + _singular /_plural")
  await ctx.send("Stem in υ/ε: .adj_stem_upsilon_or_epsilon + _singular / _plural")
  await ctx.send("Irregular πολύς: .adj_irr_polus + _singular / _plural")
  await ctx.send("Irregular μέγας: .adj_irr_megas + _singular / _plural")

@client.command()
async def comparison_list(ctx):

  await ctx.send("Comparative Adjective Paradigms:")
  await ctx.send("Please note: add either _singular or _plural to the end of the command to get the table for singular or plural. Otherwise, it won't work!")
  await ctx.send("Comparative Stem in τερ: .comp_tau_epsilon_rho + _singular / _plural")
  await ctx.send("Comparative Stem in ιων, ῖον: .comp_iov + _singular / _plural")

@client.command()
async def numeral_list(ctx):

  await ctx.send("Numeral Adjective Paradigms")
  await ctx.send("One: .adj_one")
  await ctx.send("Dual: .adj_dual")
  await ctx.send("Three: .adj_three")
  await ctx.send("Four: .adj_four")

@client.command()
async def pronouns(ctx):

  await ctx.send("The following are the available pronoun categories:")
  await ctx.send("Definite Article: .pro_definite_article")
  await ctx.send("Personal Pronouns: .pro_personal")
  await ctx.send("Intensive Pronouns: .pro_intensive")
  await ctx.send("Reflexive Pronouns: .pro_reflexive")
  await ctx.send("Demonstrative Pronouns: .pro_demonstrative")
  await ctx.send("Reciprocal Pronouns: .pro_reciprocal")
  await ctx.send("Interrogative Pronouns: .pro_interrogative")
  await ctx.send("Indefinite Pronouns: .pro_indefinite")
  await ctx.send("Relative Pronouns: .pro_relative")
  await ctx.send("Negative Pronouns: .pro_negative")

@client.command()
async def pro_definite_article(ctx):

  await ctx.send("Definite Articles:")
  await ctx.send("Singular: .definite_article_singular")
  await ctx.send("Plural: .definite_article_plural")

@client.command()
async def pro_personal(ctx):

  await ctx.send("Personal Pronouns:")
  await ctx.send("First Person: .pro_personal_first")
  await ctx.send("Second Person: .pro_personal_second")

@client.command()
async def pro_intensive(ctx):

  await ctx.send("Intensive Pronouns:")
  await ctx.send("Singular: .pro_intensive_singular")
  await ctx.send("Plural: .pro_intensive_plural")

@client.command()
async def pro_reflexive(ctx):

  await ctx.send("Reflexive Pronouns:")
  await ctx.send("First Person: .pro_reflexive_first + _singular / _plural")
  await ctx.send("Second Person: .pro_reflexive_second + _singular / _plural")
  await ctx.send("Third Person (ἑαυτοῦ): .pro_reflexive_third + _singular / _plural")
  await ctx.send("Alternaive Third Person (αὑτοῦ): .pro_reflexive_third_alt + _singular / _plural")

@client.command()
async def pro_demonstrative(ctx):

  await ctx.send("Demonstrative Pronouns:")
  await ctx.send("οὗτος, αὗτη, τοῦτο: .pro_demonstrative_one + _singular / _plural")
  await ctx.send("ἑκεῖνος, -η or -ο: .pro_demonstrative_two + _singular / _plural")
  await ctx.send("῟οδε, ἧδε, τόδε: .pro_demonstrative_three + _singular / _plural")

@client.command()
async def pro_reciprocal(ctx):

  with open ("paradigms/pronouns/reciprocal.json", "r") as f:
    reciprocal_pronouns = json.load(f)

    masculine = reciprocal_pronouns["masculine"]
    feminine = reciprocal_pronouns["feminine"]
    neuter = reciprocal_pronouns["neuter"]

    masculine_genitive = masculine["genitive"]
    masculine_dative = masculine["dative"]
    masculine_accusative = masculine["accusative"]

    feminine_genitive = feminine["genitive"]
    feminine_dative = feminine["dative"]
    feminine_accusative = feminine["accusative"]

    neuter_genitive = neuter["genitive"]
    neuter_dative = neuter["dative"]
    neuter_accusative = neuter["accusative"]

    em = discord.Embed(title = "Reciprocal Pronouns", color = discord.Color.blue())
    em.add_field(name = "Masculine", value = f"Genitive: {masculine_genitive} \n Dative: {masculine_dative} \n Accusative: {masculine_accusative}")
    em.add_field(name = "Feminine", value = f"Genitive: {feminine_genitive} \n Dative: {feminine_dative} \n Accusative: {feminine_accusative}")
    em.add_field(name = "Neuter", value = f"Genitive: {neuter_genitive} \n Dative: {neuter_dative} \n Accusative: {neuter_accusative}")
    await ctx.send(embed = em)

@client.command()
async def pro_ingerogative(ctx):

  await ctx.send("Interrogative Pronouns:")
  await ctx.send("Singular: .pro_interrogative_singular")
  await ctx.send("Plural: .pro_interrogative_plural")
  await ctx.send("Indirect Singular: .pro_iterrogative_indirect_singular")
  await ctx.send("Indirect Plural: .pro_interrogative_indirect_plural")


@client.command()
async def pro_indefinite(ctx):

  await ctx.send("Indefinite Pronouns:")
  await ctx.send("Singular: .pro_indefinite_singular")
  await ctx.send("Plural: .pro_indefinite_plural")


@client.command()
async def pro_relative(ctx):

  await ctx.send("Relative Pronouns:")
  await ctx.send("Singular Relative Pronouns: .pro_relative_singular")
  await ctx.send("Plural Relative Pronouns: .pro_relative_plural")
  await ctx.send("Indefinite Singular Relative Pronouns: .pro_relative_indefinite_singular")
  await ctx.send("Indefinite Plural Relative Pronouns: .pro_relative_indefinite_plural")

@client.command()
async def pro_negative(ctx):

  await ctx.send("Negative Pronouns:")
  await ctx.send("Οὐδε: .pro_negative_oude")
  await ctx.send("Μηδε: .pro_negative_mede")


@client.command()
async def verbs(ctx):

  await ctx.send("The following are the available verb categories:")
  await ctx.send("Thematic Verbs: .verb_thematic")
  await ctx.send("Contract Verbs: .verb_contract")
  await ctx.send("Non-Thematic Verbs: .verb_non_thematic")
  await ctx.send("Irregular Verbs: .verb_irregular")

@client.command()
async def verb_thematic(ctx):

  await ctx.send("Thematic Verbs:")
  await ctx.send("Progressive Thematic Verbs: .verb_thematic_progressive")
  await ctx.send("Future Thematic Verbs: .verb_thematic_future")
  await ctx.send("First Aorist Thematic Verbs: .verb_thematic_first_aorist")
  await ctx.send("Second Aorist Thematic Verbs: .verb_thematic_second_aorist")
  await ctx.send("Aorist Passive Thematic Verbs: .verb_thematic_aorist_passive")
  await ctx.send("Perfect Thematic Verbs: .verb_thematic_perfect")

@client.command()
async def verb_contract(ctx):

  await ctx.send("Contract Verbs:")
  await ctx.send("Progressive Contract Verbs: .verb_contract_progressive")
  await ctx.send("Future Contract Verbs: .verb_contract_future")
  await ctx.send("Aorist Contract Verbs: .verb_contract_aorist")
  await ctx.send("Perfect Contract Verbs: .verb_contract_perfect")


@client.command()
async def verb_non_thematic(ctx):

  await ctx.send("Non-Thematic (or -μι Stem) Verbs:")
  await ctx.send("Progressive Non-Thematic Verbs: .verb_non_thematic_progressive")
  await ctx.send("Future Non-Thematic Verbs: .verb_non_thematic_future")
  await ctx.send("Aorist Non-Thematic Verbs: .verb_non_thematic_aorist")
  await ctx.send("Perfect Non-Thematic Verbs: .verb_non_thematic_perfect")

@client.command()
async def verb_irregular(ctx):

  await ctx.send("Irregular Verbs:")
  await ctx.send("Irregular forms of γιγνώσκω: .verb_irregular_gignosko")
  await ctx.send("Irregular forms of φύω: .verb_irregular_phyo")
  await ctx.send("Irregular forms of οἲδα: .verb_irregular_oida")
  await ctx.send("Irregular forms of φημί: .verb_irregular_phemi")
  await ctx.send("Irregular forms of δύναμαι: .verb_irregular_dunamai")
  await ctx.send("Irregular forms of εἲμι: .verb_irregular_eimi(go)")
  await ctx.send("Irregular forms of εἰμι: .verb_irregular_eimi(be)")
  await ctx.send("Irregular forms of δεῖ and χρή: .verb_irregular_dei_and_chre")

@client.command()
async def participles(ctx):

  await ctx.send("The following are the available participle categories:")
  await ctx.send("Thematic Verb Participles: .participles_thematic_verbs")
  await ctx.send("Contract Verb Participles: .participles_contract_verbs")
  await ctx.send("Non-Thematic Verb Participles: .participles_non_thematic_verbs")
  await ctx.send("Irregular Verb Participles: .participles_irregular_verbs")

@client.command()
async def participles_thematic_verbs(ctx):

  await ctx.send("Thematic Verb Participles:")
  await ctx.send("Progressive Thematic Verb Participles: .particples_thematic_verb_prog")
  await ctx.send("Future Thematic Verb Participles: .participles_thematic_verb_future")
  await ctx.send("Aorist Thematic Verb Participles: .participles_thematic_verb_aorist")
  await ctx.send("Perfect Thematic Verb Participles: .participles_thematic_verb_perfect")

@client.command()
async def participles_contract_verbs(ctx):

  await ctx.send("Contract Verb Participles:")
  await ctx.send("-α Contracts: .particples_contract_verbs_alpha")
  await ctx.send("-ε Contracts: .participles_contract_verbs_epsilon")
  await ctx.send("-ο Contracts: .participles_contract_verbs_omikron")

@client.command()
async def participles_non_thematic_verbs(ctx):

  await ctx.send("Non-Thematic (-μι Stem) Verb Participles:")
  await ctx.send("δίδωμι Participles: .participles_non_thematic_verbs_didomi")
  await ctx.send("ἳστημι Participles: .participles_non_thematic_verbs_istemi")
  await ctx.send("τιθημι Participles: .participles_non_thematic_verbs_tithemi")
  await ctx.send("δείκνυμι Participles: .participles_non_thematic_verbs_deiknumi")

@client.command()
async def participle_irregular_verbs(ctx):

  await ctx.send("Irregular Verb Participles:")
  await ctx.send("γιγνώσκω Participles: .participles_irregular_verbs_gignosko")
  await ctx.send("φύω Participles: .participles_irregular_verbs_fuo")
  await ctx.send("οἲδα Participles: .participles_irregular_verbs_oida")
  await ctx.send("φημί Participles: .participles_irregular_verbs_phemi")
  await ctx.send("δύναμαι Participles: .participles_irregular_verbs_dunamai")
  await ctx.send("ἒιμι Participles: .participles_irregular_verbs_eimi_go")
  await ctx.send("εἰmi Participles: .participles_irregular_verbs_eimi_be")

client.run(os.getenv('TOKEN'))
