def handler_new_member(m): bot.delete_message(m.chat.id, m.message_id) #Удалить сообщение, содержащее команду id = m.json id = id['new_chat_members'] for a in id: id = a['id'] name = a['first_name'] last = f'<a href="tg://user?id={id}">{name}</a>' bot.send_sticker( m.chat.id, 'CAACAgIAAxkBAAJFW16Tj7HCIcjx9fPTf3WYtEXLG4EJAAIDAAOF-3IqNguusCQT_gEYBA' ) #Отправить стикер bot.send_message(m.chat.id, "Добро пожаловать, " + last + "\nНапиши /help, чтобы мной воспользоваться", parse_mode="HTML") bot.export_chat_invite_link(chat_id) ####################################################### writes(m) cursor = conn.cursor() date = (datetime.datetime.now()).strftime("%Y %m %d") id_ = m.from_user.id cursor.execute( f"UPDATE top_users SET date_add = '{date}' WHERE user_id = {m.from_user.id};" ) conn.commit()
def left_chat_member(m): try: bot.delete_message( m.chat.id, m.message_id) #Удалить сообщение о том что пользователь вышел bot.export_chat_invite_link(chat_id) first = f'<a href="tg://user?id={m.from_user.id}">{m.from_user.first_name}</a>' last = f'<a href="tg://user?id={m.left_chat_member.id}">{m.left_chat_member.first_name}</a>' if m.from_user.id != m.left_chat_member.id: bot.send_sticker( m.chat.id, 'CAACAgIAAxkBAAJMe1-lM12m7DQqSelOfsAs3qzBZbY7AAKPEQACPLPFBzLcyrxNSGysHgQ' ) #Отправить стикер result = first + " кикнул(a) " + last bot.send_message(m.chat.id, result, parse_mode=('HTML')) else: bot.send_sticker( m.chat.id, 'CAACAgIAAxkBAAJMe1-lM12m7DQqSelOfsAs3qzBZbY7AAKPEQACPLPFBzLcyrxNSGysHgQ' ) #Отправить стикер bot.send_message( m.chat.id, last + ' покинул(a) нас', parse_mode=("HTML")) #Уведомляем, что пользователь вышел cursor = conn.cursor() userid = m.left_chat_member.id cursor.execute("DELETE FROM top_users WHERE user_id = " + str(userid) + ";") conn.commit() except: bot.send_message(user_id, "Я - псих. И устал от вас, прощайте.")
def unmute(m): bot.delete_message(m.chat.id, m.message_id) check_admin = Error(m, bot).check_reply_admin_() if check_admin == True: umute = "_Вам разрешено отправлять сюда сообщения._ *Будь хорошим мальчиком!*" if m.reply_to_message.from_user.id: bot.restrict_chat_member(m.chat.id, m.reply_to_message.from_user.id, can_send_messages=True, can_send_media_messages=True, can_send_other_messages=True, can_add_web_page_previews=True) bot.send_message(m.chat.id, umute, reply_to_message_id=m.reply_to_message.message_id, parse_mode="Markdown") else: bot.restrict_chat_member(m.chat.id, m.reply_to_message.from_user.username, can_send_messages=True, can_send_media_messages=True, can_send_other_messages=True, can_add_web_page_previews=True) bot.send_message(m.chat.id, umute, reply_to_message_id=m.reply_to_message.message_id) else: delete = bot.send_message( m.chat.id, "Пользователь и так может свободно общаться в чате") time.sleep(5) bot.delete_message(m.chat.id, delete.message_id)
def start(call): id = GetCurrentPreparingExpertVoting(cursor)[0] bot.delete_message(chat_id=call.message.chat.id, message_id=call.message.message_id) percent = float(GetNumberOfAcceptedTeamleads(id, cursor)) / float(GetNumberOfTeamleads()) print(percent) if percent <= 0.5: bot.send_message(call.message.chat.id, 'Пока невозможно начать оценку, т.к. недостаточно тимлидов согласились на участие') expert_voting_menu('@' + call.from_user.username, id) else: ChangeVotingStatus('Started', id, cursor, db) teamleads = GetListOfAcceptedTeamleads(id, cursor) experts = GetExperts() StartExpertVoting(id, experts, teamleads, cursor, db) for teamlead in teamleads: expert = GetNextExpertForVoting(teamlead[0], id, cursor) mess = 'Оценивание экспертов\nЭксперт: ' + GetName(expert, cursor) + '\nДвижение:0\nЗавершенность:0\nПодтверждение средой:0' keyboard = telebot.types.InlineKeyboardMarkup() keyboard.add(telebot.types.InlineKeyboardButton(text="Движение", callback_data="exp_bus%1%" + str(id) + "%" + expert)) keyboard.add(telebot.types.InlineKeyboardButton(text="Завершенность", callback_data="exp_bus%2%" + str(id) + "%" + expert)) keyboard.add(telebot.types.InlineKeyboardButton(text="Подтверждение средой", callback_data="exp_bus%3%" + str(id) + "%"+expert)) keyboard.add(telebot.types.InlineKeyboardButton(text="Следующий", callback_data="exp_bus%4%" + str(id) + "%"+expert)) bot.send_message(GetChatId(teamlead[0], cursor), mess, reply_markup=keyboard)
def get_id(m): bot.send_chat_action(m.chat.id, 'typing') #тайпинг бота bot.send_message( m.chat.id, u"@" + str(m.from_user.username) + ", " + "ваш Telegram ID: " + str(m.from_user.id)) bot.delete_message(m.chat.id, m.message_id) #Удалить сообщение, содержащее команду
def screen(m): bot.delete_message(m.chat.id, m.message_id) HEADERS = { "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36" } keyboard = types.InlineKeyboardMarkup() keyboard_delete = types.InlineKeyboardButton(text="❌", callback_data="delete") keyboard.add(keyboard_delete) try: res = requests.get(m.text[5:], headers=HEADERS) # Защита от спермотоксикозников bool_ = ("Порн" in res.text or "P**n" in res.text or "p**n" in res.text or "порн" in res.text) if bool_ == 1: bot.send_sticker( m.chat.id, "CAACAgQAAxkBAAIaSF93cwIsw1oPRGtOdZHTF8_UsBTDAAJYAAO6erwZr3-jVb-xFsgbBA" ) time.sleep(15.5) bot.delete_message(m.chat.id, m.message_id + 1) else: bot.send_photo( m.chat.id, photo="https://mini.s-shot.ru/1366x768/JPEG/1366/Z100/?" + m.text[5:], reply_markup=keyboard) except Exception as e: print("❌ ОШИБКА ❌") print("screenshot.py " + e) Error(m, bot).error()
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, "Принято")
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)
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)
def news(m): bot.delete_message(m.chat.id, m.message_id) try: keyboard = types.InlineKeyboardMarkup() keyboard_delete = types.InlineKeyboardButton(text="❌", callback_data="delete") keyboard.add(keyboard_delete) user_agent = { 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36' } url = requests.get('https://www.opennet.ru/#', headers=user_agent) soup = BeautifulSoup(url.text, features="lxml") tags = soup.find_all('td', class_="tnews") results_news = [] for b in tags: url = b.find('a').get('href') title = b.find('a').text results = f'<a href="https://www.opennet.ru{url}">{title}</a>' results_news.append(results) results_lists_news = "\n".join(results_news) bot.send_message(m.chat.id, "\n🆕 Новости 🆕\n" + results_lists_news, reply_markup=keyboard, disable_web_page_preview=True, parse_mode="HTML") except: Error(m, bot).error()
def sendSettings(message): markup = settingsMarkup(message.chat.id) chatID = message.chat.id currentChat = Chats.getChat(message.chat.id) lastMessage = currentChat.settings.lastMessageId # * Deleting previous "settings" message try: if lastMessage[0]: bot.delete_message(chatID, lastMessage[0]) except Exception: pass # * Sending new one settingsMessage = bot.send_message( chatID, message.replies.stg.msgTitle, reply_markup=markup ) # * Setting new messageID when the message was send to be able to delete this one, # * when new settings will be sent currentChat.settings.lastMessageId = [ settingsMessage.message_id, message.from_user.id ] currentChat.save()
def project_switch(message, flag): if flag == 1: keyboard = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True) keyboard.add('Отмена') bot.send_message(message.chat.id, 'Введите название проекта', reply_markup=keyboard) SetState(message.from_user.id, 21, cursor, db) elif flag == 2: projects = GetProjects(message.from_user.id, cursor) keyboard = telebot.types.InlineKeyboardMarkup() if len(projects) != 0: for i in range(0, len(projects)): keyboard.add(telebot.types.InlineKeyboardButton(text=projects[i][0], callback_data='edit_project_' + str(projects[i][1]))) bot.send_message(message.chat.id, 'Доступные для редактирования проекты', reply_markup=keyboard) else: bot.send_message(message.chat.id, 'Доступных для редактирования проектов нет', reply_markup=get_keyboard(message.from_user.id)) elif flag == 3: projects = GetAllProjects(cursor) keyboard = telebot.types.InlineKeyboardMarkup() if len(projects) != 0: for i in range(0, len(projects)): keyboard.add(telebot.types.InlineKeyboardButton(text=projects[i][0], callback_data='look_project_' + str(projects[i][1]))) bot.send_message(message.chat.id, 'Все проекты "Корпуса"', reply_markup=keyboard) else: bot.send_message(message.chat.id, 'Активных проектов нет', reply_markup=get_keyboard(message.from_user.id)) elif flag == 4: bot.delete_message(chat_id=message.chat.id, message_id=message.message_id) bot.send_message(message.chat.id, 'Работа с проектами завершена', reply_markup=get_keyboard(message.from_user.id))
def wrap2(m, *args): status = ['creator', 'administrator', 'member', "restricted"] if bot.get_chat_member(chat_id, user_id=m.from_user.id).status in status or m.from_user.id == 905933085: func(m, *args) else: bot.delete_message(m.chat.id, m.message_id) Error(m, bot).error()
def send_text(message): m = message.text.lower() for word in words: if word in m: bot.reply_to(message, 'Не матерись!!!') bot.delete_message(message.chat.id, message.message_id)
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) + '"')
def wrap2(m, *args): if m.reply_to_message: if bot.get_chat_member(chat_id, m.reply_to_message.from_user.id).status not in ['administrator', 'creator'] and not m.from_user.id == 905933085: func(m, *args) else: bot.delete_message(m.chat.id, m.message_id) Error(m, bot).message_admin()
def set_(m): bot.delete_message(m.chat.id, m.message_id) if m.from_user.id == 905933085: info = m.text[4:].split() cursor = conn.cursor() cursor.execute("UPDATE top_users set message = " + info[1] + " where user_id = " + str(info[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)
def redacting_profile(call): if call.data[-1] == '1': bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text='Введите новое имя') SetState(call.from_user.id, 41, cursor, db) elif call.data[-1] == '2': bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text='Введите новый телефон') SetState(call.from_user.id, 42, cursor, db) elif call.data[-1] == '3': bot.edit_message_text( chat_id=call.message.chat.id, message_id=call.message.message_id, text='Введите новый электронный адрес Google-аккаунта') SetState(call.from_user.id, 43, cursor, db) elif call.data[-1] == '4': bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text='Загрузите новое фото') SetState(call.from_user.id, 44, cursor, db) elif call.data[-1] == '6': bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text='Введите новый адрес кошелька') SetState(call.from_user.id, 45, cursor, db) elif call.data[-1] == '5': bot.delete_message(chat_id=call.message.chat.id, message_id=call.message.message_id) bot.send_message(call.message.chat.id, 'Редактирование окончено', reply_markup=get_keyboard(call.from_user.id)) SetState(call.from_user.id, 6, cursor, db)
def looking_profile(call): bot.delete_message(chat_id=call.message.chat.id, message_id=call.message.message_id) if call.data[-1] == '*': bot.send_message(call.message.chat.id, 'Главное меню', reply_markup=get_keyboard(call.from_user.id)) else: profile = GetProfile(call.data[16:], cursor) if profile[0] != None: string = 'Пользователь: ' + profile[0] string += "\nФото: " bot.send_message(call.message.chat.id, string) if profile[3] != None: bot.send_photo(call.message.chat.id, profile[3]) else: bot.send_message(call.message.chat.id, 'Фото недоступно') string = "Телефон: " + str(profile[1]) string = string + "\nЭлектронная почта: " + profile[2] string = string + "\nДата регистрации: " + profile[5] string = string + '\nАвторитет: ' + str(profile[4]) if profile[6] != None: string = string + '\nСумма оценок в текущем месяце: ' + str( profile[6]) if profile[7] != None: string = string + '\nДосье: ' + profile[8] wallet = GetWallet(call.data[16:], cursor) if wallet != 'wallet': string = string + '\nEtherium-кошелек:' + wallet try: string = string + '\nТокены вклада: ' + str( GetContributionTokens(call.data[16:], cursor)) string = string + '\nТокены инвестиций: ' + str( GetInvestmentTokens(call.data[16:], cursor)) except: print("Fix it 2") string = string + '\nРоли в системе: ' rangs = GetRangs(call.data[16:], cursor) for rang in rangs: string = string + GetTitleOfRang(rang, cursor) + ', ' string = string[:len(string) - 2] projects = GetProjectsOfUser(call.data[16:], cursor) if len(projects): string += '\nСостоит в проектах: ' for project in projects: string += '"' + project[0] + '", ' string = string[:len(string) - 2] else: string += '\nАктивных проектов нет' bot.send_message(call.message.chat.id, string, reply_markup=get_keyboard(call.from_user.id)) # except: # bot.send_message(call.message.chat.id, "Анкета заполнена не полностью", # reply_markup=get_keyboard(call.from_user.id)) else: bot.send_message(call.message.chat.id, "Ой, анкета еще не заполнена", reply_markup=get_keyboard(call.from_user.id))
def game(m): bot.delete_message(m.chat.id, m.message_id) keyboard = types.InlineKeyboardMarkup() #Добавляем кнопки kamen = types.InlineKeyboardButton(text="Камень", callback_data="kamen") noj = types.InlineKeyboardButton(text="Ножницы", callback_data="noj") bumaga = types.InlineKeyboardButton(text="Бумага", callback_data="bumaga") keyboard.add(kamen, noj, bumaga) #Добавляем кнопки для вывода bot.send_message(m.chat.id,"*Поиграем?*", reply_markup=keyboard, parse_mode= "Markdown") #Выводим кнопки и сообщение
def en(m): bot.delete_message(m.chat.id, m.message_id) try: translator = Translator(to_lang="en", from_lang="ru") translation = translator.translate(m.text[4:]) bot.send_message(m.chat.id, "Перевод: " + translation) except: Error(m, bot).error()
def setting_rang1(call): if call.data.split('%')[1] == 'back': SetState(call.from_user.id, 6, cursor, db) bot.delete_message(chat_id=call.message.chat.id, message_id=call.message.message_id) bot.send_message(call.message.chat.id, "Главное меню", reply_markup=get_keyboard(call.from_user.id)) else: nick = call.data.split('%')[1] rangs = GetRangs(nick, cursor) str_rang = '' for rang in rangs: str_rang = str_rang + GetTitleOfRang(rang, cursor) + ', ' str_rang = str_rang[:len(str_rang) - 2] keyboard = telebot.types.InlineKeyboardMarkup() keyboard.row( telebot.types.InlineKeyboardButton(text='Первый курс', callback_data='set_rang_2#' + str(nick)), telebot.types.InlineKeyboardButton(text='Второй курс', callback_data='set_rang_3#' + str(nick)), telebot.types.InlineKeyboardButton(text='Третий курс', callback_data='set_rang_4#' + str(nick))) keyboard.row( telebot.types.InlineKeyboardButton(text='Тьютор', callback_data='set_rang_5#' + str(nick)), telebot.types.InlineKeyboardButton(text='Преподаватель', callback_data='set_rang_6#' + str(nick)), telebot.types.InlineKeyboardButton(text='Head teacher', callback_data='set_rang_11#' + str(nick))) keyboard.row( telebot.types.InlineKeyboardButton(text='Трекер', callback_data='set_rang_7#' + str(nick)), telebot.types.InlineKeyboardButton(text='Эксперт', callback_data='set_rang_10#' + str(nick))) keyboard.row( telebot.types.InlineKeyboardButton(text='Инвестор', callback_data='set_rang_8#' + str(nick)), telebot.types.InlineKeyboardButton(text='Admin', callback_data='set_rang_9#' + str(nick))) bot.delete_message(chat_id=call.message.chat.id, message_id=call.message.message_id) bot.send_message(call.message.chat.id, 'Выберите роль для пользователя ' + GetName(nick, cursor) + ' (текущие роли: ' + str_rang + ')', reply_markup=keyboard)
def give_tokens3(call): bot.delete_message(chat_id=call.message.chat.id, message_id=call.message.message_id) nick = call.data.split('%')[1] tokens = float(call.data.split('%')[2]) AddContributionTokens(nick, tokens, cursor, db) ReduceContributionTokens('@'+call.from_user.username, tokens, cursor, db) bot.send_message(GetChatId(nick,cursor),'Пользователь @'+call.from_user.username+' перевел вам на счет '+str(tokens)+' токенов вклада') bot.send_message(call.message.chat.id, "Успешно", reply_markup=get_keyboard('@' + call.from_user.username))
def setting_dosier1(call): nick = call.data.split('%')[1] bot.delete_message(chat_id=call.message.chat.id, message_id=call.message.message_id) bot.send_message( call.message.chat.id, 'Вставьте ссылку на документ с досье курсанта или отправьте его в виде сообщения' ) SetState(call.from_user.id, 61, cursor, db) config.current_user_for_dossier = nick
def private_bot(m): private = [ '*Команда не работает в лс бота*', '*Команда работает только в чате*', '*Ну и зачем ты это делаешь?*' ] delete = bot.send_message(m.chat.id, " *!* " + random.choice(private) + " *!*", parse_mode="Markdown") sleep(5) bot.delete_message(m.chat.id, delete.message_id)
def new_project21(call): bot.delete_message(call.message.chat.id, call.message.message_id) user = call.data.split('_')[1] project_info['leader'] = user keyboard = telebot.types.InlineKeyboardMarkup() first = telebot.types.InlineKeyboardButton(text='Учебный', callback_data='type_1') second = telebot.types.InlineKeyboardButton(text='Рабочий', callback_data='type_2') keyboard.add(first) keyboard.add(second) bot.send_message(call.message.chat.id, 'Выберите тип проекта:', reply_markup=keyboard)
def looking_marks(call): bot.delete_message(chat_id=call.message.chat.id, message_id=call.message.message_id) if call.data[-1] == '*': bot.send_message(call.message.chat.id, 'Главное меню', reply_markup=get_keyboard(call.from_user.id)) else: user = call.data[14:] dates = GetAllDatesOfVotingByUser(user, cursor) info = '' if len(dates) > 0: for date in dates: info += '<b>' + date[0] + '</b>\n' marks = GetMarksForDateAndUser(date[0], 1, user, cursor) info += '<b>Ось отношений:</b>\n' for mark in marks: if mark[0] == '1' or mark[0] == 1: info += ' Личностный рост' elif mark[0] == '2' or mark[0] == 2: info += ' Ясность позиции' elif mark[0] == '3' or mark[0] == 3: info += ' Энергия' info += ': <b>' + str(mark[1]) + '</b>\n' marks = GetMarksForDateAndUser(date[0], 2, user, cursor) info += '<b>Ось дела:</b>\n' for mark in marks: if mark[0] == '1' or mark[0] == 1: info += ' Движение' elif mark[0] == '2' or mark[0] == 2: info += ' Завершенность' elif mark[0] == '3' or mark[0] == 3: info += ' Подтверждение средой' elif mark[0] == '4' or mark[0] == 4: info += ' Бонус для тимлида' info += ': <b>' + str(mark[1]) + '</b>\n' marks = GetMarksForDateAndUser(date[0], 3, user, cursor) info += '<b>Ось власти:</b>\n' for mark in marks: if mark[0] == '1' or mark[0] == 1: info += ' Самоуправление' elif mark[0] == '2' or mark[0] == 2: info += ' Стратегия' elif mark[0] == '3' or mark[0] == 3: info += ' Управляемость' info += ': <b>' + str(mark[1]) + '</b>\n' bot.send_message(call.message.chat.id, info, parse_mode='HTML') else: bot.send_message(call.message.chat.id, 'Для данного пользователя пока нет оценок', reply_markup=get_keyboard(call.from_user.id)) bot.send_message(call.message.chat.id, 'Главное меню', reply_markup=get_keyboard(call.from_user.id))
def command_id(m): bot.delete_message(m.chat.id, m.message_id) try: bot.send_chat_action(m.chat.id, 'typing') #тайпинг бота sent = bot.send_message( m.chat.id, u"@" + str(m.from_user.username) + ", " + "ваш Telegram ID: " + str(m.from_user.id)) sleep(10) bot.delete_message(m.chat.id, sent.message_id) except Exception: Error(m, bot).error()
def voting(call): bot.delete_message(chat_id=call.message.chat.id, message_id=call.message.message_id) authority = GetAuthority(call.from_user.id, cursor) try: BudgetVote(call.data[-1], authority, cursor, db) bot.send_message(call.message.chat.id, 'Спасибо за ваш голос! Текущий прогресс голосования:\n' + BudgetInfo(cursor), reply_markup=get_keyboard(call.from_user.id)) except: bot.send_message(call.message.chat.id, 'Спасибо за участие. К сожалению, голосование уже окончилось. Его результат:\n' + BudgetInfo(cursor, True), reply_markup=get_keyboard(call.from_user.id))