Код:
	      return state.message3 unless state.message3.empty?
    end
    return ""
  end
end
#Склонение имён по падежам.
#Исправление от 09.03.24
def pad(actor, p)
  if (actor.length <= 2)
    return actor
  end
  if p == "V"
    local = {
    # 2 буквы. Последняя А
    # Последняя А
    "ба" => "у", "ва" => "у", "га" => "у", "да" => "у", "жа" => "у", 
    "за" => "у", "ка" => "у", "ла" => "у", "ма" => "у", "на" => "у",
    "па" => "у", "ра" => "у", "са" => "у", "та" => "у", "фа" => "у",
    "ха" => "у", "ца" => "у", "ча" => "у", "ша" => "у", "ща" => "у",
    # ёк, ок
    "ёк" => "ька", "ок" => "ка",
    # 1 буква
    "б" => "а", "в" => "а", "г" => "а", "д" => "а", "ж" => "а", "з" => "а",
    "й" => "я", "к" => "а", "л" => "а", "м" => "а", "н" => "а", "п" => "а",
    "р" => "а", "с" => "а", "т" => "а", "ф" => "а", "х" => "а", "ц" => "а",
    "ч" => "а", "ш" => "а", "щ" => "а", "я" => "ю"}
  elsif p == "D"
    local = {
    # 2 буквы. Последняя А
    # Последняя А
    "ба" => "е", "ва" => "е", "га" => "е", "да" => "е", "жа" => "е", 
    "за" => "е", "ка" => "е", "ла" => "е", "ма" => "е", "на" => "е",
    "па" => "е", "ра" => "е", "са" => "е", "та" => "е", "фа" => "е",
    "ха" => "е", "ца" => "е", "ча" => "е", "ша" => "е", "ща" => "е",
    # ёк, ок
    "ёк" => "ьку", "ок" => "ку",
    # 1 буква
    "б" => "у", "в" => "у", "г" => "у", "д" => "у", "ж" => "у", "з" => "у",
    "й" => "ю", "к" => "у", "л" => "у", "м" => "у", "н" => "у", "п" => "у",
    "р" => "у", "с" => "у", "т" => "у", "ф" => "у", "х" => "у", "ц" => "у",
    "ч" => "у", "ш" => "у", "щ" => "у", "я" => "е"}
  elsif p == "R"
    local = {
    # 2 буквы. Последняя А
    # Последняя А
    "ба" => "ы", "ва" => "ы", "га" => "и", "да" => "ы", "жа" => "и", 
    "за" => "ы", "ка" => "и", "ла" => "ы", "ма" => "ы", "на" => "ы",
    "па" => "ы", "ра" => "ы", "са" => "ы", "та" => "ы", "фа" => "ы",
    "ха" => "и", "ца" => "ы", "ча" => "и", "ша" => "и", "ща" => "и",
    # ёк, ок
    "ёк" => "ька", "ок" => "ка",
    # 1 буква
    "б" => "а", "в" => "а", "г" => "а", "д" => "а", "ж" => "а", "з" => "а",
    "й" => "я", "к" => "а", "л" => "а", "м" => "а", "н" => "а", "п" => "а", 
    "р" => "а", "с" => "а", "т" => "а", "ф" => "а", "х" => "а", "ц" => "а",
    "ч" => "а", "ш" => "а", "щ" => "а", "я" => "и"}
  elsif p == "T"
    local = {
    # 2 буквы. Последняя А
    # Последняя А
    "ба" => "ой", "ва" => "ой", "га" => "ой", "да" => "ой", "жа" => "ей", 
    "за" => "ой", "ка" => "ой", "ла" => "ой", "ма" => "ой", "на" => "ой",
    "па" => "ой", "ра" => "ой", "са" => "ой", "та" => "ой", "фа" => "ой",
    "ха" => "ой", "ца" => "ей", "ча" => "ей", "ша" => "ей", "ща" => "ей",
    # ёк, ок
    "ёк" => "ьком", "ок" => "ком",
    # 1 буква
    "б" => "ом", "в" => "ом", "г" => "ом", "д" => "ом", "ж" => "ом", "з" => "ом",
    "й" => "ем", "к" => "ом", "л" => "ом", "м" => "ом", "н" => "ом", "п" => "ом",
    "р" => "ом", "с" => "ом", "т" => "ом", "ф" => "ом", "х" => "ом", "ц" => "ем",
    "ч" => "ом", "ш" => "ом", "щ" => "ом", "я" => "ей"}
  elsif p == "P"
    local = {
    # 2 буквы. Последняя А
    # Последняя А
    "ба" => "е", "ва" => "е", "га" => "е", "да" => "е", "жа" => "е", 
    "за" => "е", "ка" => "е", "ла" => "е", "ма" => "е", "на" => "е",
    "па" => "е", "ра" => "е", "са" => "е", "та" => "е", "фа" => "е",
    "ха" => "е", "ца" => "е", "ча" => "е", "ша" => "е", "ща" => "е",
    # ёк, ок
    "ёк" => "ьке", "ок" => "ке",
    # 1 буква
    "б" => "е", "в" => "е", "г" => "е", "д" => "е", "ж" => "е", "з" => "е",
    "й" => "е", "к" => "е", "л" => "е", "м" => "е", "н" => "е", "п" => "е",
    "р" => "е", "с" => "е", "т" => "е", "ф" => "е", "х" => "е", "ц" => "е",
    "ч" => "е", "ш" => "е", "щ" => "е", "я" => "е"}
  else
    return actor
  end
  
  if ((local.include?(actor.slice(actor.length-2,2)) == false) &&
    (local.include?(actor.slice(actor.length-1,1)) == false))
    return actor
  end
  if (actor.slice(actor.length-2,2) == "ок" ||
    actor.slice(actor.length-2,2) == "ёк" )
    return actor.slice(0,actor.length-2) + local[actor.slice(actor.length-2,2)]
  elsif (actor.slice(actor.length-1,1) == "й" ||
    actor.slice(actor.length-1,1) == "я")
    return actor.slice(0,actor.length-1) + local[actor.slice(actor.length-1,1)]
  elsif (actor.slice(actor.length-1,1) != "а" &&
    actor.slice(actor.length-1,1) != "о" &&
    actor.slice(actor.length-1,1) != "ь" &&
    actor.slice(actor.length-1,1) != "ъ" &&
    actor.slice(actor.length-1,1) != "э" &&
    actor.slice(actor.length-1,1) != "ю" &&
    actor.slice(actor.length-1,1) != "ё")
    return actor + local[actor.slice(actor.length-1,1)]
  else
    return actor.slice(0,actor.length-1) + local[actor.slice(actor.length-2,2)]
  end
end
 
Социальные закладки