async def start_bot(message: types.Message, state: FSMContext):
state = dp.current_state(user=user_id)
переименовываете, т.к. вы ею переназначаете FSMContext
на dp.current_state(user=user_id)
await state.update_data(item_id=item_id)
выполнится успешно @dp.message_handler(state=Add.test_state)
@dp.message_handler(commands=['start'])
async def start_bot(message: types.Message, state: FSMContext):
if message.text == '/start':
await message.answer(text="Отправь мне свое имя")
await Add.test_state.set() # Ваш state
await asyncio.sleep(5) # 5 сек спим
try:
data = await state.get_data()
if data['get_name'] == 'true':
pass
except KeyError:
# Если пользователь не ответил или за это время state завершился, получаем KeyError
await message.answer(f'Жаль, что ты не ответил')
await state.finish()
else:
await state.update_data(get_name='true')
await message.answer(f'Твое имя {message.text}')
# Установите следующие состояние
# Если вы завершите состояние, то тогда бот ответит 'Жаль, что ты не ответил'
@dp.callback_query_handler(text='rand')
принимает text, который нужен для обычных кнопок, после нажатия которых отправляется сообщение от пользователя.@dp.callback_query_handler(lambda c: c.data == 'amf')
async def randws(call: CallbackQuery):
await call.message.answer('gggg')
import requests
from bs4 import BeautifulSoup
import lxml
url = "https://www.ozon.ru/product/holodilnik-indesit-tia-180-belyy-277079362/"
payload = {}
headers = {
'User-Agent': 'PostmanRuntime/7.28.1',
'Cookie': 'ЗДЕСЬ КУКИ'}
response = requests.request("GET", url, headers=headers, data=payload)
page = BeautifulSoup(response.content, 'lxml')
print(page)
<div id="state-webPrice-836055-default-1"
data-state='{"isAvailable":true,"price":"17 990 ₽","originalPrice":"20 390 ₽","showOriginalPrice":true,"mode":"credit","payment":"1 799 ₽","paymentTerm":"12 мес","hintLink":"https:\u002F\u002Fwww.ozon.ru\u002Fsection\u002Fcredit\u002F","hintText":"Приблизительный расчет. Платеж зависит от срока и типа кредитного продукта"}'>
answer
не принимает параметр chat_idawait mybot.bot.send_message(chat_id = 123, text=message.text)
await mybot.bot.send_message(627976213, message.text)
@dp.message_handler(commands=['number'])
async def number(message: types.Message):
number = message.get_args()
number1 = int(number)*1000
if int(number) < 0:
await message.reply("Нельзя вводить отрицательное число")
else:
await message.reply(f"Твое число {number1}")
@dp.message_handler(commands=['number'])
async def number(message: types.Message):
number = message.get_args()
if number is not None and number.isdigit():
if int(number) < 0:
await message.reply("Нельзя вводить отрицательное число")
else:
await message.reply(f"Твое число {int(number) * 1000}")
elif number is None:
await message.reply(f'Введите число после команды "/number 5 "')
else:
await message.reply(f'После команды "/number" ожидается число, а не текст')
reply_to – идентификатор сообщения, на которое требуется ответить.
целое число, доступен начиная с версии 5.92
message_id — идентификатор сообщения
url = "http://api.captcha.guru/in.php"
payload={'key': 'd1ab96d3ad0a363d122de03d55a26173'}
files=[
('file',('wr-780.jpg',open('/C:/Users/User/Downloads/wr-780.jpg','rb'),'image/jpeg'))
]
response = requests.request("POST", url, data=payload, files=files)
print(response.text)
if (message.text).isdigit():
bet=(int(message.text))