コード例 #1
0
    def feedback(self):
        if self.last_command.current_menu == constants.feedback:
            Feedback.objects.create(user=self.user,
                                    text=self.update.message.text)
            text = constants.messages[self.get_lang()][constants.feedback_succeed_msg]
            self.bot.sendMessage(self.update.message.chat_id,
                                 text=text,
                                 reply_markup=markups.home_markup(self.get_lang()))
            command_logging(user=self.user,
                            message_id=self.update.message.message_id,
                            text=self.update.message.text,
                            from_menu=constants.home,
                            to_menu=constants.home)

        elif self.last_command.from_menu == constants.home:
            text = constants.messages[self.get_lang()][constants.feedback_send_msg]
            self.bot.sendMessage(self.update.message.chat_id,
                                 text=text,
                                 reply_markup=markups.back_markup(self.get_lang()))
            command_logging(user=self.user,
                            message_id=self.update.message.message_id,
                            text=self.update.message.text,
                            from_menu=constants.home,
                            current_menu=constants.feedback,
                            to_menu=constants.home)
コード例 #2
0
    def language_select(self):
        if self.last_command.to_menu == constants.language and \
                any(self.update.message.text in x for x in markups.languages):
            self.user.language = self.update.message.text
            self.user.save()

            text = constants.messages[self.get_lang()][constants.lang_select_msg]

            self.bot.sendMessage(self.update.message.chat_id,
                                 text=text,
                                 reply_markup=markups.home_markup(self.get_lang()))
            command_logging(user=self.user,
                            message_id=self.update.message.message_id,
                            text=self.update.message.text,
                            from_menu=constants.home,
                            to_menu=constants.home)

        elif self.last_command.from_menu == constants.home:
            self.bot.sendMessage(self.update.message.chat_id,
                                 text='Choose your language:',
                                 reply_markup=markups.languages_markup)
            command_logging(user=self.user,
                            message_id=self.update.message.message_id,
                            text=self.update.message.text,
                            from_menu=constants.home,
                            to_menu=constants.language)
コード例 #3
0
 def go_back(self):
     self.bot.sendMessage(self.update.message.chat_id,
                          text='Back',
                          reply_markup=markups.home_markup(self.get_lang()))
     command_logging(user=self.user,
                     message_id=self.update.message.message_id,
                     text=self.update.message.text,
                     from_menu=constants.home,
                     to_menu=constants.home)
コード例 #4
0
 def start(self):
     text = 'Welcome {}!\n'.format(
         self.user.first_name if self.user.first_name else 'User')
     self.bot.sendMessage(self.update.message.chat_id,
                          text=text,
                          reply_markup=markups.home_markup(self.get_lang()))
     command_logging(user=self.user,
                     message_id=self.update.message.message_id,
                     text=self.update.message.text,
                     from_menu=constants.home,
                     to_menu=constants.home)
コード例 #5
0
 def finish_order(self):
     order = Order(user=self.user)
     order.save()
     order.cart.set(self.cart)
     self.cart.delete()
     self.bot.sendMessage(self.update.message.chat_id,
                          text=constants.messages[self.get_lang()][constants.finished_message],
                          reply_markup=markups.home_markup(self.get_lang()))
     command_logging(user=self.user,
                     message_id=self.update.message.message_id,
                     text=self.update.message.text,
                     from_menu=constants.finish_order,
                     to_menu=constants.home)
コード例 #6
0
    def cart_check(self):
        cart_items = self.cart.all()
        if not cart_items.exists():
            self.bot.sendMessage(self.update.message.chat_id,
                                 text=constants.messages[self.get_lang()][constants.empty_cart_msg],
                                 reply_markup=markups.home_markup(self.get_lang()))
            command_logging(user=self.user,
                            message_id=self.update.message.message_id,
                            text=self.update.message.text,
                            from_menu=constants.home,
                            current_menu=constants.home,
                            to_menu=constants.home)

        else:
            pcs = cart_items.values_list('quantity', flat=True)
            prods = cart_items.values_list('product__name', flat=True)
            zipped = zip(pcs, prods)

            items_str = ''
            for i, j in zipped:
                items_str += (str(i) + ' x ' + j + '\n')

            total = self.cart.aggregate(Total=Sum(F('price')))

            text = '{}\n{}\nTotal: {}'.format(constants.messages[self.get_lang()][constants.in_your_cart],
                                              items_str,
                                              total['Total'])

            self.bot.sendMessage(self.update.message.chat_id,
                                 text=text,
                                 reply_markup=markups.finish_order_markup(self.get_lang()))
            command_logging(user=self.user,
                            message_id=self.update.message.message_id,
                            text=self.update.message.text,
                            from_menu=constants.home,
                            current_menu=constants.finish_order,
                            to_menu=constants.home)