Esempio n. 1
0
def first_response(update, context):
    '''Выбор кнопок в зависимости от прав доступа, регистарция нового пользователя.'''
    name = update.message.text
    context.user_data['name'] = name
    if name.lower() == 'admin':
        update.message.reply_text(
            'Чтобы отправить сообщение всем участникам чата, наберите /start ваше сообщение'
        )
        context.user_data['reply_keyboard'] = [[
            'Разместить информацию', 'Мероприятия'
        ], ['/events прошедшие', '/events будущие']]
    else:
        context.user_data['reply_keyboard'] = [['Регистрация', 'Мероприятия'],
                                               ['Мои мероприятия']]
        try:
            user = db_sess.query(User).filter(
                User.token == update.message.from_user['id']).one()
            markup = ReplyKeyboardMarkup([['Да', 'Нет']],
                                         one_time_keyboard=True)
            update.message.reply_text(
                f'Пользователь с вашим токеном уже зарегистрирован под именем: {user.name}\n Хотите изменить имя?'
            )
            return 2
        except:
            user = User()
            user.name = name
            user.tlg_name = update.message.from_user['first_name']
            user.token = update.message.from_user['id']
            user.chat_id = update.message.chat_id
            db_sess.add(user)
            db_sess.commit()

    welcome(update, context)
    return ConversationHandler.END