Example #1
0
def editing2_1(call):
    expert = call.data.split('_')[1]
    if expert == 'finish':
        bot.delete_message(call.message.chat.id, call.message.message_id)
        #SetState(message.from_user.id, 6, cursor, db)
        keyboard = telebot.types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
        new_project = "Создать новый проект"
        edit_project = "Редактировать проект"
        list_project = "Список проектов"
        exit = "Назад"
        flag = True
        if isRang(GetRangs(call.from_user.id, cursor), [7, 9, 10]):
            keyboard.add(new_project)
            keyboard.add(edit_project)
            flag = False
        if IsUserTeamlead(call.from_user.id, cursor) and flag:
            keyboard.add(edit_project)
        keyboard.add(list_project)
        keyboard.add(exit)
        bot.send_message(call.message.chat.id, 'Изменения приняты. Выберите дальнейшее действие', reply_markup=keyboard)
    else:
            AddExpertToProject(GetCurrProject(call.from_user.id, cursor), expert, cursor, db)
            bot.send_message(call.message.chat.id, 'Эксперт добавлен')
            bot.send_message(GetChatId(expert, cursor),
                             GetName(call.from_user.id, cursor) + ' добавил вас в проект "' +
                             GetProjectTitle(GetCurrProject(call.from_user.id, cursor), cursor) + '"')
Example #2
0
def editing11(call):
    if call.data[-1] == '%':
        keyboard = telebot.types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
        new_project = "Создать новый проект"
        edit_project = "Редактировать проект"
        list_project = "Список проектов"
        exit = "Назад"
        flag = True
        if isRang(GetRangs(call.from_user.id, cursor), [7, 9, 10]):
            keyboard.add(new_project)
            keyboard.add(edit_project)
            flag = False
        if IsUserTeamlead(call.from_user.id, cursor) and flag:
            keyboard.add(edit_project)
        keyboard.add(list_project)
        keyboard.add(exit)
        bot.delete_message(chat_id=call.message.chat.id, message_id=call.message.message_id)
        bot.send_message(call.message.chat.id, 'Вкладка <b>"Проекты"</b>', reply_markup=keyboard, parse_mode='HTML')
    else:
        nick_and_id = call.data[7:]
        words = nick_and_id.split('*')
        nick = words[0]
        id = words[1]
        DeleteUserFromProject(nick, id, cursor, db)
        members = GetMembersOfProject(id, cursor)
        keyboard = telebot.types.InlineKeyboardMarkup()
        for member in members:
            keyboard.add(
                telebot.types.InlineKeyboardButton(text=member[0], callback_data='delete_' + member[0] + '*' + str(id)))
        keyboard.add(telebot.types.InlineKeyboardButton(text='Закончить', callback_data='delete_%'))
        bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id,
                              text='Выберите курсанта из списка участников', reply_markup=keyboard)
Example #3
0
def editing2(call):
    member = call.data.split('_')[1]
    id = call.data.split('_')[2]
    if member == 'finish':
        bot.delete_message(call.message.chat.id, call.message.message_id)
        SetState(call.from_user.id, 6, cursor, db)
        keyboard = telebot.types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
        new_project = "Создать новый проект"
        edit_project = "Редактировать проект"
        list_project = "Список проектов"
        exit = "Назад"
        flag = True
        if isRang(GetRangs(call.from_user.id, cursor), [7, 9, 10]):
            keyboard.add(new_project)
            keyboard.add(edit_project)
            flag = False
        if IsUserTeamlead(call.from_user.id, cursor) and flag:
            keyboard.add(edit_project)
        keyboard.add(list_project)
        keyboard.add(exit)
        bot.send_message(call.message.chat.id, 'Изменения приняты. Выберите дальнейшее действие', reply_markup=keyboard)
    else:
            keyboard = telebot.types.InlineKeyboardMarkup()
            keyboard.add(telebot.types.InlineKeyboardButton(text='Хипстер', callback_data='adding_2_' + str(member)+'_'+str(id)))
            keyboard.add(telebot.types.InlineKeyboardButton(text='Хастлер', callback_data='adding_3_' + str(member)+'_'+str(id)))
            keyboard.add(telebot.types.InlineKeyboardButton(text='Хакер', callback_data='adding_4_' + str(member)+'_'+str(id)))
            bot.send_message(call.message.chat.id, 'Какова его роль в проекте?', reply_markup=keyboard)
Example #4
0
def new_project4(call):
    expert = call.data.split('_')[1]
    if expert == 'finish':
        bot.delete_message(call.message.chat.id, call.message.message_id)
        project_info['experts'] = experts
        SetState(call.from_user.id, 6, cursor, db)
        CreateProject(project_info, cursor, db)
        keyboard = telebot.types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
        new_project = "Создать новый проект"
        edit_project = "Редактировать проект"
        list_project = "Список проектов"
        exit = "Назад"
        flag = True
        if isRang(GetRangs(call.from_user.id, cursor), [7, 9, 10]):
            keyboard.add(new_project)
            keyboard.add(edit_project)
            flag = False
        if (IsUserTeamlead(call.from_user.id, cursor) and flag):
            keyboard.add(edit_project)
        keyboard.add(list_project)
        keyboard.add(exit)
        bot.send_message(call.message.chat.id,
                         'Проект "' + project_info['name'] + '" успешно создан. Выберите дальнейшее действие',
                         reply_markup=keyboard)
    else:
        experts.append(expert)
        SetState(call.from_user.id, 6, cursor, db)
        bot.send_message(call.message.chat.id, "Принято")
Example #5
0
def editing_status(call):
    bot.delete_message(chat_id=call.message.chat.id, message_id=call.message.message_id)
    id = call.data.split('_')[1]
    status = call.data.split('_')[2]
    if status == '1':
        status = 'Исследование рынка'
    elif status == '2':
        status = 'Разработка MVP'
    elif status == '3':
        status = 'Развитие проекта'
    elif status == '4':
        status = 'Завершен'
    elif status == '5':
        status = 'Закрыт'
    ChangeStatusProject(status, id, cursor, db)
    keyboard = telebot.types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
    new_project = "Создать новый проект"
    edit_project = "Редактировать проект"
    list_project = "Список проектов"
    exit = "Назад"
    flag = True
    if isRang(GetRangs(call.from_user.id, cursor), [7, 9, 10]):
        keyboard.add(new_project)
        keyboard.add(edit_project)
        flag = False
    if IsUserTeamlead(call.from_user.id, cursor) and flag:
        keyboard.add(edit_project)
    keyboard.add(list_project)
    keyboard.add(exit)
    #SetState(message.from_user.id, 6, cursor, db)
    bot.send_message(call.message.chat.id, "Статус изменен. Выберите дальнейшее действие", reply_markup=keyboard)
Example #6
0
def send_budget_offer(message):
    if isRang(GetRangs(message.from_user.id, cursor), [9]):
        if IsThereActiveVoting(cursor):
            bot.send_message(message.chat.id, 'В данный момент уже проходит голосование за утверждение бюджета',
                             reply_markup=get_keyboard(message.from_user.id))
        else:
            bot.send_message(message.chat.id, 'Введите предполагаемую сумму бюджета')
            SetState(message.from_user.id, 51, cursor, db)
Example #7
0
def new_project3(call):
    bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id,
                          text="Выберите тип проекта:")
    num = call.data[-1]
    project_info['type'] = num
    # experts.append(call.from_user.id)
    users = GetListOfUsers(cursor)
    experts = list()
    for user in users:
        if isRang(GetRangs(user[0], cursor), [10]):
            experts.append(user)
    if len(experts):
        keyboard = telebot.types.InlineKeyboardMarkup()
        for expert in experts:
            keyboard.add(telebot.types.InlineKeyboardButton(text=GetName(expert[0], cursor),
                                                            callback_data='chooseexpert_' + str(expert[0])))
        keyboard.add(telebot.types.InlineKeyboardButton(text='<Закончить>', callback_data='chooseexpert_finish'))
        bot.send_message(call.message.chat.id,
                         'Выберите экспертов',
                         # 'Так как вы инициировали проект, вы являетесь его главным экспертом.Если вы хотите добавить еще экспертов, введите их никнеймы, каждый отдельным сообщением. Для завершения нажмите на кнопку.',
                         reply_markup=keyboard)
    else:
        bot.send_message(call.message.chat.id,
                         'В данное время нет свободных экспертов')
        project_info['experts'] = []
        SetState(call.from_user.id, 6, cursor, db)
        CreateProject(project_info, cursor, db)
        keyboard = telebot.types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
        new_project = "Создать новый проект"
        edit_project = "Редактировать проект"
        list_project = "Список проектов"
        exit = "Назад"
        flag = True
        if isRang(GetRangs(call.from_user.id, cursor), [7, 9, 10]):
            keyboard.add(new_project)
            keyboard.add(edit_project)
            flag = False
        if (IsUserTeamlead(call.from_user.id, cursor) and flag):
            keyboard.add(edit_project)
        keyboard.add(list_project)
        keyboard.add(exit)
        bot.send_message(call.message.chat.id,
                         'Проект "' + project_info['name'] + '" успешно создан. Выберите дальнейшее действие',
                         reply_markup=keyboard)
Example #8
0
def add_educator(message):
    if message.chat.type == 'private':
        if isRang(GetRangs(message.from_user.id, cursor), [9]):
            keyboard = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True)
            keyboard.add(telebot.types.InlineKeyboardButton('Закончить'))
            bot.send_message(
                message.chat.id,
                'Введите никнеймы преподавателей, каждый отдельным сообщением. Для завершения нажмите на кнопку',
                reply_markup=keyboard)
            SetState(message.from_user.id, 814, cursor, db)
Example #9
0
def look_marks(message):
    if message.chat.type == 'private' and isRang(
            GetRangs(message.from_user.id, cursor), [5, 8, 9, 10]):
        users = GetListOfUsers(cursor)
        students = list()
        for user in users:
            if isRang(GetRangs(user[0], cursor), [2, 3, 4]):
                students.append(user)
        keyboard = telebot.types.InlineKeyboardMarkup()
        for student in students:
            keyboard.add(
                telebot.types.InlineKeyboardButton(
                    text=GetName(student[0], cursor),
                    callback_data='look_marks_of_' + str(student[0])))
        keyboard.add(
            telebot.types.InlineKeyboardButton(
                text='<Вернуться в главное меню>',
                callback_data='look_marks_of_*'))
        bot.send_message(message.chat.id,
                         'Выберите курсанта',
                         reply_markup=keyboard)
Example #10
0
def emission(message):
    all_marks = GetAllMarks(cursor)
    marks_sum = 0
    for mark in all_marks:
        if mark[0] != None and isRang(GetRangs(mark[1], cursor), [2, 3, 4]):
            marks_sum += mark[0]
    budget = GetSumOfBudget(cursor)
    summa_for_students = budget / 7 * 3
    coeff = round(summa_for_students / marks_sum, 5)
    SetCoeff(coeff, cursor, db)
    for i in all_marks:
        if i[0] != None:
            bot.send_message(message.chat.id, GetName(i[1], cursor) + ' получит ' + str(round(coeff * i[0], 5)))
            AddAuthorityToUser(i[1], round(coeff * i[0]), cursor, db)
Example #11
0
def finish_budget(message):
    if isRang(GetRangs(message.from_user.id, cursor), [9]):
        if not (IsThereActiveVoting(cursor)):
            bot.send_message(message.chat.id, 'На данный момент активных голосований нет',
                             reply_markup=get_keyboard(message.from_user.id))
        else:
            if GetUserWhoStartedVoting(cursor) == message.from_user.id:
                bot.send_message(message.chat.id, 'Утверждение бюджета завершено. Результат:\n' + BudgetInfo(cursor),
                                 reply_markup=get_keyboard(message.from_user.id))
                FinishVoting(cursor, db)
                emission(message)
            else:
                bot.send_message(message.chat.id, 'Голосование может завершить только тот, кто его начал',
                                 reply_markup=get_keyboard(message.from_user.id))
Example #12
0
def look_dosier(message):
    users = GetListOfUsers(cursor)
    keyboard = telebot.types.InlineKeyboardMarkup()
    for user in users:
        if isRang(GetRangs(user[0], cursor), [2, 3, 4]):
            name = user[1]
            if name == None:
                name = user[0]
            keyboard.add(
                telebot.types.InlineKeyboardButton(
                    text=name, callback_data='look_dosier%' + str(user[0])))
    bot.send_message(message.chat.id,
                     'Чьё досье вы хотите посмотреть?',
                     reply_markup=keyboard)
Example #13
0
def add_dosier(message):
    users = GetListOfUsers(cursor)
    keyboard = telebot.types.InlineKeyboardMarkup()
    for user in users:
        if isRang(GetRangs(user[0], cursor), [2, 3, 4]):
            name = user[1]
            if name == None:
                name = user[0]
            keyboard.add(
                telebot.types.InlineKeyboardButton(
                    text=name, callback_data='add_dosier%' + str(user[0])))
    bot.send_message(message.chat.id,
                     'Кому вы хотите добавить или изменить досье?',
                     reply_markup=keyboard)
Example #14
0
def new_project2(message):
    if message.text == 'Отмена':
        SetState(message.from_user.id, 6, cursor,db)
        projectsMenu(message)
    else:
        project_info['name'] = message.text
        users = GetListOfUsers(cursor)
        students = list()
        for user in users:
            if isRang(GetRangs(user[0], cursor), [2, 3, 4]):
                students.append(user)
        keyboard = telebot.types.InlineKeyboardMarkup()
        for student in students:
                keyboard.add(telebot.types.InlineKeyboardButton(text=GetName(student[0],cursor), callback_data='chooseteamlead_' + str(student[0])))
        bot.send_message(message.chat.id, 'Выберите лидера команды из числа курсантов', reply_markup=keyboard)
Example #15
0
def projectsMenu(message):
    if message.chat.type == 'private':
        keyboard = telebot.types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
        new_project = "Создать новый проект"
        edit_project = "Редактировать проект"
        list_project = "Список проектов"
        exit = "Назад"
        flag = True
        if isRang(GetRangs(message.from_user.id, cursor), [7, 9, 10]):
            keyboard.add(new_project)
            keyboard.add(edit_project)
            flag = False
        if IsUserTeamlead(message.from_user.id, cursor) and flag:
            keyboard.add(edit_project)
        keyboard.add(list_project)
        keyboard.add(exit)
        bot.send_message(message.chat.id, 'Вкладка <b>"Проекты"</b>', reply_markup=keyboard, parse_mode='HTML')
Example #16
0
def look_project(call):
    id = call.data[13:]
    info = GetProjectInfo(id, cursor)
    bot.send_message(call.message.chat.id, info, parse_mode='HTML')
    keyboard = telebot.types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
    new_project = "Создать новый проект"
    edit_project = "Редактировать проект"
    list_project = "Список проектов"
    exit = "Назад"
    flag = True
    if isRang(GetRangs(call.from_user.id, cursor), [7, 9, 10]):
        keyboard.add(new_project)
        keyboard.add(edit_project)
        flag = False
    if IsUserTeamlead(call.from_user.id, cursor) and flag:
        keyboard.add(edit_project)
    keyboard.add(list_project)
    keyboard.add(exit)
    bot.send_message(call.message.chat.id, 'Вкладка <b>"Проекты"</b>', reply_markup=keyboard, parse_mode='HTML')
Example #17
0
def editing(call):
    id = call.data[17:]
    SetCurrProject(id, call.from_user.id, cursor, db)
    num = call.data[16]
    if num == '1':
        keyboard = telebot.types.InlineKeyboardMarkup()
        #keyboard.add('Закончить')
        users = GetListOfUsers(cursor)
        for user in users:
            keyboard.add(telebot.types.InlineKeyboardButton(text=GetName(user[0], cursor), callback_data='addmember_'+str(user[0])+'_'+str(id)))
        keyboard.add(telebot.types.InlineKeyboardButton(text='<Закончить>', callback_data='addmember_finish_1'))
        bot.delete_message(chat_id=call.message.chat.id, message_id=call.message.message_id)
        bot.send_message(call.message.chat.id,
                         'Выберите участников команды.',
                         reply_markup=keyboard)
        #username = call.from_user.id
        #SetState(username, 22, cursor, db)
    elif num == '2':
        members = GetMembersOfProject(id, cursor)
        keyboard = telebot.types.InlineKeyboardMarkup()
        for member in members:
            keyboard.add(
                telebot.types.InlineKeyboardButton(text=GetName(member[0],cursor), callback_data='delete_' + str(member[0]) + '*' + str(id)))
        keyboard.add(telebot.types.InlineKeyboardButton(text='Закончить', callback_data='delete_%'))
        bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id,
                              text='Выберите курсанта из списка участников', reply_markup=keyboard)
    elif num == '3':
        keyboard = telebot.types.InlineKeyboardMarkup()
        keyboard.add(telebot.types.InlineKeyboardButton(text='Исследование рынка', callback_data='status_'+str(id)+'_1'))
        keyboard.add(telebot.types.InlineKeyboardButton(text='Разработка MVP', callback_data='status_' + str(id)+'_2'))
        keyboard.add(telebot.types.InlineKeyboardButton(text='Развитие проекта', callback_data='status_' + str(id)+'_3'))
        keyboard.add(telebot.types.InlineKeyboardButton(text='Завершен', callback_data='status_' + str(id)+'_4'))
        keyboard.add(telebot.types.InlineKeyboardButton(text='Закрыт', callback_data='status_' + str(id)+'_5'))
        bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id,
                              text='Выберите новый статус проекта', reply_markup=keyboard)
        #SetCurrProject(id, call.from_user.id, cursor, db)
        #SetState(call.from_user.id, 23, cursor, db)
    elif num == '5':
        keyboard = telebot.types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
        keyboard.add('Закончить')
        bot.delete_message(chat_id=call.message.chat.id, message_id=call.message.message_id)
        users = GetListOfUsers(cursor)
        experts = list()
        for user in users:
            if isRang(GetRangs(user[0], cursor), [10]):
                experts.append(user)
        if len(experts):
            keyboard = telebot.types.InlineKeyboardMarkup()
            for expert in experts:
                keyboard.add(telebot.types.InlineKeyboardButton(text=GetName(expert[0], cursor),
                                                                callback_data='addexpert_' + str(expert[0])))
            keyboard.add(telebot.types.InlineKeyboardButton(text='<Закончить>', callback_data='addexpert_finish'))
            bot.send_message(call.message.chat.id,
                             'Выберите экспертов', reply_markup=keyboard)
        else:
            bot.send_message(call.message.chat.id,
                             'В данное время нет свободных экспертов')
    elif num == '4':
        keyboard = telebot.types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
        new_project = "Создать новый проект"
        edit_project = "Редактировать проект"
        list_project = "Список проектов"
        exit = "Назад"
        flag = True
        if isRang(GetRangs(call.from_user.id, cursor), [7, 9, 10]):
            keyboard.add(new_project)
            keyboard.add(edit_project)
            flag = False
        if IsUserTeamlead(call.from_user.id, cursor) and flag:
            keyboard.add(edit_project)
        keyboard.add(list_project)
        keyboard.add(exit)
        bot.delete_message(chat_id=call.message.chat.id, message_id=call.message.message_id)
        bot.send_message(call.message.chat.id, 'Вкладка <b>"Проекты"</b>', reply_markup=keyboard, parse_mode='HTML')
Example #18
0
def text(message):
    if not (IsUserInDB(message.from_user.id, '@' + message.from_user.username,
                       cursor)):
        start(message)
    elif message.chat.type == 'private':
        mess = message.text
        cherrypy.log(message.text)
        if mess == '📂 Проекты':
            projectsMenu(message)
        elif mess == '📊 Оценки':
            keyboard = telebot.types.ReplyKeyboardMarkup(
                one_time_keyboard=True, resize_keyboard=True)
            if IsUserTeamlead(message.from_user.id, cursor):
                keyboard.add(emojize(':crown: Оценка нематериального вклада'))
                #keyboard.add('Оценка вклада экспертов')
            if isRang(GetRangs(message.from_user.id, cursor), [5, 8, 9, 10]):
                keyboard.row(emojize(':eyes: Посмотреть свои оценки'),
                             emojize(':newspaper: Оценки пользователей'))
            else:
                keyboard.add(emojize(':eyes: Посмотреть свои оценки'))
            if isRang(GetRangs(message.from_user.id, cursor), [9]):
                keyboard.add('Подвести итоги оценок вклада')
            keyboard.add('Назад')
            bot.send_message(message.chat.id,
                             'Вкладка <b>"Оценки"</b>',
                             reply_markup=keyboard,
                             parse_mode='HTML')
        elif mess == 'Оценка вклада экспертов':
            # start_expert_voting(message)
            pass
        elif mess == '👑 Оценка нематериального вклада':
            contribution(message)
        elif mess == '👀 Посмотреть свои оценки':
            marks_of(message, message.from_user.id)
        elif mess == '📋 Профиль':
            keyboard = telebot.types.ReplyKeyboardMarkup(
                one_time_keyboard=True, resize_keyboard=True)
            keyboard.row(emojize(':eyes: Посмотреть профиль'),
                         emojize(':scissors: Редактировать профиль'),
                         emojize(':name_badge: Сбросить профиль'))
            keyboard.add(emojize(':newspaper: Профили пользователей'))
            keyboard.add(emojize('Назад'))
            bot.send_message(message.chat.id,
                             'Вкладка <b>"Профиль"</b>',
                             reply_markup=keyboard,
                             parse_mode='HTML')
        elif mess == '➕📓 Добавить абитуриентов':
            add_abit(message)
        elif mess == '👔 Функции администратора':
            keyboard = telebot.types.ReplyKeyboardMarkup(
                one_time_keyboard=True, resize_keyboard=True)
            keyboard.add('Добавить пользователей в систему')
            keyboard.row('Указать роль для пользователя',
                         'Убрать роль пользователя')
            if IsThereActiveVoting(cursor):
                keyboard.add('Закончить утверждение бюджета')
            else:
                keyboard.add(
                    emojize(
                        ':loudspeaker: Начать голосование за утверждение бюджета'
                    ))
            keyboard.row('Удалить проект', 'Удалить пользователя')
            keyboard.add('Назад')
            bot.send_message(message.chat.id,
                             'Вкладка <b>"Администратор"</b>',
                             reply_markup=keyboard,
                             parse_mode='HTML')
        elif mess == 'Указать роль для пользователя':
            set_rang(message)
        elif mess == 'Убрать роль пользователя':
            delete_rang(message)
        elif mess == 'Удалить проект':
            delete_project(message)
        elif mess == 'Добавить пользователей в систему':
            keyboard = telebot.types.ReplyKeyboardMarkup(
                one_time_keyboard=True, resize_keyboard=True)
            keyboard.row(
                emojize(':heavy_plus_sign::notebook: Добавить абитуриентов'),
                emojize(
                    ':heavy_plus_sign::money_with_wings: Добавить инвесторов'))
            keyboard.row(
                emojize(':heavy_plus_sign::trophy: Добавить тьюторов'),
                emojize(':heavy_plus_sign::microscope: Добавить экспертов'))
            keyboard.add(
                emojize(':heavy_plus_sign::pencil: Добавить преподавателей'))
            keyboard.add('Назад')
            bot.send_message(message.chat.id,
                             'Кого вы хотите добавить?',
                             reply_markup=keyboard)
        elif mess == '➕🏆 Добавить тьюторов':
            add_tutor(message)
        elif mess == '➕🔬 Добавить экспертов':
            add_expert(message)
        elif mess == '➕✏ Добавить преподавателей':
            add_educator(message)
        elif mess == '💳 Функции инвестора':
            keyboard = telebot.types.ReplyKeyboardMarkup(
                one_time_keyboard=True, resize_keyboard=True)
            keyboard.row('Купить токены у пользователей',
                         'Продать токены пользователям')
            keyboard.row('Купить токены у системы', 'Продать токены системе')
            keyboard.add('Назад')
            bot.send_message(message.chat.id,
                             'Вкладка <b>"Инвестор"</b>',
                             reply_markup=keyboard,
                             parse_mode='HTML')
        elif mess == '👀 Посмотреть профиль':
            get_profile(message)

        elif mess == '✂ Редактировать профиль':
            red_profile(message)
        elif mess == '📛 Сбросить профиль':
            reset(message)
        elif mess == '➕💸 Добавить инвесторов':
            add_investor(message)
        elif mess == '📰 Профили пользователей':
            look_profiles(message)
        elif mess == '📰 Оценки пользователей':
            look_marks(message)
        elif mess == "Создать новый проект":
            project_switch(message, 1)
        elif mess == "Редактировать проект":
            project_switch(message, 2)
        elif mess == "Список проектов":
            project_switch(message, 3)
        elif mess == 'Назад':
            bot.send_message(message.chat.id,
                             'Главное меню',
                             reply_markup=get_keyboard(message.from_user.id))
        elif mess == '📢 Начать голосование за утверждение бюджета':
            send_budget_offer(message)
        elif mess == 'Закончить утверждение бюджета':
            finish_budget(message)
        elif mess == 'Функции тьютора':
            keyboard = telebot.types.ReplyKeyboardMarkup(
                one_time_keyboard=True, resize_keyboard=True)
            keyboard.add(
                emojize(':heavy_plus_sign::notebook: Добавить абитуриентов'))
            keyboard.row('Добавить досье пользователю',
                         'Посмотреть досье пользователя')
            keyboard.add('Назад')
            bot.send_message(message.chat.id,
                             'Вкладка <b>"Тьютор"</b>',
                             reply_markup=keyboard,
                             parse_mode='HTML')
        elif mess == 'Добавить досье пользователю':
            add_dosier(message)
        elif mess == 'Посмотреть досье пользователя':
            look_dosier(message)
        elif mess == '🌐 Токены' or mess == 'Вернуться':
            # keyboard = telebot.types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
            # keyboard.add(emojize(':performing_arts: Обменяться токенами вклада'))
            # keyboard.add(emojize(':currency_exchange: Обменять токены инвестиции на токены вклада'))
            # keyboard.add('Назад')
            # bot.send_message(message.chat.id, 'Работа с токенами Корпуса', reply_markup=keyboard)
            bot.send_message(message.chat.id,
                             'Функция временно недоступна',
                             reply_markup=get_keyboard(message.from_user.id))
        elif mess == '🎭 Обменяться токенами вклада':
            keyboard = telebot.types.ReplyKeyboardMarkup(
                one_time_keyboard=True, resize_keyboard=True)
            keyboard.row('Попросить токены вклада', 'Передать токены вклада')
            keyboard.add('Вернуться')
            bot.send_message(message.chat.id,
                             'Что вы хотите?',
                             reply_markup=keyboard)
        # elif mess == 'Попросить токены вклада':
        #     ask_tokens(message)
        # elif mess == 'Передать токены вклада':
        #     give_tokens(message)
        # elif mess == '💱 Обменять токены инвестиции на токены вклада':
        #     change_investment_tokens(message)
        elif mess in ['hi', 'Hi', 'Привет', 'привет', 'hello', 'Hello']:
            bot.send_message(message.chat.id,
                             'Привет, ' + message.from_user.id,
                             reply_markup=get_keyboard(message.from_user.id))
        elif mess in [
                'Купить токены у пользователей',
                'Продать токены пользователям', 'Купить токены у системы',
                'Продать токены системе'
        ]:
            bot.send_message(message.chat.id,
                             'Функция пока недоступна',
                             reply_markup=get_keyboard(message.from_user.id))
        else:
            bot.send_message(message.chat.id,
                             'Неизвестная команда',
                             reply_markup=get_keyboard(message.from_user.id))
Example #19
0
def get_profile(message):
    if message.chat.type == 'private':
        if isRang(GetRangs(message.from_user.id, cursor),
                  [2, 3, 4, 5, 6, 7, 8, 9, 10]):
            profile = GetProfile(message.from_user.id, cursor)
            if profile[0] != None:
                string = 'Пользователь: ' + profile[0]
                string += "\nФото: "
                bot.send_message(message.chat.id, string)
                try:
                    bot.send_photo(message.chat.id, profile[3])
                except telebot.apihelper.ApiException:
                    bot.send_message(message.chat.id, 'Фото недоступно')
                try:
                    string = "Телефон: " + str(profile[1])
                except:
                    pass
                try:
                    string = string + "\nGoogle-аккаунт: " + profile[2]
                except:
                    pass
                try:
                    string = string + "\nДата регистрации: " + profile[5]
                    string = string + '\nАвторитет: ' + str(profile[4])
                    if profile[6] == None:
                        string = string + '\nСумма оценок в текущем месяце: 0'
                    else:
                        string = string + '\nСумма оценок в текущем месяце: ' + str(
                            profile[6])
                    if profile[7] != None:
                        string = string + '\nДосье: ' + profile[7]
                    wallet = GetWallet(message.from_user.id, cursor)
                    if wallet != 'wallet':
                        string = string + '\nEtherium-кошелек:' + wallet
                    try:
                        string = string + '\nТокены вклада: ' + str(
                            GetContributionTokens(message.from_user.id,
                                                  cursor))
                        string = string + '\nТокены инвестиций: ' + str(
                            GetInvestmentTokens(message.from_user.id, cursor))
                    except:
                        print("Fix it 2")
                except:
                    print("Fix it")
                string = string + '\nРоли в системе: '
                rangs = GetRangs(message.from_user.id, cursor)
                for rang in rangs:
                    string = string + GetTitleOfRang(rang, cursor) + ', '
                string = string[:len(string) - 2]
                projects = GetProjectsOfUser(message.from_user.id, cursor)
                if len(projects):
                    string += '\nСостоит в проектах: '
                    for project in projects:
                        string += '"' + project[0] + '", '
                    string = string[:len(string) - 2]
                else:
                    string += '\nАктивных проектов нет'
                bot.send_message(message.chat.id,
                                 string,
                                 reply_markup=get_keyboard(
                                     message.from_user.id))
            else:
                bot.send_message(message.chat.id,
                                 "Ой, анкета еще не заполнена",
                                 reply_markup=get_keyboard(
                                     message.from_user.id))
            SetState(message.from_user.id, 6, cursor, db)