/nearby, subscriptions check, geocoding #2
@ -20,6 +20,12 @@
|
|||||||
"question3_found": "Використовую наступний результат:\n• {0} ({1})",
|
"question3_found": "Використовую наступний результат:\n• {0} ({1})",
|
||||||
"question3_error": "⚠️ **Сталась помилка**\nНе вдалось отримати географічну мітку. Розробника повідомлено про цю помилку. Будь ласка, спробуйте ще раз.",
|
"question3_error": "⚠️ **Сталась помилка**\nНе вдалось отримати географічну мітку. Розробника повідомлено про цю помилку. Будь ласка, спробуйте ще раз.",
|
||||||
"question3_traceback": "⚠️ **Сталась помилка**\nПомилка отримання геокодингу для `{0}`\nПомилка: `{1}`\n\nTraceback:\n```\n{2}\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Все правильно?",
|
"confirm": "Супер, дякуємо!\n\nБудь ласка, перевір правильність даних:\n{0}\n\nВсе правильно?",
|
||||||
"application_sent": "Дякуємо! Ми надіслали твою анкетку на перевірку. Ти отримаєш повідомлення як тільки її перевірять та приймуть рішення. До тих пір від тебе більше нічого не потребується. Гарного дня! :)",
|
"application_sent": "Дякуємо! Ми надіслали твою анкетку на перевірку. Ти отримаєш повідомлення як тільки її перевірять та приймуть рішення. До тих пір від тебе більше нічого не потребується. Гарного дня! :)",
|
||||||
"application_got": "Отримано анкету від `{0}`\n\nІм'я тг: `{1}`, `{2}`\nЮзернейм: @{3}\n\n**Дані анкети:**\n{4}",
|
"application_got": "Отримано анкету від `{0}`\n\nІм'я тг: `{1}`, `{2}`\nЮзернейм: @{3}\n\n**Дані анкети:**\n{4}",
|
||||||
@ -122,7 +128,10 @@
|
|||||||
"question7": "П'ять японських холодівчат",
|
"question7": "П'ять японських холодівчат",
|
||||||
"question8": "Так або ні",
|
"question8": "Так або ні",
|
||||||
"question9": "Ім'я дівчини або дівчин",
|
"question9": "Ім'я дівчини або дівчин",
|
||||||
"question10": "Трошки про себе"
|
"question10": "Трошки про себе",
|
||||||
|
"sponsor1": "Ім'я дівчини",
|
||||||
|
"sponsor2": "Дата до якої підписка",
|
||||||
|
"sponsor3": "Фото-підтвердження"
|
||||||
},
|
},
|
||||||
"button": {
|
"button": {
|
||||||
"sub_yes": "✅ Прийняти",
|
"sub_yes": "✅ Прийняти",
|
||||||
@ -145,7 +154,9 @@
|
|||||||
"rules_next": "Далі ➡️",
|
"rules_next": "Далі ➡️",
|
||||||
"rules_prev": "⬅️ Назад",
|
"rules_prev": "⬅️ Назад",
|
||||||
"applying_stop": "🛑 Перервати заповнення",
|
"applying_stop": "🛑 Перервати заповнення",
|
||||||
"done": "✅ Готово"
|
"done": "✅ Готово",
|
||||||
|
"sponsor_apply": "Заповнити форму",
|
||||||
|
"sponsor_started": "Форму розпочато"
|
||||||
},
|
},
|
||||||
"callback": {
|
"callback": {
|
||||||
"sub_accepted": "✅ Анкету {0} схвалено",
|
"sub_accepted": "✅ Анкету {0} схвалено",
|
||||||
@ -158,7 +169,8 @@
|
|||||||
"rules_page": "ℹ️ Показано правило {0}",
|
"rules_page": "ℹ️ Показано правило {0}",
|
||||||
"rules_home": "ℹ️ Показано головну правил",
|
"rules_home": "ℹ️ Показано головну правил",
|
||||||
"rules_additional": "ℹ️ Показано додаткові правила",
|
"rules_additional": "ℹ️ Показано додаткові правила",
|
||||||
"reapply_stopped": "ℹ️ Перервано заповнення анкети"
|
"reapply_stopped": "ℹ️ Перервано заповнення анкети",
|
||||||
|
"sponsor_started": "ℹ️ Заповнення форми розпочато"
|
||||||
},
|
},
|
||||||
"inline": {
|
"inline": {
|
||||||
"forbidden": {
|
"forbidden": {
|
||||||
|
38
modules/callbacks/sponsorship.py
Normal file
38
modules/callbacks/sponsorship.py
Normal 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)
|
@ -1,14 +1,17 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from app import app, isAnAdmin
|
from app import app, isAnAdmin
|
||||||
from pyrogram import filters
|
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
|
from modules.database import col_applications
|
||||||
|
|
||||||
# Sponsorship command ==========================================================================================================
|
# Sponsorship command ==========================================================================================================
|
||||||
@app.on_message(~ filters.scheduled & filters.command(["sponsorship"], prefixes=["/"]))
|
@app.on_message(~ filters.scheduled & filters.command(["sponsorship"], prefixes=["/"]))
|
||||||
async def cmd_sponsorship(app, msg):
|
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):
|
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"):
|
# 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")
|
# 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")
|
# sponsor = jsonLoad(f"{configGet('data', 'locations')}{sep}sponsors{sep}{msg.from_user.id}.json")
|
||||||
|
@ -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
|
Reference in New Issue
Block a user