def print_request(self, request, keyboard, stp, reply=None): stp = User.get(id=stp.user) self.tb.send_message(self.chat, "Заявка /r%s:\nНомер: %s\nНовых сообщений: <b>%s</b>\nКатегория: %s\nТип: %s\nКомментарий: %s" % ( str(request.id) + ' ' + request.unicode_icons, request.id, self.count_request_messages(request, stp), get_breadcrumb(request.type.section.id, Section, 'parent_section'), get_breadcrumb(request.type.id, Type, 'parent_type'), request.text, ), reply_markup=keyboard, parse_mode='HTML')
def _send_close_request(self, user): r = Request.get(id=user.additional_data.get('chat')) user_to_reiceve = r.user keyboard = generate_custom_keyboard(types.InlineKeyboardMarkup, [ [get_button_inline("Да", "request_close_accept %s" % r.id), get_button_inline("Нет", "request_close_decline %s" % r.id)]]) self.tb.send_message(user_to_reiceve.telegram_chat_id, "Тех. поддержка посчитала, что заявка /r%s:\nНомер: %s\nКатегория: %s\nТип: %s\nКомментарий: %s\nЗавершена, Вы согласны?" % ( str(r.id) + ' ' + r.unicode_icons, r.id, get_breadcrumb(r.type.section.id, Section, 'parent_section'), get_breadcrumb(r.type.id, Type, 'parent_type'), r.text, ), reply_markup=keyboard, parse_mode='HTML')
def print_request(self, request): if not request.is_finished: keyboard = generate_custom_keyboard(types.InlineKeyboardMarkup, [ [get_button_inline("Перейти в чат", 'start_chat %s' % request.id)], [get_button_inline("Заявка решена", "change_request_status %s" % request.id)]]) else: keyboard = None self.tb.send_message(self.chat, "Заявка /r%s:\nНомер: %s\nНовых сообщений: <b>%s</b>\nКатегория: %s\nТип: %s\nКомментарий: %s\nСтатус: %s" % ( str(request.id) + ' ' + request.unicode_icons, request.id, self.count_request_messages(request.id, User.get(id=request.user)), get_breadcrumb(request.type.section.id, Section, 'parent_section'), get_breadcrumb(request.type.id, Type, 'parent_type'), request.text, "Завершена" if request.is_finished else "Не завершена" ), reply_markup=keyboard, parse_mode='HTML')
def save_selected_type(self, type, message): user = User.get(id=self.user) user.additional_data['type'] = type bread = get_breadcrumb(type, Type, 'parent_type') self.tb.edit_message_text("Вы выбрали тип вопроса: %s" % bread, chat_id=self.chat, message_id=message) keyboard = generate_custom_keyboard(types.InlineKeyboardMarkup, [[get_button_inline("Изменить", "type_change")]]) self.tb.edit_message_reply_markup(self.chat, message_id=message, reply_markup=keyboard) user.save()
def save_selected_section(self, section, message): user = User.get(id=self.user) user.additional_data = dict() user.additional_data['section'] = section bread = get_breadcrumb(section, Section, 'parent_section') self.tb.edit_message_text("Вы выбрали раздел: %s" % bread, chat_id=self.chat, message_id=message) keyboard = generate_custom_keyboard(types.InlineKeyboardMarkup, [[get_button_inline("Изменить", "section_change")]]) self.tb.edit_message_reply_markup(self.chat, message_id=message, reply_markup=keyboard) user.save()
def _notify_user(data): text = "Для ваших заявок есть новые сообщения:\n" keyboard = generate_custom_keyboard( types.InlineKeyboardMarkup, [[get_button_inline("Мои заявки", "show_requests")]]) for user_id in data: user = User.get(id=user_id) if user.has_messages_after_notification: for chat in data[user_id]: request = Request.get() text += "Заявка /r%s:\nНомер: %s\n<b>Новых сообщений:" \ "%s</b>\nКатегория: %s\nТип: %s\nКомментарий: %s\n" % ( str(request.id) + ' ' + request.unicode_icons, request.id, chat['message_count'], get_breadcrumb(request.type.section.id, Section, 'parent_section'), get_breadcrumb(request.type.id, Type, 'parent_type'), request.text) tb.send_message(user.telegram_chat_id, text, reply_markup=keyboard, parse_mode='HTML') user.has_messages_after_notification = False user.save()
def __unicode__(self): return get_breadcrumb(self.id, Section, 'parent_section')