diff --git a/control_db/user.py b/control_db/user.py
index 05fb564..5a7f8a1 100644
--- a/control_db/user.py
+++ b/control_db/user.py
@@ -13,6 +13,17 @@ async def telegram_id_exists(self, telegram_id):
).fetchall()
return bool(result[0][0])
+ async def get_username(self, telegram_id):
+ result = await (
+ await self.cur.execute(
+ """SELECT username
+ FROM `user`
+ WHERE `telegram_id` = ?""",
+ (telegram_id,),
+ )
+ ).fetchall()
+ return result[0][0]
+
async def get_count_users(self):
result = await (
await self.cur.execute("SELECT COUNT(`telegram_id`) FROM `user`")
diff --git a/handlers/menu.py b/handlers/menu.py
index 417d75b..a28b8d5 100644
--- a/handlers/menu.py
+++ b/handlers/menu.py
@@ -19,7 +19,7 @@ class SendFAQ(StatesGroup):
@router.message(F.text == "Інформація 🧾")
async def information(message: Message):
await message.delete()
- await message.answer("Щр вас цікавить ?", reply_markup=about())
+ await message.answer("Що вас цікавить ?", reply_markup=about())
async def send_about_information(query: CallbackQuery, text: str) -> None:
@@ -122,29 +122,28 @@ async def about_information(query: CallbackQuery):
)
tariff = (
- "Тариф\n"
- "\n"
- "Тариф один - 300 грн\n"
- "Термін дії - 30 днів\n"
- "Подовжити тариф можна в будь який час\n"
+ "Тариф 📑\n"
+ "Ціна тарифу - 300 грн 💸\n"
+ "Термін дії - 1 місяць 🕐\n"
+ "Подовжити тариф можна в будь який час 🤝\n"
)
about_us = (
- "Про Нас\n"
+ "Про Нас 👤\n"
"\n"
- 'Бот-помічник "Опис та фото обʼєкта". створений для агенцій нерухомості.\n'
+ 'Бот-помічник "Опис та фото обʼєкта". Створений для агенцій нерухомості.\n'
"Допомагає автоматизувати роботу та генерую рекламні пости обʼєктів аренди та продажу.\n"
)
usage_tips = (
- "Поради Користування. \n"
+ "Поради Користування ❤️\n"
"\n"
- "Все просто! Кидаєте боту посилання з ОЛХ ( обовʼязково це посилання повинно бути зі сторінки сайту з продажу чи оренди майна)\n"
+ "Все просто! Кидаєте боту посилання з ОЛХ ( обовʼязково це посилання повинно бути зі сторінки сайту з продажу чи оренди нерухомості)\n"
"Бот у відповідь вам надсилає готовий пост с фото та описом. Ви цей пост вже надсилаєте своєму клієнту!\n"
)
contacts = (
- "Контакти\n"
+ "Контакти 📱\n"
"\n"
"З приводу пропозицій, скарг або комерційних питань:\n"
"Телеграм - @realtor_057\n"
@@ -172,9 +171,9 @@ async def premium(message: Message):
if not await db.telegram_id_premium_exists(telegram_id):
await message.answer(
text=(
- f"Інформація про вашу підписку 👑\n"
- f"Підписка: не активна ❌\n"
- f"Купував підписку: 0 раз"
+ f"Інформація про вашу підписку 👑:\n"
+ f"Підписка: Не активна ❌\n"
+ f"Ви ні разу не купували підписку."
),
reply_markup=buy_premium(),
)
@@ -187,15 +186,15 @@ async def premium(message: Message):
if is_premium:
text = (
- f"Інформація про вашу підписку 👑\n"
- f"Підписка: активна ✅\n"
+ f"Інформація про вашу підписку 👑:\n"
+ f"Підписка: Активна ✅\n"
f"Купував підписку: {bought_premium} раз\n\n"
f"Дія підписки до: {date_purchase}-{expiration_date}"
)
elif not is_premium:
text = (
- f"Інформація про вашу підписку 👑\n"
- f"Підписка: не активна ❌\n"
+ f"Інформація про вашу підписку 👑:\n"
+ f"Підписка: Не активна ❌\n"
f"Купував підписку: {bought_premium} раз\n\n"
f"Закінчилась: {expiration_date}"
)
@@ -225,19 +224,13 @@ async def faq(message: Message):
await message.answer(text, disable_web_page_preview=True, reply_markup=hide_kb())
-@router.message(F.text == "FAQ 👤")
+@router.message(F.text == "Зворт зв`язок 👤")
async def information(message: Message, state: FSMContext):
await message.delete()
- db = await Database.setup()
-
- if not await db.is_premium_user(message.from_user.id):
- await message.answer(
- "Щоб написати адміну у вас повинна бути активна підписка 🥹"
- )
- return
message = await message.answer(
- "Напишіть нижче питання, і воно буде відправлене до адміна", reply_markup=back()
+ "Напишіть нижче питання, і воно буде відправлене до адміна\nАбо напишіть йому особисто @realtor_057",
+ reply_markup=back(),
)
await state.set_state(SendFAQ.send_message)
await state.update_data(message=message)
diff --git a/handlers/payments.py b/handlers/payments.py
index 62f5903..869a29f 100644
--- a/handlers/payments.py
+++ b/handlers/payments.py
@@ -119,6 +119,7 @@ async def create_payment(
"notifyMethod": "bot",
"orderReference": order_reference,
"orderDate": order_date,
+ "alternativeAmount": 350,
"amount": amount,
"currency": currency,
"productName": list(product_name),
@@ -165,11 +166,11 @@ async def get_payment_info(order_reference: str, merchant_account: str) -> Check
@router.callback_query(F.data == "Придбати підписку 💳")
async def payment(query: CallbackQuery):
db = await Database.setup()
- amount = 1
+ amount = 300
currency = "UAH"
product_name = ("Місячна підписка", "Комісія")
product_count = (int(1), int(1))
- product_price = (int(10), int(0))
+ product_price = (int(300), int(0))
order_reference = generate_random_string(12)
order_date = int(datetime.now().replace(hour=0, minute=0, second=0).timestamp())
@@ -234,7 +235,7 @@ async def check_status_invoice(
await bot.send_message(
chat_id=-1001902595324,
message_thread_id=392,
- text=f"Оплата пройшла успішно\nКод оплати {response.reason_code}\nКод підписки {reference}",
+ text=f"Оплата пройшла успішно @{await db.get_username(telegram_id)} {telegram_id}\nКод оплати {response.reason_code}\nКод підписки {reference}",
)
# [N] CHECK NEW OR OLD USER AND SEND NOTIFY
@@ -273,7 +274,7 @@ async def check_status_invoice(
await bot.send_message(
chat_id=-1001902595324,
message_thread_id=392,
- text=f"Оплата провалилась\nКод оплати {response.reason_code}\nКод підписки {reference}",
+ text=f"Оплата провалилась @{await db.get_username(telegram_id)} {telegram_id}\nКод оплати {response.reason_code}\nКод підписки {reference}",
)
# [N] SEND NOTIFY
diff --git a/handlers/task.py b/handlers/task.py
index 549b910..e1e7a98 100644
--- a/handlers/task.py
+++ b/handlers/task.py
@@ -70,6 +70,6 @@ async def create_tasks():
scheduler.add_job(
check_all_invoice, "interval", seconds=10, id="check_all_invoice", args=(lock,)
)
- # scheduler.add_job(
- # check_all_premium, "interval", seconds=15, id="check_all_premium", args=(lock,)
- # )
+ scheduler.add_job(
+ check_all_premium, "cron", hour=7, id="check_all_premium", args=(lock,)
+ )
diff --git a/keyboards/menu.py b/keyboards/menu.py
index 593c47b..2b7b6d5 100644
--- a/keyboards/menu.py
+++ b/keyboards/menu.py
@@ -1,12 +1,16 @@
-from aiogram.types import (InlineKeyboardButton, InlineKeyboardMarkup,
- KeyboardButton, ReplyKeyboardMarkup)
+from aiogram.types import (
+ InlineKeyboardButton,
+ InlineKeyboardMarkup,
+ KeyboardButton,
+ ReplyKeyboardMarkup,
+)
from aiogram.utils.keyboard import InlineKeyboardBuilder, ReplyKeyboardBuilder
def menu_kb() -> ReplyKeyboardMarkup:
builder = ReplyKeyboardBuilder()
- keyboard = ["Інформація 🧾", "Підписка 👑", "Посилання 🔗", "FAQ 👤"]
+ keyboard = ["Інформація 🧾", "Підписка 👑", "Посилання 🔗", "Зворт зв`язок 👤"]
for button in keyboard:
builder.add(KeyboardButton(text=button, callback_data=button))
@@ -14,7 +18,7 @@ def menu_kb() -> ReplyKeyboardMarkup:
return builder.adjust(2).as_markup(resize_keyboard=True)
-def about(without: str = "") -> InlineKeyboardMarkup:
+def about() -> InlineKeyboardMarkup:
builder = InlineKeyboardBuilder()
keyboard = [
@@ -27,9 +31,6 @@ def about(without: str = "") -> InlineKeyboardMarkup:
"Сховати ❌",
]
- # if without != "":
- # keyboard.remove(without)
-
for button in keyboard:
builder.add(InlineKeyboardButton(text=button, callback_data=button))