Пример #1
0
 def set_data(self, *args):
     try:
         self.name = args[0]
         self.company = args[1]
         self.price = args[2]
         self.description = args[3]
         self.url = args[4]
     except Exception as e:
         config.log(Error=e, text="SET_DATA_ERROR_OCCURED")
Пример #2
0
def handle_plus(call):
    try:
        uploaded_items[str(int(call.data[1:]))] += 1
    except KeyError as e:
        config.log(Error=e, text='WRONG_KEY')
    markup = markups.add(call.data[1:])
    numb = telebot.types.InlineKeyboardButton(str(uploaded_items.get(str(int(call.data[1:])))), callback_data='.')
    markup.row(numb)
    bot.edit_message_reply_markup(call.message.chat.id, call.message.message_id, reply_markup=markup)
    print('uploaded items = ' + str(uploaded_items))
Пример #3
0
 def set_full_data(self, *args):
     try:
         self.name = args[2]
         self.id = args[0]
         self.type = args[1]
         self.company = args[3]
         self.price = args[4]
         self.description = args[5]
         self.url = args[6]
         self.seller = args[8]
         print('seller is ' + str(self.seller))
     except Exception as e:
         config.log(Error=e, text="SET_DATA_ERROR_OCCURED")
Пример #4
0
def add_client(message):
    db = sqlite.connect("clientbase.db")
    cur = db.cursor()
    login = message.text[1:]
    try:
        cur.execute("SELECT * FROM clients WHERE user_id = (?)",
                    (message.from_user.id, ))
    except Exception as e:
        config.log(Error=e, Text="DBTESTING ERROR")
    if not cur.fetchone():
        try:
            cur.execute("INSERT INTO clients (user_id) VALUES (?)",
                        (message.from_user.id, ))
            config.log(Text="Client successfully added",
                       user=str(message.from_user.first_name + " " +
                                message.from_user.last_name))
        except Exception as e:
            config.log(Error=e, Text="CLIENT_ADDING_ERROR")
        db.commit()
    else:
        config.log(Error="IN_THE_BASE_YET",
                   id=message.from_user.id,
                   info=str(message.from_user.last_name) + " " +
                   str(message.from_user.first_name),
                   username=message.from_user.username)
Пример #5
0
def add_kat(message):
    db = sqlite.connect("clientbase.db")
    cur = db.cursor()
    cur.execute("SELECT * FROM categories WHERE (name) = (?)", (message.text,))
    if not cur.fetchone():
        try:
            cur.execute("INSERT INTO categories"
                        "(name)"
                        "VALUES (?)",
                        ((message.text),))
            db.commit()
            print("added")
        except Exception as e:
            config.log(Error=e, Text='ADDING_NEW_CATEGORY_ERROR')
Пример #6
0
 def delete_item(self, arg):  # удаляет объект из Basket.items[]
     if isinstance(arg, Item):
         try:
             self.items.remove(arg)
             self.items.sort()
         except ValueError as e:
             config.log(Error=e, Text="CANT_DELETE_ITEM\nITEM_NOT_EXIST")
     if isinstance(arg, int):
         try:
             self.items.remove(self.items[arg])
             self.items.sort()
         except IndexError:
             config.log(
                 Error=e,
                 Text="CANT_DELETE_ITEM\nITEM_WITH_SUCH_INDEX_NOT_EXIST")
Пример #7
0
def add_item(item, user_id):
    db = sqlite.connect("clientbase.db")
    cur = db.cursor()
    cur.execute("SELECT * FROM items WHERE (name) = (?)", (item.get_name(), ))
    print(cur.fetchone())
    if not cur.fetchone():
        try:
            cur.execute(
                "INSERT INTO items "
                "(type, name, company, price, description, url, hash, seller_name) "
                "VALUES (?,?,?,?,?,?,?,?)",
                (item.type, item.name, item.company, item.price,
                 item.description, item.url, user_id, item.seller))
            db.commit()
        except Exception as e:
            config.log(Error=e, Text='ADDING_NEW_ITEM_ERROR')
Пример #8
0
def handle_minus(call):
    try:
        if uploaded_items[str(int(call.data[1:]))]:
            uploaded_items[str(int(call.data[1:]))] -= 1
    except KeyError as e:
        config.log(Error=e, text='WRONG_KEY')
    if uploaded_items[str(int(call.data[1:]))] == 0:
        key = (base.item_finder(call.data[1:])).get_desc2()

        key.row_width = 1
        bot.edit_message_reply_markup(call.message.chat.id, call.message.message_id, reply_markup=key)
        return
    markup = markups.add(call.data[1:])
    numb = telebot.types.InlineKeyboardButton(str(uploaded_items.get(str(int(call.data[1:])))), callback_data='.')
    markup.row(numb)
    bot.edit_message_reply_markup(call.message.chat.id, call.message.message_id, reply_markup=markup)
    print('uploaded items = ' + str(uploaded_items))
    return
Пример #9
0
# Сохранение PayPal логина продавца


@bot.message_handler(content_types=['text'], func=lambda message: message.text[0] == '%' and config.goRegister == True)
def handle_paypal_login(message):
    if not base.is_seller(message.from_user.id):
        base.add_client(message)


@bot.callback_query_handler(func=lambda call: call.data[0] == '$')
def give_desc(call):
    # bot.edit_message_reply_markup(call.message.chat.id, call.message.message_id, reply_markup=item.swap_desc())
    bot.edit_message_text("Здесь текст", call.message.chat.id, call.message.message_id, )


# Запуск бота


while True:
    try:
        bot.polling(none_stop=True, interval=0)
    except ConnectionError as expt:
        config.log(Exception='HTTP_CONNECTION_ERROR', text=expt)
        print('Connection lost..')
        time.sleep(30)
        continue
    except r_exceptions.Timeout as exptn:
        config.log(Exception='HTTP_REQUEST_TIMEOUT_ERROR', text=exptn)
        time.sleep(5)
        continue