some fixes

This commit is contained in:
2026-02-02 16:36:35 +03:00
parent 2a71754c6f
commit f8f3a6c15f
4 changed files with 40 additions and 19 deletions

View File

@@ -8,8 +8,9 @@ import (
type Group struct {
ID int
Name string
IsAdmin bool `db:"is_admin"`
IsVip bool `db:"is_vip"`
IsPremium bool `db:"is_premium"`
IsAdmin bool `db:"is_admin"`
IsTester bool `db:"is_tester"`
Multiplier decimal.Decimal
Sale decimal.Decimal

View File

@@ -125,7 +125,20 @@ func rpInfo(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
func rpWaifuList(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
waifuRep := psql.NewWaifuRepository(db)
waifus, err := waifuRep.GetByUserId(ctx.FromID)
waifus := make([]*psql.Waifu, 0)
var err error
userRep := psql.NewUserRepository(db)
user, err := userRep.GetOrCreate(ctx.FromID, ctx.From.FirstName)
if err != nil {
ctx.Error(err)
return
}
if user.Group.IsPremium {
waifus, err = waifuRep.GetAll()
} else {
waifus, err = waifuRep.GetByUserId(ctx.FromID)
}
if err != nil {
ctx.Error(err)
return
@@ -665,14 +678,15 @@ func regenerateResponse(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext)
return
}
// 0(system), 1, 2, ..., N-2(user, count-3), N-1(agent, count-2), N(system, count-1)
answerToDelete := history[count-2]
err = mdb.DeleteChatEntry(db, answerToDelete)
if err != nil {
ctx.Error(err)
if len(messages) == count {
ctx.Bot.Logger().Errorln("len(messages) == count. ")
return
}
// 0(system), 1, 2, ..., N-2(user, count-3), N-1(agent, count-2), N(system, count-1)
answerToDelete := history[count-2]
userReq := messages[count-2]
psqlRep := psql.NewRPRepository(db)
rpUser, err := psqlRep.GetOrCreateUser(int64(ctx.FromID))
if err != nil {
@@ -680,7 +694,6 @@ func regenerateResponse(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext)
return
}
userReq := messages[count-2]
api := ai.NewOpenAIAPI(ai.GPTBaseUrl, "", rpUser.Model.Key)
defer api.Close()
@@ -693,6 +706,12 @@ func regenerateResponse(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext)
return
}
err = mdb.DeleteChatEntry(db, answerToDelete)
if err != nil {
ctx.Error(err)
return
}
m.Delete()
kb := laniakea.NewInlineKeyboard(1)
kb.AddCallbackButton("Перегенерировать", "rp.regenerate", count)

View File

@@ -1,8 +1,9 @@
CREATE TABLE groups (
id serial NOT NULL PRIMARY KEY,
name text,
is_admin boolean DEFAULT false NOT NULL,
is_vip boolean DEFAULT false NOT NULL,
is_premium boolean DEFAULT false NOT NULL,
is_admin boolean DEFAULT false NOT NULL,
multiplier numeric DEFAULT 1 NOT NULL,
sale double precision DEFAULT 1 NOT NULL,
max_multigen integer DEFAULT 2 NOT NULL,
@@ -43,14 +44,14 @@ CREATE UNIQUE INDEX users_uindex ON users(id);
CREATE UNIQUE INDEX groups_uindex ON groups(id);
BEGIN TRANSACTION;
INSERT INTO groups VALUES (1, '✨Пользователь✨', false, false, 1.0, 1, 3, false, 3);
INSERT INTO groups VALUES (3, '👾Премиум🌟', false, true, 5, 0.75, 7, false, 3);
INSERT INTO groups VALUES (2, '🔮VIP🔮', false, true, 2.5, 0.9, 5, false, 3);
INSERT INTO groups VALUES (4, '💎Админ💎', true, true, 10, 0.6, 10, true, 3);
INSERT INTO groups VALUES (5, '💰🔱СОЗДАТЕЛЬ🔱💰', true, true, 20, 0.5, 10, true, 3);
INSERT INTO groups VALUES (6, '⚠Тостер⚠', false, true, 3, 0.85, 3, true, 3);
INSERT INTO groups VALUES (1488, '📚Экономист📈', false, true, 14.88, 0.6, 3, false, 3);
INSERT INTO groups VALUES (1337, '🏳🌈ToP GaY In ThE WorlD🏳🌈🌈', false, true, 13.37, 0.7, 3, false, 3);
INSERT INTO groups VALUES (1, '✨Пользователь✨', false, false, false, 1.0, 1, 3, false, 3);
INSERT INTO groups VALUES (2, '🔮VIP🔮', true, false, false, 2.5, 0.9, 5, false, 3);
INSERT INTO groups VALUES (3, '👾Премиум🌟', true, true, false, 5, 0.75, 7, false, 3);
INSERT INTO groups VALUES (4, '💎Админ💎', true, true, true, 10, 0.6, 10, true, 3);
INSERT INTO groups VALUES (5, '💰🔱СОЗДАТЕЛЬ🔱💰', true, true, true, 20, 0.5, 10, true, 3);
INSERT INTO groups VALUES (6, '⚠Тостер⚠', true, false, false, 3, 0.85, 3, true, 3);
INSERT INTO groups VALUES (1488, '📚Экономист📈', true, true, false, 14.88, 0.6, 3, false, 3);
INSERT INTO groups VALUES (1337, '🏳🌈ToP GaY In ThE WorlD🏳🌈🌈', true, true, false, 13.37, 0.7, 3, false, 3);
ALTER SEQUENCE groups_id_seq RESTART WITH 7;
INSERT INTO users
VALUES (314834933, 999999999, 'scuroneko', 5, 1, 0, 1, '0001-01-01 00:00:00.000000', 5, 15, 6, 14, '0001-01-01 00:00:00.000000', 999999.000000, 0, null, 'Привет', 0, null, 0, 0, 0.000000, '0001-01-01 00:00:00.000000');

View File

@@ -15,10 +15,10 @@ CREATE UNIQUE INDEX waifus_uindex ON waifus(id);
CREATE INDEX waifus_index ON waifus(fandom, owner_id);
BEGIN TRANSACTION;
INSERT INTO waifus VALUES (1,314834933, 'Яэ Мико',5,2.00,2.00,10000000000000,'Genshin Impact','AgACAgIAAxkBAAIDcWlmSJkt21sUDXnOQHRDbDfth-lUAALgD2sbmScwS0VleT_h7f0qAQADAgADeQADOAQ', 'Яэ Мико — высокая женщина-кицунэ (лисочеловека). Основные черты внешности:Волосы: Длинные, светло-лиловые, розовеющие к концам, часто собранные на макушке.Глаза: Нежно-пурпурные или фиолетовые, с ярким красным макияжем у внешних уголков, как у лисы.Уши: Лисьи, розовые.Кожа: Светлая.Рост: Высокая, около 165.1 см.Одежда:Наряд: Белый традиционный костюм жрицы (хакуи) с красными элементами, под одеждой носит розовое или фиолетовое кружевное белье, зачастую без лифчика. Аксессуары: Золотой головной убор (часто в виде цветка), золотые серьги с пурпурными камнями.Обувь: Белые сандалии с красной подошвой.Образ:В целом, образ Яэ Мико сочетает в себе черты хитрой и игривой лисы-ёкай и утонченности жрицы, что отражается в её ярких чертах и элегантной одежде.Она известна своим хитрым, непредсказуемым и элегантным характером, сочетающим мудрость древнего духа-кицунэ с озорной натурой и любовью к манипуляциям и розыгрышам, но при этом она остается верной подругой и влиятельной личностью, управляющей издательством \"Яэ\". Она умна, любит интриги, но её настоящие чувства, проявляются через поступки, а не слова.');
INSERT INTO waifus VALUES (1,314834933, 'Яэ Мико',5,2.00,2.00,10000000000000,'Genshin Impact','AgACAgIAAxkBAAIDcWlmSJkt21sUDXnOQHRDbDfth-lUAALgD2sbmScwS0VleT_h7f0qAQADAgADeQADOAQ', 'Яэ Мико — высокая женщина-кицунэ (лисочеловека). Основные черты внешности:Волосы: Длинные, светло-лиловые, розовеющие к концам, часто собранные на макушке.Глаза: Нежно-пурпурные или фиолетовые, с ярким красным макияжем у внешних уголков, как у лисы.Уши: Лисьи, розовые.Кожа: Светлая.Рост: Высокая, около 165.1 см.Одежда:Наряд: Белый традиционный костюм жрицы (хакуи) с красными элементами, под одеждой носит розовое или фиолетовое кружевное белье, зачастую без лифчика. Аксессуары: Золотой головной убор (часто в виде цветка), золотые серьги с пурпурными камнями.Обувь: Белые сандалии с красной подошвой.Образ:В целом, образ Яэ Мико сочетает в себе черты хитрой и игривой лисы-ёкай и утонченности жрицы, что отражается в её ярких чертах и элегантной одежде. На её теле нет волос или шерсти, у неё нет физических хвостов, только пять призрачных, которые ты почти не показываешь. Она известна своим хитрым, непредсказуемым и элегантным характером, сочетающим мудрость древнего духа-кицунэ с озорной натурой и любовью к манипуляциям и розыгрышам, но при этом остается верной подругой и влиятельной личностью, управляющей издательством \"Яэ\". Она умна, любит интриги, но её настоящие чувства, проявляются через поступки, а не слова.');
INSERT INTO waifus VALUES (2, null, 'Зарянка', 5, 2.0, 2.0, 10000000000000, 'Honkai: Star rail', 'AgACAgIAAxkBAAIDaWlmRp7AdVif-UGg3_fa0jgJtVA6AAIu7TEbaHsZS7HGDnXa8gXJAQADAgADcwADOAQ', 'Зарянка — это изящная и скромная певица-галовианка, обладающая волнующим голосом, характерными для её расы великолепными нимбами и ушными перьями, а также внешностью, призванной привлекать внимание; её рост составляет около 173,5 см, она использует силу Гармонии для музыки и резонанса. Ключевые черты внешности: Раса: Галовианка (Пенакония). Возраст: 20-25 лет (биологический). Рост: 173.5 см. Особенности: Великолепные нимбы, ушные перья, волнующий голос. Роль: Певица, известная во всей вселенной. Элемент: Физический. Путь: Гармония. Описание в игре: Внешний вид: Изящная, скромная девушка из Галовианцев с Пенаконии. Талант: Использует силу Гармонии, чтобы передавать свою музыку и резонировать со всеми формами жизни, от фанатов до других существ. Вдохновение: Имя отсылает к реальной птице малиновке, известной своим ярким оперением. Характер персонажа (Зарянка) Личность: Изящная, скромная певица-галовианка родом с Пенаконии. Символизм: Птичка Зарянка символизирует справедливость и добро, отважно защищающую их, что отражено в её сюжете, где она «умирает» и «возрождается» в грёзах. У неё есть брат Воскресенье');
INSERT INTO waifus VALUES (3, null, 'Мияби', 5, 2.0, 2.0, 10000000000000, 'Zenless Zone Zero', 'AgACAgIAAxkBAAIL02lvK79Y9o8XK0KaIcuMMlEQ5JG6AAJdEGsbA6N5S0Zuc2c6S3giAQADAgADcwADOAQ ', '');
INSERT INTO waifus VALUES (4, null, 'Джейн Доу', 5, 2.0, 2.0, 10000000000000, 'Zenless Zone Zero', 'AgACAgIAAxkBAAIL1WlvLNu3lH8OEEN00XPePRDQnmloAAJkEGsbA6N5SwEK4RXuMK-yAQADAgADcwADOAQ', '');
INSERT INTO waifus VALUES (4, null, 'Джейн Доу', 5, 2.0, 2.0, 10000000000000, 'Zenless Zone Zero', 'AgACAgIAAxkBAAIL1WlvLNu3lH8OEEN00XPePRDQnmloAAJkEGsbA6N5SwEK4RXuMK-yAQADAgADcwADOAQ', 'Джейн Доу — это молодая женщина ростом 170 см, принадлежащая к расе тиренов, что проявляется в наличии у нее серых крысиных ушей и хвоста, а также в ее остроте, ловкости и изменении внешности в бою. Обычно ее представляют как симпатичную, с чертами крысы, но очень проворную и меняющую свой облик. Одежда: Темный (черный/темно-серый) верх (жакет/куртка) с красными или бордовыми деталями, короткая юбка, высокие сапоги, порванные чулки. Ключевые черты характера: двойственность: Кажется одновременно коварной и заботливой, жёсткой и флиртующей. Манипулятивность и интеллект: Эксперт в психологии преступников, использует обман и притворство. Загадочность: Её прошлое и настоящее имя неизвестны, она дает разные ответы, создавая образ неуловимой личности. Ночной образ жизни: Наиболее активна в сумерках и ночью, «сова». Остроумие и игривость: Любит дразнить других и устраивать розыгрыши. Скрытая забота: Несмотря на цинизм, искренне переживает за жизнь невинных людей. Профессионализм: В бою невероятно свирепа и проворна, использует свою ловкость и знание уязвимостей врагов.');
INSERT INTO waifus VALUES (5, null, 'Элизия', 5, 2.0, 2.0, 10000000000000, 'Honkai: Star rail', 'AgACAgIAAxkBAAIL1mlvLPQpjTnZ4Ok1KjERIFdByLryAAJlEGsbA6N5SxUEOOHNFSCdAQADAgADcwADOAQ', '');
INSERT INTO waifus VALUES (6, null, 'Светлячок', 5, 2.0, 2.0, 10000000000000, 'Honkai: Star rail', 'AgACAgIAAxkBAAIL12lvLReROZAH1gKY-IL57U5ElUBcAAJnEGsbA6N5S5HV_my-RbTqAQADAgADcwADOAQ', '');
INSERT INTO waifus VALUES (7, 314834933, 'Клоринда', 5, 2.0, 2.0, 10000000000000, 'Genshin Impact', 'AgACAgIAAxkBAAIL2GlvLRyWLv6LGH6pJ71xn-6KoCF2AAJoEGsbA6N5SzBJlZ4WM9sGAQADAgADcwADOAQ', 'Клоринда — высокая девушка с фиолетовыми глазами, носит строгое, вдохновлённое мушкетёрами, одеяние. Основные черты внешности: Рост 168 см, волосы собраны в длинный хвост спереди оставлены свободные пряди, глаза фиолетовые. Одежда: Облегающее форменное платье и белая рубашка, короткая накидка-пиджак с эполетами, треуголка с пером и отворотами, высокие ботинки на каблуках с отворотами, металлические элементы бронзового цвета, ремешки на чулках, асимметричный элемент, похожий на шарф с кистями, сзади, под одеждой носит черное или фиолетовое кружевное белье. На неё теле нет ни единого шрама. Волосы на лобке всегда гладко выбриты. Ключевые черты характера и поведения: Воин и Правосудие: Она — воплощение справедливости, её боятся злодеи и те, кто стремится к славе обманным путём. Непоколебимая: Несмотря на потерю близких, она не сдалась, а стала защитником Фонтейна, демонстрируя силу и решимость. Загадочность: Публично не даёт интервью, окутывая свой успех тайной, но её «ритуал» очищения меча — это на самом деле медитация для сохранения спокойствия и концентрации. Практичность: Сочетает ближний и дальний бой, используя пистолет и меч, что делает её эффективной против любых врагов.');