Beispiel #1
0
 def reset(self, chatid):
     lang = db.get_lang(chatid)
     main.bot.send_message(chatid,
                           localization.get_message('n.pre', lang),
                           reply_markup=keyboards.zero,
                           parse_mode='markdown')
     main.bot.send_message(chatid,
                           localization.get_message('n.name', lang),
                           reply_markup=keyboards.zero,
                           parse_mode='markdown')
     self.substate = 0
Beispiel #2
0
 def handle_message(self, chatid, message):
     lang = db.get_lang(chatid)
     if self.substate == 0:
         self.name = message
         self.substate = 1
         main.bot.send_message(chatid,
                               localization.get_message('n.phone', lang),
                               reply_markup=keyboards.zero,
                               parse_mode='markdown')
     elif self.substate == 1:
         if not (message.isdigit()):
             main.bot.send_message(
                 chatid,
                 'Wrong phone format! Only digits without spaces or symbols!',
                 reply_markup=keyboards.zero,
                 parse_mode='markdown')
             return
         self.phone = message
         self.substate = 2
         main.bot.send_message(chatid,
                               localization.get_message('n.weight', lang),
                               reply_markup=keyboards.zero,
                               parse_mode='markdown')
     elif self.substate == 2:
         if not (message.isdigit()):
             main.bot.send_message(chatid,
                                   'Wrong weight!',
                                   reply_markup=keyboards.zero,
                                   parse_mode='markdown')
             return
         self.weight = int(message)
         self.substate = 3
         main.bot.send_message(chatid,
                               localization.get_message('n.address', lang),
                               reply_markup=keyboards.zero,
                               parse_mode='markdown')
     elif self.substate == 3:
         self.address = message
         self.substate = 4
         main.bot.send_message(chatid,
                               localization.get_message('n.payed', lang),
                               reply_markup=keyboards.loc.get_keyboard(
                                   'payed', lang),
                               parse_mode='markdown')
     elif self.substate == 5:
         self.note = message
         self.substate = 10
         self.send_order_info(chatid, lang)
Beispiel #3
0
    def handle_select(self, data, chatid):
        lang = db.get_lang(chatid)
        data = str(data)
        if self.substate == 10:
            if data == 'yes':
                main.bot.send_message(chatid,
                                      localization.get_message(
                                          'n.order_yes', lang),
                                      reply_markup=keyboards.zero,
                                      parse_mode='markdown')

                print('Sending new product to main site...')
                product_info = {
                    'm': 'common',
                    'f': 'add_product_bot',
                    'name': self.name,
                    'phone': self.phone,
                    'weight': self.weight,
                    'payed': self.payed,
                    'address': self.address,
                    'note': self.note
                }
                print(product_info)
                r = requests.post(config.site_base + 'ajax/ajaxCore.php',
                                  data=product_info)

                return_to_main_menu(chatid)
            elif data == 'no':
                main.bot.send_message(chatid,
                                      localization.get_message(
                                          'n.order_no', lang),
                                      reply_markup=keyboards.zero,
                                      parse_mode='markdown')
                return_to_main_menu(chatid)
        else:
            if (data.startswith('n.')) and (self.substate == 4):
                self.payed = int(data[len('n.'):])
                self.substate = 5
                main.bot.send_message(chatid,
                                      localization.get_message('n.note', lang),
                                      reply_markup=keyboards.zero,
                                      parse_mode='markdown')
            else:
                return
Beispiel #4
0
    def send_order_info(self, chatid, lang):
        r = requests.post(config.site_base + 'ajax/ajaxCore.php',
                          data={
                              'm': 'common',
                              'f': 'common_info',
                              'weight': self.weight
                          })
        j = json.loads(r.text)
        if j['err'] == '1':
            main.bot.send_message(chatid,
                                  'Internal error!',
                                  reply_markup=keyboards.zero)
            return_to_main_menu(chatid)
            return
        j = json.loads(j['msg'])

        ret = "{}\n{},\n{}\n{}\n{}\n{}\n{}\n{}{}\n".format(
            localization.get_message('n.your_order', lang), self.name,
            self.phone, self.weight, self.address,
            localization.get_message('n.p' + str(self.payed), lang), self.note,
            localization.get_message('n.result', lang), j['price'])
        main.bot.send_message(chatid,
                              ret,
                              reply_markup=keyboards.zero,
                              parse_mode='markdown')
        ret = "{}{}-{}{}{}{}".format(localization.get_message('n.tarif', lang),
                                     j['from'], j['to'],
                                     localization.get_message('n.days', lang),
                                     j['selfCost'],
                                     localization.get_message('n.kg', lang))
        main.bot.send_message(chatid,
                              ret,
                              reply_markup=keyboards.loc.get_keyboard(
                                  'new_order_accept', lang))
Beispiel #5
0
 def handle_select(self, data, chatid):
     lang = db.get_lang(chatid)
     code = str(data)
     if code == 'track':
         state = MenuTrackState()
         db.set_state(chatid, state)
         main.bot.send_message(chatid,
                               localization.get_message(
                                   'enter_client_code', lang),
                               reply_markup=keyboards.zero)
     elif code == 'order':
         state = MenuNewOrderState()
         db.set_state(chatid, state)
         state.reset(chatid)
     elif code == 'info':
         main.bot.send_message(chatid,
                               localization.get_message('what_i_can', lang),
                               reply_markup=keyboards.zero)
         self.reset(chatid)
     elif code == 'manager':
         main.bot.send_message(chatid,
                               localization.get_message('manager', lang),
                               reply_markup=keyboards.zero)
         self.reset(chatid)
Beispiel #6
0
 def reset(self, chatid):
     code = db.get_lang(chatid)
     main.bot.send_message(chatid,
                           localization.get_message('select_action', code),
                           reply_markup=keyboards.loc.get_keyboard(
                               'menu', code))
Beispiel #7
0
    def handle_message(self, chatid, message):
        lang = db.get_lang(chatid)
        message = str(message)
        track_code = message

        r = requests.post(config.site_base + 'ajax/ajaxCore.php',
                          data={
                              'm': 'common',
                              'f': 'product_info',
                              'track_id': track_code,
                              'lang': lang
                          })
        j = {'err': '1'}
        try:
            j = json.loads(r.text)
        except:
            print('[Mishin870] Error in handle track while parse json: {}'.
                  format(r.text))
            main.bot.send_message(chatid,
                                  'Internal error: {}'.format(j['msg']),
                                  reply_markup=keyboards.zero)
            return_to_main_menu(chatid)
            return
        if j['err'] == '1':
            main.bot.send_message(chatid,
                                  'Internal error: {}'.format(j['msg']),
                                  reply_markup=keyboards.zero)
            return_to_main_menu(chatid)
            return
        j = json.loads(j['msg'])
        # it is both bad and.. fine
        ret = "{}\n{}\n\n{}\n`{}`\n\n{}{}-{}{}\n".format(
            localization.get_message('i.your_track', lang), j['name'],
            localization.get_message('i.contacts', lang), j['phone'],
            localization.get_message('i.tarif', lang), j['from'], j['to'],
            localization.get_message('i.days', lang))
        if int(j['payed']) == 1:
            ret += "`{}{}$`\n".format(
                localization.get_message('i.pricey', lang), j['price'])
        else:
            ret += "`{}{}$`\n".format(
                localization.get_message('i.price', lang), j['price'])

        ret += "{}{} {}\n\n".format(localization.get_message('i.weight', lang),
                                    j['weight'],
                                    localization.get_message('n.kgs', lang))

        pstate = int(j['state'])
        if pstate == 0:
            # головной офис
            ret += "{}\n{}. {}".format(
                localization.get_message('i.office', lang), j['date'],
                localization.get_message('i.stambul', lang))
        elif pstate >= 1:
            # терр.
            ret += "{}\n{}. {}".format(
                localization.get_message('i.terr', lang), j['date'],
                localization.get_message('i.tashkent', lang))

        main.bot.send_message(chatid,
                              ret,
                              reply_markup=keyboards.zero,
                              parse_mode='markdown')
        return_to_main_menu(chatid)