import telegram
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
from telegram import ReplyKeyboardMarkup, ReplyKeyboardRemove
# Обработчик команды /start
ADMIN_ID = "ид админа котору отправляется заполненая анкета для отказа или одобрение"
def start(update, context):
reply_text = "Здарова, я как понял ты хочешь вступить в нашу семью CARTIER GANG?\n" \
"Отлично, но тут у нас принимаются по определенным критериям\n" \
"Ответь на вопросы, если ты нам подходишь мы примим тебя в нашу семью CARTIER GANG"
reply_markup = ReplyKeyboardMarkup([["Согласен"]], one_time_keyboard=True)
update.message.reply_text(reply_text, reply_markup=reply_markup)
# Обработчик ответа пользователя на вопросы
def answer_questions(update, context):
message = update.message.text
if message == "Согласен":
context.user_data["username"] = None
context.user_data["years_in_state"] = None
context.user_data["lawfulness"] = None
context.user_data["rp_terms"] = None
context.user_data["age"] = None
context.user_data["adequacy_help"] = None
reply_text = "Для начала мне бы узнать твой ник в игре\nПример: Mahmud_Uzbekov"
update.message.reply_text(reply_text)
elif context.user_data["username"] is None:
if "_" not in message:
update.message.reply_text("Напиши свой ник через _")
elif any(char.isdigit() for char in message):
update.message.reply_text("В твоем нике не должна быть цифра")
else:
context.user_data["username"] = message
update.message.reply_text(f"{message}\nАха, запомнил")
reply_text = "Следующий вопрос, сколько лет проживаете в штате?\nОткрой инвентарь и посмотрите через паспорт"
update.message.reply_text(reply_text)
elif context.user_data["years_in_state"] is None:
if not message.isdigit():
update.message.reply_text("К сожалению ты нам не подходишь, так как ты в нашем штате недавно, и еще не ознакомлен с местностью")
elif int(message) < 5:
update.message.reply_text("К сожалению ты нам не подходишь, так как ты в нашем штате недавно, и еще не ознакомлен с местностью")
else:
context.user_data["years_in_state"] = message
update.message.reply_text("То что нужно, продолжаем вопрос")
reply_text = "Скажи ка мне свое законопослушность\nОткрой инвентарь и посмотрите через паспорт"
update.message.reply_text(reply_text)
elif context.user_data["lawfulness"] is None:
if not message.isdigit():
update.message.reply_text("К сожалению ты нам не подходишь, так как нам нужны законный члены семьи")
elif int(message) < 50:
update.message.reply_text("К сожалению ты нам не подходишь, так как нам нужны законный члены семьи")
else:
context.user_data["lawfulness"] = message
update.message.reply_text("Молодец не нарушаешь")
reply_text = "Теперь проверим твои знание на РП термины\n" \
"Что означает СК, ДМ, ТК - Напиши кратко и понятно"
update.message.reply_text(reply_text)
elif context.user_data["rp_terms"] is None:
context.user_data["rp_terms"] = message
update.message.reply_text("Хорошо, записал твой ответ")
reply_text = "Скажи ка свой возраст в реальности"
update.message.reply_text(reply_text)
elif context.user_data["age"] is None:
if not message.isdigit():
update.message.reply_text("К сожалению ты мал для нашей семьи")
elif int(message) < 14:
update.message.reply_text("К сожалению ты мал для нашей семьи")
else:
context.user_data["age"] = message
update.message.reply_text("Так-с записал")
reply_text = "Как вы оцениваете свое адекватность и будете ли помогать развивать семью?"
update.message.reply_text(reply_text)
elif context.user_data["adequacy_help"] is None:
context.user_data["adequacy_help"] = message
update.message.reply_text("И это тоже записал")
reply_text = "Теперь ожидайте одобрение от старшего в семье, мы сообщим вам если вас одобрят"
update.message.reply_text(reply_text)
# Отправка информации старшим пользователям
user_info = f"1.Ник: {context.user_data['username']}\n" \
f"2.В штате: {context.user_data['years_in_state']}\n" \
f"3.Законопослушности: {context.user_data['lawfulness']}\n" \
f"4.Рп термин: {context.user_data['rp_terms']}\n" \
f"5.Возраст: {context.user_data['age']}\n" \
f"Адекват и помощь: {context.user_data['adequacy_help']}"
context.bot.send_message(chat_id=ADMIN_ID, text=user_info)
reply_markup = ReplyKeyboardMarkup([["Одобрить", "Отказать"]], one_time_keyboard=True)
update.message.reply_text("Ожидайте одобрение...", reply_markup=reply_markup)
# Обработчик кнопок "Одобрить" и "Отказать"
def decision(update, context):
message = update.message.text
if message == "Одобрить":
context.bot.send_message(message.chat.id,"Вы были приняты в семью, ожидаем вас у нашего дома пока нету")
else:
context.bot.send_message(message.chat.id,"К сожалению вы нам не подходите")
# Обработчик некорректных сообщений
def handle_invalid_message(update, context):
update.message.reply_text("Извините, я не понимаю ваш ответ.")
def main():
updater = Updater(
"token"
)
dp = updater.dispatcher
dp.add_handler(CommandHandler("start", start))
dp.add_handler(MessageHandler(Filters.text & ~Filters.command, answer_questions))
dp.add_handler(MessageHandler(Filters.regex(r"^(Одобрить|Отказать)$"), decision))
dp.add_handler(MessageHandler(Filters.all, handle_invalid_message))
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()