Started working on sponsorships

This commit is contained in:
Profitroll 2022-12-21 12:25:47 +01:00
parent b345a5d776
commit d3945eea0c
4 changed files with 64 additions and 6 deletions

View File

@ -20,6 +20,12 @@
"question3_found": "Використовую наступний результат:\n• {0} ({1})",
"question3_error": "⚠️ **Сталась помилка**\nНе вдалось отримати географічну мітку. Розробника повідомлено про цю помилку. Будь ласка, спробуйте ще раз.",
"question3_traceback": "⚠️ **Сталась помилка**\nПомилка отримання геокодингу для `{0}`\nПомилка: `{1}`\n\nTraceback:\n```\n{2}\n```",
"sponsorship_apply": " Розпочато заповнення форми на отримання бонусів за платну підписку на холодівчат.",
"sponsor1": "На яку саме дівчину платна підписка?",
"sponsor2": "До якої дати (`ДД.ММ.РРРР`) підписка?",
"sponsor2_invalid": "Будь ласка, введи дату формату `ДД.ММ.РРРР`",
"sponsor3": "Будь ласка, надішли одне фото для підтвердження дійсності підписки",
"sponsorship_application_empty": "❌ **Дія неможлива**\nУ тебе немає заповненої та схваленої анкети. Заповни таку за допомогою /reapply та спробуй ще раз після її підтвердження.",
"confirm": "Супер, дякуємо!\n\nБудь ласка, перевір правильність даних:\n{0}\n\nВсе правильно?",
"application_sent": "Дякуємо! Ми надіслали твою анкетку на перевірку. Ти отримаєш повідомлення як тільки її перевірять та приймуть рішення. До тих пір від тебе більше нічого не потребується. Гарного дня! :)",
"application_got": "Отримано анкету від `{0}`\n\nІм'я тг: `{1}`, `{2}`\nЮзернейм: @{3}\n\n**Дані анкети:**\n{4}",
@ -122,7 +128,10 @@
"question7": "П'ять японських холодівчат",
"question8": "Так або ні",
"question9": "Ім'я дівчини або дівчин",
"question10": "Трошки про себе"
"question10": "Трошки про себе",
"sponsor1": "Ім'я дівчини",
"sponsor2": "Дата до якої підписка",
"sponsor3": "Фото-підтвердження"
},
"button": {
"sub_yes": "✅ Прийняти",
@ -145,7 +154,9 @@
"rules_next": "Далі ➡️",
"rules_prev": "⬅️ Назад",
"applying_stop": "🛑 Перервати заповнення",
"done": "✅ Готово"
"done": "✅ Готово",
"sponsor_apply": "Заповнити форму",
"sponsor_started": "Форму розпочато"
},
"callback": {
"sub_accepted": "✅ Анкету {0} схвалено",
@ -158,7 +169,8 @@
"rules_page": " Показано правило {0}",
"rules_home": " Показано головну правил",
"rules_additional": " Показано додаткові правила",
"reapply_stopped": " Перервано заповнення анкети"
"reapply_stopped": " Перервано заповнення анкети",
"sponsor_started": " Заповнення форми розпочато"
},
"inline": {
"forbidden": {

View File

@ -0,0 +1,38 @@
from datetime import datetime
from app import app
from pyrogram.types import InlineKeyboardMarkup, InlineKeyboardButton
from pyrogram import filters
from classes.holo_user import HoloUser
from modules.utils import configGet, locale, logWrite
from modules.database import col_tmp,col_sponsorships
# Callbacks sponsorship ========================================================================================================
@app.on_callback_query(filters.regex("sponsor_apply_[\s\S]*"))
async def callback_query_sponsor_apply(app, clb):
fullclb = clb.data.split("_")
holo_user = HoloUser(int(fullclb[2]))
logWrite(f"User {holo_user.id} applied for sponsorship")
col_tmp.insert_one(
{
"user": holo_user.id,
"type": "sponsorship",
"complete": False,
"sent": False,
"state": "fill",
"stage": 1,
"sponsorship": {
"streamer": None,
"expires": datetime.fromtimestamp(0),
"proof": None,
"label": ""
}
}
)
edited_markup = [[InlineKeyboardButton(text=str(locale("sponsor_started", "button")), callback_data="nothing")]]
await clb.message.edit(text=locale("sponsorship_apply", "message"), reply_markup=InlineKeyboardMarkup(edited_markup))
await clb.answer(text=locale("sponsor_started", "callback").format(holo_user.id), show_alert=False)

View File

@ -1,14 +1,17 @@
from datetime import datetime
from app import app, isAnAdmin
from pyrogram import filters
from modules.utils import should_quote
from pyrogram.types import InlineKeyboardMarkup, InlineKeyboardButton
from modules.utils import locale, should_quote
from modules.database import col_applications
# Sponsorship command ==========================================================================================================
@app.on_message(~ filters.scheduled & filters.command(["sponsorship"], prefixes=["/"]))
async def cmd_sponsorship(app, msg):
if (await isAnAdmin(msg) is True) or (col_applications.find_one({"user": msg.from_user.id}) is not None):
await msg.reply_text("Yes, I exist.", quote=should_quote(msg))
await msg.reply_text(locale("sponsorship_apply", "message"), reply_markup=InlineKeyboardMarkup([[InlineKeyboardButton(text=str(locale("sponsor_apply", "button")), callback_data=f"sponsor_apply_{msg.from_user.id}")]]), quote=should_quote(msg))
else:
await msg.reply_text(locale("sponsorship_application_empty", "message"))
# if not path.exists(f"{configGet('data', 'locations')}{sep}sponsors{sep}{msg.from_user.id}.json"):
# jsonSave(jsonLoad(f"{configGet('data', 'locations')}{sep}sponsor_default.json"), f"{configGet('data', 'locations')}{sep}sponsors{sep}{msg.from_user.id}.json")
# sponsor = jsonLoad(f"{configGet('data', 'locations')}{sep}sponsors{sep}{msg.from_user.id}.json")

View File

@ -1 +1,6 @@
from app import app
from app import app
from pyrogram import filters
@app.on_message(~ filters.scheduled & filters.photo & filters.private)
async def sponsor_proof(app, msg):
pass