Skip to content

Commit

Permalink
last_edit
Browse files Browse the repository at this point in the history
  • Loading branch information
salko-ua committed Jan 3, 2024
1 parent edb5243 commit c975dbc
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 41 deletions.
11 changes: 11 additions & 0 deletions control_db/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -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`")
Expand Down
47 changes: 20 additions & 27 deletions handlers/menu.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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"
Expand Down Expand Up @@ -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(),
)
Expand All @@ -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"Дія підписки до: <b>{date_purchase}-{expiration_date}</b>"
)
elif not is_premium:
text = (
f"Інформація про вашу підписку 👑\n"
f"Підписка: не активна ❌\n"
f"Інформація про вашу підписку 👑:\n"
f"Підписка: Не активна ❌\n"
f"Купував підписку: {bought_premium} раз\n\n"
f"Закінчилась: <b>{expiration_date}</b>"
)
Expand Down Expand Up @@ -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)
Expand Down
9 changes: 5 additions & 4 deletions handlers/payments.py
Original file line number Diff line number Diff line change
Expand Up @@ -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),
Expand Down Expand Up @@ -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())

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions handlers/task.py
Original file line number Diff line number Diff line change
Expand Up @@ -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,)
)
15 changes: 8 additions & 7 deletions keyboards/menu.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,24 @@
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))

return builder.adjust(2).as_markup(resize_keyboard=True)


def about(without: str = "") -> InlineKeyboardMarkup:
def about() -> InlineKeyboardMarkup:
builder = InlineKeyboardBuilder()

keyboard = [
Expand All @@ -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))

Expand Down

0 comments on commit c975dbc

Please sign in to comment.