def bnts_users(gpid, id):
    users = requestsApi.getusers_in_group(gpid)
    btns = []
    btns.append(
        ("Образование", "baseusereducation_" + str(users[id]['telegram_id']) +
         "_" + str(id) + "_" + str(gpid)))
    btns.append(
        ("Проекты", "baseuserprojects_" + str(users[id]['telegram_id']) + "_" +
         str(id) + "_" + str(gpid)))
    btns.append(("Работа", "baseuserwork_" + str(users[id]['telegram_id']) +
                 "_" + str(id) + "_" + str(gpid)))
    if len(users) == 1:
        btns.append(("На главную", "tomain"))
    elif len(users) > 1 and id == 0:
        btns.append(("Вперед", "gonext_" + str(gpid) + "_" + str(id + 1)))
        btns.append(("На главную", "tomain"))
    elif len(users) != (id + 1):
        btns.append(("Вперед", "gonext_" + str(gpid) + "_" + str(id + 1)))
        btns.append(("Назад", "goback_" + str(gpid) + "_" + str(id - 1)))
        btns.append(("На главную", "tomain"))
    elif len(users) == (id + 1):
        btns.append(("Назад", "goback_" + str(gpid) + "_" + str(id - 1)))
        btns.append(("На главную", "tomain"))
    finish_btns = tg_helper.create_inline_markup(*btns, row_width=2)
    return finish_btns
示例#2
0
def get_groups_btn():
    groups = get_groups()
    data_list = []
    for group in groups:
        tulist = (str(group['name']), "group_"+ str(group['id']))
        data_list.append(tulist)
    btns = tg_helper.create_inline_markup(*data_list, row_width=2)
    return btns
示例#3
0
async def send_questions_for_all_users():
    users = get_users()
    for user in users:
        tgid = user['telegram_id']
        question = get_question(tgid)
        task = get_task(question['task_id'])
        id_que = question['id']
        btn = [('Ответить на вопрос','answertask_'+str(id_que)+"_"+str(1)+"_"+str(tgid)+"_"+str(question['task_id']))]
        finish_btns = tg_helper.create_inline_markup(*btn)
        await bot.send_message(chat_id=tgid,text="Tема: "+task['theme']+"\nЗадание: "+task['question'],reply_markup=finish_btns)
async def get_btns_param(userData, param, data):
    curgroup = data['fond']
    data_list = []
    groups = requestsApi.getgroups()
    for i in range(0, len(groups)):
        if curgroup == groups[i][
                'fond'] or curgroup == "mentor" or curgroup == "cofounder" or curgroup == "team":
            parametr = groups[i][param]
            tulist = (parametr, "fond" + param + "_" + parametr)
            if tulist not in data_list:
                data_list.append(tulist)
    btns = tg_helper.create_inline_markup(*reversed(data_list), row_width=2)
    return btns
async def base_main(message: types.Message):
    groups_list = []
    groups = requestsApi.getgroups()
    for i in range(0, len(groups)):
        fond = groups[i]['fond']
        tulist = ("Фонд \"" + fond + "\" " + groups[i]['year'],
                  "basefond_" + fond + "_" + groups[i]['year'])
        if tulist not in groups_list:
            groups_list.append(tulist)
    btns = tg_helper.create_inline_markup(*groups_list, row_width=1)
    await bot.send_message(message.from_user.id,
                           select_fond,
                           reply_markup=btns)
示例#6
0
async def id(callback_query: types.CallbackQuery):
    works_data = getworks(callback_query.from_user.id)
    id = 0
    btns = []
    for i in works_data:
        id += 1
        project_id = i["id"]
        tulist = ("Удалить работу #"+str(id), "removework_"+str(project_id))
        btns.append(tulist)
    tulist = ("Вернуться назад", "go_back_work")
    btns.append(tulist)
    btns_new = tg_helper.create_inline_markup(*reversed(btns), row_width=2)
    await bot.edit_message_reply_markup(chat_id=callback_query.from_user.id,message_id=callback_query.message.message_id,reply_markup=btns_new)
示例#7
0
def bnts_users(users, id, tgid):
    btns = []
    id = int(id)

    if len(users) > 1 and id == 0:
        btns.append(("Вперед", "gonext_" + str(id + 1)))
    elif len(users) != (id + 1):
        btns.append(("Вперед", "gonext_" + str(id + 1)))
        btns.append(("Назад", "goback_" + str(id - 1)))
    elif len(users) == (id + 1):
        btns.append(("Назад", "goback_" + str(id - 1)))

# if users[id]['telegram_id'] != tgid:
#     btns.append(("Предложить общаться", "gochat_"+tgid+"_"+id))
    finish_btns = tg_helper.create_inline_markup(*btns, row_width=2)
    return finish_btns
示例#8
0
async def manage_group(callback_query: types.CallbackQuery):
    groupid = str(callback_query.data).split("_")[1]
    chats = get_chats_in_group(groupid)
    btns = {
        ("Удалить группу", "removegroup_"+str(groupid)),
        ("Удалить чат", "remove_chat"),
        ("Назад", "create_newsletter"),
        ("Рассылка в группу", "createnewslettergroup_"+str(groupid))
    }
    group_manager = tg_helper.create_inline_markup(*btns)
    text = 'Чаты в этой группе:\n'
    i=0
    for chat in chats:
        i+=1
        text = text+str(i)+" ("+str(chat['id'])+"). "+str(chat['name'])+"\n"
    await bot.edit_message_text(chat_id=callback_query.from_user.id,message_id=callback_query.message.message_id,
                          text=text,reply_markup=group_manager)
async def id(callback_query: types.CallbackQuery):
    hobby_data = gethobby(callback_query.from_user.id)
    id = 0
    btns = []
    for i in hobby_data:
        id += 1
        project_id = i["id"]
        tulist = ("Удалить интерес #" + str(id),
                  "removehobby_" + str(project_id))
        btns.append(tulist)
    tulist = ("Вернуться назад", "go_back_hobby")
    btns.append(tulist)
    btns_new = tg_helper.create_inline_markup(*reversed(btns), row_width=2)
    await bot.edit_message_text(chat_id=callback_query.from_user.id,
                                message_id=callback_query.message.message_id,
                                text=hobby_text_2 + "\n" +
                                get_hobby_info(callback_query.from_user.id),
                                reply_markup=btns_new)
async def id(callback_query: types.CallbackQuery):
    competence_data = getcompetences(callback_query.from_user.id)
    id = 0
    btns = []
    for i in competence_data:
        id += 1
        project_id = i["id"]
        tulist = ("Удалить компетенцию #" + str(id),
                  "removecompetence_" + str(project_id))
        btns.append(tulist)
    tulist = ("Вернуться назад", "go_back_competence")
    btns.append(tulist)
    btns_new = tg_helper.create_inline_markup(*reversed(btns), row_width=2)
    await bot.edit_message_text(
        chat_id=callback_query.from_user.id,
        message_id=callback_query.message.message_id,
        text=competence_text_2 + "\n" +
        get_competence_info(callback_query.from_user.id),
        reply_markup=btns_new)
async def first_name(message: types.Message, state: FSMContext):
    if not message.text == "0":
        message.text = str(message.text).lower().title()
        requestsApi.update(message.from_user.id, "first_name", message.text)

    groups_list = []
    groups = requestsApi.getgroups()
    for i in range(0, len(groups)):
        fond = groups[i]['fond']
        tulist = ("Участник проекта \"" + fond + "\"", "fond_" + fond)
        if tulist not in groups_list:
            groups_list.append(tulist)
    groups_list.append(("Наставник", "fond_mentor"))
    groups_list.append(("Сооснователь Фонда", "fond_cofounder"))
    groups_list.append(("Команда Фонда", "fond_team"))
    btns = tg_helper.create_inline_markup(*groups_list, row_width=1)
    await bot.send_message(message.from_user.id,
                           group_text + edit_addon,
                           reply_markup=btns)
    await UserProfileEdit.next()
def get_hobbyes_btn(tgid):
    hobbyes = get_hobby_or_competence('hobby')
    hobby_user = gethobby(tgid)
    id = 0
    btns = []

    tips = []
    for user_hobby in hobby_user:
        hashtag = user_hobby['hashtag']
        if not tips.__contains__(hashtag):
            tips.append(hashtag)

    for hobby in hobbyes:
        id += 1
        if not tips.__contains__(hobby['tip']):
            tulist = ("#" + str(hobby['tip']), "addhobby_" + str(hobby['tip']))
            btns.append(tulist)
    tulist = ("Вернуться назад", "go_back_hobby")
    btns.append(tulist)
    btns_new = tg_helper.create_inline_markup(*btns)
    return btns_new
def get_competence_btn(tgid):
    competences = get_hobby_or_competence('competence')
    competences_user = getcompetences(tgid)
    id = 0
    btns = []

    tips = []
    for user_competence in competences_user:
        hashtag = user_competence['hashtag']
        if not tips.__contains__(hashtag):
            tips.append(hashtag)

    for competence in competences:
        id += 1
        if not tips.__contains__(competence['tip']):
            tulist = ("#" + str(competence['tip']),
                      "addcompetence_" + str(competence['tip']))
            btns.append(tulist)
    tulist = ("Вернуться назад", "go_back_competence")
    btns.append(tulist)
    btns_new = tg_helper.create_inline_markup(*btns)
    return btns_new
示例#14
0
async def state_reg(usertgid, data):
    userData = requestsApi.getUserData(usertgid)
    print(userData)
    if userData['last_name'] == "awaiting":
        await Registration.REG_LASTNAME.set()
        await bot.send_message(usertgid, last_name_txt)
        return
    elif userData['first_name'] == "awaiting":
        await Registration.REG_FIRSTNAME.set()
        await bot.send_message(usertgid, first_name_txt)
        return
    elif "fond" not in data and userData['group'] == "awaiting":
        await Registration.REG_GROUP.set()
        groups_list = []
        groups = requestsApi.getgroups()
        for i in range(1, len(groups)):
            fond = groups[i]['fond']
            tulist = ("Участник проекта \"" + fond + "\"", "fond_" + fond)
            if tulist not in groups_list:
                groups_list.append(tulist)
        groups_list.append(("Наставник", "fond_mentor"))
        groups_list.append(("Сооснователь Фонда", "fond_cofounder"))
        groups_list.append(("Команда Фонда", "fond_team"))
        btns = tg_helper.create_inline_markup(*groups_list, row_width=1)
        await bot.send_message(usertgid, group_text, reply_markup=btns)
        return
    elif "city" not in data and userData['city'] == "awaiting":
        await Registration.REG_CITY.set()

        btns = await get_btns_param(userData, "city", data)
        await bot.send_message(usertgid, city_where, reply_markup=btns)

        return
    elif "1970-01-01" == userData['startdate']:
        await Registration.REG_YEARENTER.set()
        btns = await get_btns_param(userData, "year", data)
        await bot.send_message(usertgid, year_join, reply_markup=btns)

        return
    elif userData['email'] == "awaiting":
        await Registration.REG_EMAIL.set()
        await bot.send_message(usertgid, email_text)
        return
    elif userData['vk'] == "awaiting":
        await Registration.REG_VK.set()
        await bot.send_message(usertgid, vk_text)
        return
    elif userData['fb'] == "awaiting":
        await Registration.REG_FB.set()
        await bot.send_message(usertgid, fb_text)
        return
    elif userData['telnum'] == "awaiting":
        await Registration.REG_TEL.set()
        await bot.send_message(usertgid, telnum_text)
        return
    elif "1970-01-01" == userData['birthday']:
        await Registration.REG_BITRH.set()
        await bot.send_message(usertgid, birthday_text)
        return
    elif not check_photo(usertgid):
        await Registration.REG_PHOTO.set()
        await bot.send_message(usertgid, photo_text)
        return
    else:

        await bot.send_message(usertgid,
                               finished_reg_text,
                               reply_markup=MAIN_KB)
        return True
def back_btn(gpid, id, tgid):
    btn = []
    btn.append(
        ("Назад", "backtouser_" + str(tgid) + "_" + str(id) + "_" + str(gpid)))
    finish_btn = tg_helper.create_inline_markup(*btn, row_width=1)
    return finish_btn