Ejemplo n.º 1
0
def register(message):
    chat_id = message.from_user.id
    username = message.chat.username

    #logging.info('Username is '+username)
    if username != None:
        try:
            bot.send_chat_action(
                chat_id, 'typing')  # show the bot "typing" (max. 5 secs)
            time.sleep(3)
            airtable.update_by_field('chat_id', str(chat_id), {'tg': username})
            bot.send_message(
                message.from_user.id,
                '''Перед подачей заявки, пожалуйста, ознакомься с уставом клана. Он находится <a href="https://docs.google.com/document/d/1phtUEpk8as8rn3pLCT5eelAdsCH1QB8d5vT7E4YDS4w">тут</a>.
<b>⚠️⚠️⚠️ Обрати внимание - дальнейшее продолжение диалога со мной подтверждает то, что ты ознакомился и согласен с уставом! ⚠️⚠️⚠️</b>

Для продолжения напиши мне свой gamertag Xbox Live (никнейм):
''')
            bot.register_next_step_handler(message, get_xbl_id)
        except Exception:
            bot.send_message(chat_id, err_message)
    else:
        bot.send_message(
            chat_id, '''❌ Прости, у тебя не установлен телеграм-тэг. 
Напомню, что ты можешь установить тэг, как это сделать - <a href="https://telegramzy.ru/nik-v-telegramm/">описано в этой инструкции</a>.
После этого у тебя появится возможность продолжить процесс подачи заявки на вступление в клан.
''')
        logging.info('Here is user without username. chat_id is ' +
                     str(chat_id))
Ejemplo n.º 2
0
def get_xbl_id(message):
    if message.text == '/reset':
        reset(message)
    elif message.text == '/help':
        command_help(message)
    else:
        bot.send_message(message.from_user.id, 'Как тебя зовут?')
        xbl_id = message.text
        try:
            airtable.update_by_field('chat_id', str(message.from_user.id),
                                     {'xboxlive': xbl_id})
        except Exception:
            bot.send_message(message.from_user.id, err_message)

        bot.register_next_step_handler(message, get_name)
Ejemplo n.º 3
0
def get_name(message):
    if message.text == '/reset':
        reset(message)
    elif message.text == '/help':
        command_help(message)
    else:
        name = message.text
        try:
            airtable.update_by_field('chat_id', str(message.from_user.id),
                                     {'name': name})
        except Exception:
            bot.send_message(message.from_user.id, err_message)
            get_name(message)

        bot.send_message(message.from_user.id, 'Сколько тебе лет?')
        bot.register_next_step_handler(message, get_age)
Ejemplo n.º 4
0
def get_about(message):
    if message.text == '/reset':
        reset(message)
    elif message.text == '/help':
        command_help(message)
    else:
        about = message.text
        try:
            airtable.update_by_field('chat_id', str(message.from_user.id),
                                     {'about': about})
            user_data = airtable.search('chat_id', str(message.from_user.id))
        except Exception:
            bot.send_message(message.from_user.id, err_message)
            get_about(message)
        global clean_data
        clean_data = user_data[0].get('fields')
        msg = 'Telegram: @' + clean_data.get(
            'tg') + '\nXBL: ' + clean_data.get(
                'xboxlive'
            ) + '\nИмя: ' + clean_data.get('name') + '\nВозраст: ' + str(
                clean_data.get('age')) + '\nО себе: ' + clean_data.get('about')
        #keyboard block
        keyboard_aprove = telebot.types.InlineKeyboardMarkup(row_width=1)
        key_aprove = telebot.types.InlineKeyboardButton(text='Да',
                                                        callback_data='aprove')
        keyboard_aprove.add(key_aprove)
        key_decline = telebot.types.InlineKeyboardButton(
            text='Нет', callback_data='decline')
        keyboard_aprove.add(key_decline)

        bot.send_message(admin_chat, text=msg, reply_markup=keyboard_aprove)
        bot.send_message(
            message.from_user.id,
            'Если ты где-то что-то заполнил неправильно - не переживай. Ты можешь просто ввести /reset и снова заполнить анкету соискателя. Главное - без фанатизма.'
        )
        bot.send_message(
            message.from_user.id,
            'Если же все ок - нет причин волноваться, твоя заявка была передана на рассмотрение администрации. А пока можешь отправить заявку на вступление в <a href="https://www.bungie.net/ru/ClanV2?groupid=2135560">наш клан в Bungie.net</a> (если ты этого все еще не сделал).'
        )
Ejemplo n.º 5
0
def get_age(message):
    if message.text == '/reset':
        reset(message)
    else:
        age = 0
        if age == 0:
            try:
                age = int(message.text)
            except Exception:
                age = 0
        try:
            airtable.update_by_field('chat_id', str(message.from_user.id),
                                     {'age': age})
        except Exception:
            bot.send_message(message.from_user.id, err_message)
            get_age(message)

        bot.send_message(
            message.from_user.id,
            '''Отлично! Последний штрих - расскажи немного о себе. \n
Да, это не обязательно, но заявки от участников, которые не поленились и потратили 5 минут на "интро" рассматриваются администраторами быстрее. \n
Хоть я и бездушная машина, я понимаю, что писать о себе всегда сложно, поэтому вот список вопросов, на которые ты можешь ответить в своем интро: как давно ты играешь в Destiny? Где живешь? Чем увлекаешься IRL? Ходил ли ты в рейды, и если да - то какой из них - твой любимый?'''
        )
        bot.register_next_step_handler(message, get_about)