id = callback_query.from_user.id
await bot.send_message(id, '🌐 <b>Укажите ссылку на GIF-картинку</b>\n\n❗️ <b>Ссылка должна заканчиваться на .gif</b>')
await reg.gif.set()
print(str(reg.gif))
Хочу передавать данные, которые введёт пользователь в другую функцию, как это можно сделать?
FSM
ну я понял, только я не понимаю как я могу передавать её в функцию, а не в класс
https://mastergroosha.github.io/telegram-tutorial-2/fsm/
next_step делается в 1 строку, тут же у меня просят то классы сделать, потом finish, потом извлечь данные, я не понимаю просто как оттуда и что доставать
next_step только более ограничен и хрупок
дак не в этом дело, мне всего-навсего нужно передать одну несчастную ссылку на gif-ку @dp.callback_query_handler(lambda c: c.data == 'gif') async def process_callback_button1(callback_query: types.CallbackQuery): id = callback_query.from_user.id await bot.send_message(id, '🌐 <b>Укажите ссылку на GIF-картинку</b>\n\n❗️ <b>Ссылка должна заканчиваться на .gif</b>') await reg.gif.set() async def food_chosen(message: types.Message, state: FSMContext): if '.gif' and 'https://' not in message.text: await message.reply('Ты не ввёл ссылку') return await state.update_data(reg=message.text) await state.finish()
Я тебе выше кидал подробный материал по FSM
Я по нему и попытался сделать
А в чём проблема?
> if '.gif' and 'https://' not in message.text: https://myvirus.com/file.gif.exe
В том , что ничего не получается
Так я ж ссылку дал на гайд :) Давай конкретику, что не получается-то?
Бот просто игнорирует , ошибок в консоли нет @dp.callback_query_handler(lambda c: c.data == 'gif') async def process_callback_button1(callback_query: types.CallbackQuery): id = callback_query.from_user.id await bot.send_message(id, '🌐 <b>Укажите ссылку на GIF-картинку</b>\n\n❗️ <b>Ссылка должна заканчиваться на .gif</b>') await reg.gif.set() async def food_chosen(message: types.Message, state: FSMContext): if '.gif' and 'https://' not in message.text: await message.reply('Ты не ввёл ссылку') return await state.update_data(reg=message.text) await state.finish() print(state.reg)
а чо ссылка должна заканчиваться на .gif?
Гифка, которую пользователь может установить себе в профиль
ошибка здесь, айограм не при чем. Что здесь написано, по-вашему? опишите русскими словами if '.gif' and 'https://' not in message.text:
@dp.callback_query_handler(lambda c: c.data == 'gif') async def process_callback_button1(callback_query: types.CallbackQuery): id = callback_query.from_user.id await bot.send_message(id, '🌐 <b>Укажите ссылку на GIF-картинку</b>\n\n❗️ <b>Ссылка должна заканчиваться на .gif</b>') await reg.gif.set() async def food_chosen(message: types.Message, state: FSMContext): await state.update_data(reg=message.text) await state.finish() print(state.reg) всё также молчок
Да у человека с FSM проблемы
Хватит кидать одну и ту же портянку в чат! Делай MRE, будем обсуждать https://t.me/aiogram_ru/650081
я к сожалению со стейтами еще не работал, а потому не выкупил, юмор это или нет))
Тоже читай: https://mastergroosha.github.io/telegram-tutorial-2/fsm/
Обсуждают сегодня