Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос

qwwwwwty

  • 0
    вклад
  • 35
    вопросов
  • 1
    ответ
  • 0%
    решений
Комментарии
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Как ограничить качество звука в видео с помощью FFmpeg?

    qwwwwwty @qwwwwwty Автор вопроса
    а можно ли убрать ограничение с подтверждением действия в консоли? чтобы постоянно Y не писать
    Написано 27 февр.
  • Как намеренно испортить качество фотографии Python?

    qwwwwwty @qwwwwwty Автор вопроса
    ахахахах, спасибо, вы очень помогли!
    Написано 04 янв.
  • Как намеренно испортить качество фотографии Python?

    qwwwwwty @qwwwwwty Автор вопроса
    humoured, тоже как вариант. благодарю!
    Написано 03 янв.
  • Как намеренно испортить качество фотографии Python?

    qwwwwwty @qwwwwwty Автор вопроса
    mayton2019, благодарю!
    Написано 02 янв.
  • Как сделать ограничение данных в БД SQlite3 Python?

    qwwwwwty @qwwwwwty Автор вопроса
    Dr. Bacon, верно подмечено. благодарю.
    Написано 02 дек. 2022
  • Как сделать ограничение данных в БД SQlite3 Python?

    qwwwwwty @qwwwwwty Автор вопроса
    Dr. Bacon, аналогично 100.
    Написано 02 дек. 2022
  • Почему не работает SQL (Python) запрос, в чем причина и как исправить?

    qwwwwwty @qwwwwwty Автор вопроса
    Дмитрий Касаткин, добавил комментарии, думаю вышло понятно, но если нет - пишите, разберем еще подробнее

    @dp.message_handler(commands=["marketbuy"],commands_prefix="!/")
    async def cmd_marketbuy(message: types.Message):
    
    	title = f'<a href="tg://user?id={message.from_user.id}">{message.from_user.full_name}</a>'
    
    	#подключение к бд
    	connect = sqlite3.connect('INFO.db')
    	cursor = connect.cursor()
    
    	#переменные, что бы узнать информаци, что юзер хочет купить
    	check_snus = message.text.split(" ")[1] #узнает вид (какой приобретает) товара
    	check_id = int(message.text.split(" ")[2]) #узнает ID юзера продавца
    	check_amount_snus = int(message.text.split(" ")[3]) #узнает количество, которое юзер хочет приобрести у продавца
    
    	print(check_id)
    
    	#если покупатель выбрал товар "iceberg"
    	if check_snus == "iceberg":
    
    		#цикл для того, что бы узнать какое количество товара "iceberg" имеет продавец с его ID, которое узнается в переменной check_id
    		for economy_check_amount_iceberg in cursor.execute("SELECT amount_iceberg FROM economy WHERE user_id = ?",(check_id, )):
    			economy_last_check_amount_iceberg = economy_check_amount_iceberg[0] #избавляюсь от ненужного
    
    			#условие, при котором проверяется товар
    			if check_amount_snus > economy_last_check_amount_iceberg: #если покупатель хочет получить больше, чем есть у продавца
    				for i in cursor.execute("SELECT user_name FROM user_info WHERE user_id = ?",(check_id, )):
    					name_karma = (list(i)[0])
    
    				for i2 in cursor.execute("SELECT user_id FROM user_info WHERE user_id = ?",(check_id, )):
    					name_karma2 = (list(i2)[0])
    
    				await bot.send_message(message.chat.id, text = "У @{}".format((i)[0]) + " С ID {}".format((i2)[0]) + " недостаточно шпаков")
    
    			#условие, если у продавца есть нужное количество товара
    			else:
    				
    				#цикл, при котором узнается цена товара в таблице "economy" с помощью переменной "check_price"
    				for check_price in cursor.execute("SELECT iceberg_price FROM economy WHERE user_id = ?",(message.from_user.id, )):
    					name_karma3 = (list(check_price)[0])
    
    					#складывается финальная цена товара (соотношение цены умноженное на количество)
    					result = check_amount_snus * check_price
    
    					lastresult = sum(result)
    
    					#обновляется значение в таблице "inventory_snus", где обновляется количество приобретенного товара
    					cursor.execute("UPDATE inventory_snus SET ICEBERG = ICEBERG + ? WHERE user_id = ?", (check_amount_snus, message.from_user.id, ))
    					
    					#обновляется значение в таблице "user_info", где обновляется баланс покупателя (значение уменьшается)
    					cursor.execute("UPDATE user_info SET balance = balance - ? WHERE user_id = ?", (lastresult, message.from_user.id, ))
    					connect.commit()
    					
    					#обновляется значение в таблице "user_info", где обновляется баланс уже у продавца (это не работает почему-то)
    					cursor.execute("UPDATE user_info SET balance = balance + ? WHERE user_id = ?", (lastresult, check_id, ))
    					
    					#обновляется значение в таблице "economy", где обновляется количечество товара у продавца (вычитается значение) (это не работает почему-то)
    					cursor.execute("UPDATE economy SET amount_iceberg = amount_iceberg - ? WHERE user_id = ?", (check_amount_snus, check_id, ))
    					connect.commit()
    					
    					#отправка уведомления о сделке (о покупке)
    					await bot.send_message(message.chat.id, text = f"{title}, совершил удачную сделку\nТы купил " + str(check_amount_snus) + " шпаков Iceberg за " + str(lastresult) + " рублей, по цене " + str(check_price[0]) + " рублей за шпак")
    					await bot.send_message(check_id, text = f"{title}, совершил удачную сделку\nОн купил у тебя " + str(check_amount_snus) + " шпаков Iceberg за " + str(lastresult) + " рублей, по цене " + str(check_price[0]) + " рублей за шпак")	
    
    						
    			
    	elif check_snus == "arqa":
    		pass
    
    	elif check_snus == "kasta":
    		pass
    		
    	elif check_snus == "corvus":
    		pass
    	
    	else:
    		pass	
    
    	connect.commit()
    Написано 16 нояб. 2022
  • Как вывести строки из SQlite3 в отдельные сообщения?

    qwwwwwty @qwwwwwty Автор вопроса
    про 3 пункт - отличное замечание, но оно не совсем корректно работает. выводится 2 сообщения (у меня 2 записи в бд), одно из которых малое с профилим юзера А, а второе же сообщение большое и состоит из профилей юзера А и Б одновременно.
    Написано 14 нояб. 2022
  • Как сделать временный мут Telegram Aiogram?

    qwwwwwty @qwwwwwty
    Alexndrev, очень хотелось бы посмотреть на вашу новую версию
    Написано 12 нояб. 2022
  • Как сделать временный мут Telegram Aiogram?

    qwwwwwty @qwwwwwty
    не подскажите, какие библиотеки вы использовали для этого кода?
    Написано 26 окт. 2022
  • Как узнать размер сообщения в байтах Aiogram Pyrhon?

    qwwwwwty @qwwwwwty Автор вопроса
    Виктор Голованенко, да, именно это
    Написано 21 окт. 2022
  • Как сделать условие в SQLite Python?

    qwwwwwty @qwwwwwty Автор вопроса
    на счет отсупов - они все правильно стоят, просто я не добавил хэндлер и асинхронную функцию, что бы немного код сократить для сайта. а что на счет условий - все равно не понял, но спасибо, что откликнулись
    Написано 08 окт. 2022
  • Как сделать условие в SQLite Python?

    qwwwwwty @qwwwwwty Автор вопроса
    не подскажите как правильно перестроить этот запрос?
    Написано 08 окт. 2022
  • Как определить ид группы телеграм?

    qwwwwwty @qwwwwwty
    Дмитрий, и скриншот с консоли
    Написано более года назад
  • Как определить ид группы телеграм?

    qwwwwwty @qwwwwwty
    Дмитрий, можно весь ваш код?
    Написано более года назад
  • Как реализовать так, что бы бот отправлял сообщение по моей прихоти в выбранный чат Aiogram Pyrhon?

    qwwwwwty @qwwwwwty Автор вопроса
    Влад Григорьев, а можете более подробнее прописать, как работает весь механизм?
    Написано более года назад
  • Как скачивать фотографию через бота при определенной команде Python Aiogram?

    qwwwwwty @qwwwwwty Автор вопроса
    Алан Гибизов, да, этот сплеш работает как префикс. пример ситуации:

    !help
    бот: помощь
    /help
    бот: помощь
    Написано более года назад
  • Как подключиться к базе данных (SQlite3), что бы использовать ее для рассылки сообщений по группам Aiogram, Python?

    qwwwwwty @qwwwwwty Автор вопроса
    Сергей Горностаев, я не знаю как прочитать все что находится в базе, что бы потом это все использовать для отправки сообщений. как отправить с помощью aiogram я вроде понимаю
    Написано более года назад
  • Как вывести все, что находится в базе данных (SQLite3) в одну строчку, а не по отдельности Python, Aiogram?

    qwwwwwty @qwwwwwty Автор вопроса
    o5a, спасибо! желаю счастья, здоровья ахахаха
    Написано более года назад
  • Как вывести все, что находится в базе данных (SQLite3) в одну строчку, а не по отдельности Python, Aiogram?

    qwwwwwty @qwwwwwty Автор вопроса
    Kadabrov, ахахахах, как-то так и получается, но не собрать строку в цикле
    Написано более года назад
  • 1
  • 2
  • Следующие →
Самые активные сегодня
  • Mi11er
    Denis Melnikov
    • 7 ответов
    • 0 вопросов
  • Drno
    • 6 ответов
    • 0 вопросов
  • scoffs
    Семён Окулов
    • 6 ответов
    • 0 вопросов
  • vabka
    Василий Банников
    • 4 ответа
    • 0 вопросов
  • Sanes
    Sanes
    • 4 ответа
    • 0 вопросов
  • CityCat4
    CityCat4
    • 4 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации