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
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
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)
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)
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
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
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