Telegram бот на python aiogram #6 FSM Машина состояний админка для бота

2021 ж. 3 Қаз.
121 254 Рет қаралды

В видео рассмотрим машину состояний ( FSM ) для telegram бота на python с библиотекой aiogram. Машина состояний позволяет создать цепочку вопрос - ответ для бота. Напишем админку для бота telegram чтоб пользователь мог менять базу данных. Рассмотрим последовательность State, наследование от класса StatesGroup, как прописать отмену состояния бота. И написать проверку администратора чата для бота на python aiogram.
Поддержать канал:
www.buymeacoffee.com/PythonHu...
Также, доступны функции - Спонсорство на KZhead:
/ @pythonhubstudio
и кнопка Суперспасибо!
Документация aiogram:
docs.aiogram.dev/en/v2.25.1/
Этот плейлист:
• Телеграм бот на Python...
Плейлист курс по Телеграм ботам (новый aiogram 3):
• Telegram бот на python...
Курс по python 7 часов:
• Учим python за 7 часов...
Видео про асинхронность:
• Асинхронность, многопо...
Курс по Django 15 часов:
• Полный курс уроков по ...
Курс HTML / CSS:
• Учим HTML и CSS за 7 ч...
Не забудьте подписаться и включить оповещения, чтоб не пропустить новые выпуски!
#PythonHubStudio
#python
#aiogram

Пікірлер
  • ВНИММАНИЕ!) В видео затаился БАГ: Хендлер отмены для корректной работы необходимо разместить после хендлера со стартом "машины состояний" (там где написано "FSMAdmin.photo.set() ) в видео он с командой "Загрузить". И в функции регистрации соответственно поменять порядок. В следующем видео наглядно поправлю) И Ссылка на видео - подробный курс про деплой (размещение на сервере) бота, как переписать на webhook и подключение к удаленной базе данных PostgreSQL: kzhead.info/sun/e9iMl9uCqIqeeWg/bejne.html

    @PythonHubStudio@PythonHubStudio2 жыл бұрын
    • А я думаю "шо такое, почему только фото отменить можно" )) Спасибо что написали решения прямо здесь под этим роликом)

      @woodys27@woodys272 жыл бұрын
    • А нет проблемы с тем что айди фото меняется через время?

      @user-tc9gl6dr2d@user-tc9gl6dr2d2 жыл бұрын
    • ​@@user-tc9gl6dr2d Ни одно айди не должно меняться со временим. Вы поподробнее можете описать ​

      @volchonokbek@volchonokbek2 жыл бұрын
    • @@woodys27 можешь помочь ?Нужно разкоментировать и потом запускать верно?я сделал так # и запустил но нечего не работает ответа от бота разкоментировать верно?

      @haaaniiif4183@haaaniiif41832 жыл бұрын
    • /handlers/admin.py", line 47 @dp.message_handler(load_price, state = FSMAdmin.price) ^ SyntaxError: unexpected EOF while parsing ^ Почему мне дает эту ошибку я несколько раз просмотрел видео???(((( Почему вы не ставите сылку на уроки в гитхабе например?

      @volchonokbek@volchonokbek2 жыл бұрын
  • Нашел решение для проблемы с фотографиями: В поле регистрации хендлеров нужно прописать в команде load_photo вместо commands=[‘photo’], поставить content_types=[‘photo’]. И у меня все заработало. Пролайкайте, чтобы остальные увидели!

    @thevloggershow7668@thevloggershow7668 Жыл бұрын
  • Уроки божественны! Настолько всё классно пошагово объясняется, что дополнительных вопросов, как часто бывает, типа "Та блин, а это от куда тут взялось?", - просто не возникает!

    @tdvsesvit2585@tdvsesvit25852 жыл бұрын
  • Самые полезные уроки для начинающих на всём ютубе! Спасибо за проделанную работу!

    @user-ii1br7pe9o@user-ii1br7pe9o2 жыл бұрын
  • Урок огонь. Автор глыба. Большое спасибо. Все твои уроки смотрю по несколько раз и конспектирую. Большая просьба больше роликов. Супер спасибо!!!

    @mendoclick@mendoclick Жыл бұрын
  • Лучшее видео по машинам состояний. Просто бальзам на душу тех, кто ищет практики по ним

    @yourcar2389@yourcar23892 жыл бұрын
  • Это лучшие уроки на свете по aiogram. Спасибо Вам большое, Вы лучший)))

    @user-gj8rb6lo1t@user-gj8rb6lo1t Жыл бұрын
  • Лучшее объяснение машин состояний. Благодарю!!!

    @user-be6fc9lv1m@user-be6fc9lv1m2 жыл бұрын
  • Ого, так оперативно - всего пара дней с прошлого видео, и тут такой приятный сюрприз. Большое спасибо!

    @nadyamoscow2461@nadyamoscow24612 жыл бұрын
  • Успехов в данной деятельности, здравый человек, пишу первого бота для телеграмм, и это лучшее объяснение данной библиотечки, не хотелось писать копипастом скучного эхобота, написал логику всё рабочее, а вот с интеграцией пошли проблемы, поля ввода. Благодаря данному видео понял как у пользователя спрашивать информацию. Благодарю тебя здравый человек.

    @user-hr9dw3hs5g@user-hr9dw3hs5g2 жыл бұрын
  • Огромное спасибо за видеозаписи! Очень спокойный приятный голос, все понятно и без спешки.

    @dekamiron93@dekamiron936 ай бұрын
  • спасибо за урок) Благодаря курсам и вашим видео уже сам нахожу свои ошибки)

    @smet4na1337@smet4na13372 жыл бұрын
  • Спасибо большое за ваши уроки! Всё очень понятно и интересно, продолжайте в том же духе!

    @MethodiusOgolkov@MethodiusOgolkov2 жыл бұрын
  • Вот это урок! Браво, теперь хоть стало понятно, что такое машина состояний и как вообще ее использовать! Да и вообще все эти уроки до этого по боту просто мое почтение! Просто словами не передать как благодарен!

    @TheKostya35@TheKostya35 Жыл бұрын
  • Спасибо большое! Многие любят показывать уже готовый проект, после просмотра таких видео ничего не понятно. А разработка в реалтайме очень наглядна, это жирный плюс вашему каналу. Подпишусь на вашу рассылку.

    @xvostov_k@xvostov_k2 жыл бұрын
  • Ты лучший , спасибо большое тебе за труды. Мне по кайфу тебя слушать, всё что нужно как же ты круто с материалом подобрал, видно что работаешь в этой сфере. Круто, и не бойся долго объяснять , по мне так программированию конца и края нет в учёбе.

    @VakaramGolang@VakaramGolang Жыл бұрын
  • Спасибо за крутые уроки. Вчера три часа ошибки искал после видоса, сегодня почти все сам поисправлял.

    @Gonish7@Gonish72 жыл бұрын
  • Спасибо за такие тщательные разъяснения! Продолжаю грызть камень программиста! Желаю успехов в Вашем деле!

    @eddymash3053@eddymash3053 Жыл бұрын
  • Большое спасибо, что поделился этим материалом. Все очень понятно и доходчиво. Про боты это лучшая подборка.

    @user-uk4zv8sr9r@user-uk4zv8sr9r Жыл бұрын
  • Класс. Огромное спасибо) Особенно за часть с доступами через отдельную группу!)

    @golosbezdoka@golosbezdoka Жыл бұрын
  • Офигенно. Супер офигенно. Смотрю с рекламой! 👍 автор, благодарю!!!!!

    @user-pv3zw4ki9z@user-pv3zw4ki9z2 жыл бұрын
  • Лучшие уроки по разработки tg bot на ютуб. Спасибо

    @bohdan3125@bohdan31252 жыл бұрын
  • Благодарю, очень понятно объяснил! Все работает😀

    @aleksandramalakutsko401@aleksandramalakutsko4012 жыл бұрын
  • Здраствуйте, суперский урок, спасибо от души 🙏

    @Oleg_57rus@Oleg_57rus2 жыл бұрын
  • Великолепные уроки! 🤩

    @msc_Noname@msc_Noname2 жыл бұрын
  • Отлично. Большое спасибо за видео!

    @user-xv7sh6lp7o@user-xv7sh6lp7o2 жыл бұрын
  • просто супер! Огромное вам спасибо!!!! вы преподаватель от Бога! :)

    @alexandretitov3264@alexandretitov32642 жыл бұрын
  • Лучшие уроки! Спасибо

    @user-bj9bf8jn9h@user-bj9bf8jn9h Жыл бұрын
  • Реально лучшие уроки!

    @maximkuchiga141@maximkuchiga1412 жыл бұрын
  • Подача материала на высшем уровне

    @neponiatniichell9508@neponiatniichell95083 ай бұрын
    • 👍, Вышел новый плейлист по aiogram 3, этот по 2ке

      @PythonHubStudio@PythonHubStudio3 ай бұрын
  • Спасибо большое! Прекрасный туториал, жду патреон, чтобы можно было поддержать. Давно ждал, когда подробно появится aiogram

    @MixDancerMan@MixDancerMan2 жыл бұрын
  • Браво, Автор! ЛАЙК И ПОДПИСКА! Идеальное объяснение. Вставки с работой бота вообще гениальны. Буду тебя смотреть! Красавчик!

    @grizllywhite6004@grizllywhite60042 жыл бұрын
    • Спасибо

      @PythonHubStudio@PythonHubStudio2 жыл бұрын
    • 7

      @GaMeRDeimOne@GaMeRDeimOne Жыл бұрын
  • Все пишется на одном дыхании. Я бы смотрел и делал любое по питону каждый день, настолько все понятно и откладывается в мозгу

    @slavaseredenko4846@slavaseredenko48462 жыл бұрын
  • Редко пишу комменты, но тут не сдержался)) .....Очень всё толково разъясняешь, круто! Огромный респект Бро!!!)

    @voldasbro@voldasbro Жыл бұрын
  • ура Спасибо! я ждал этот урок

    @richardhendricks538@richardhendricks5382 жыл бұрын
  • жаль, что только один лайк поставить можно, очень долгожданное видео. Спасибо огромное

    @antonasd4300@antonasd43002 жыл бұрын
  • Спасибо большое за интересный контент!!!!!!

    @user-te1dz@user-te1dz2 жыл бұрын
  • Всё работает как на видео. Отлично

    @user-od9sm2pl9f@user-od9sm2pl9f2 жыл бұрын
  • Лучший! Спасибо тебе

    @abveshka5020@abveshka50202 жыл бұрын
  • Я тебя понимаю. Я всегда на уроках не понимал а тебя понимаю. У тебя дар учителя.

    @volchonokbek@volchonokbek2 жыл бұрын
  • Спасибо за урок!

    @user-rn5uk7ep3r@user-rn5uk7ep3r Жыл бұрын
  • Спасибо за видео!

    @user-bt9ee8jo9f@user-bt9ee8jo9f Жыл бұрын
  • Отличные уроки! Проверку на админа, я бы сделал только в cm_start(), дальше уже не требуется, ибо туда мы никогда не попадем. А вместо message.replay можно писать message.answer, так красивее.

    @user-pk2zi7pu9c@user-pk2zi7pu9c Жыл бұрын
  • БОЛЬШОЕ спасибо, урок - мугический!

    @cleygibson181@cleygibson181 Жыл бұрын
    • После загрузки фото - ОТМЕНА НЕ работает...... мб в функции нужно прописать state: '*', а не FSMContext ?!

      @cleygibson181@cleygibson181 Жыл бұрын
    • НЕ заметил коментарий с декларацией бага......

      @cleygibson181@cleygibson181 Жыл бұрын
  • Юююююхуууууу =))) Шикарные уроки. Сначала не работало, но вроде разобрался. От души 🙃👍

    @sinsmith9687@sinsmith9687 Жыл бұрын
  • Спасибо вам!

    @elbert2991@elbert2991 Жыл бұрын
  • Лучший из лучших!

    @homelessandhungry4529@homelessandhungry45292 жыл бұрын
  • Очень полезно, спасибо)

    @eugene_mountainland@eugene_mountainland Жыл бұрын
  • Ваши уроки огонь просто , спасибо за понятный и простой видеоурок. Есть просьба делайте ещё видео с машина состояний на проверку логин и пароль.

    @asadbeksultanov4335@asadbeksultanov4335 Жыл бұрын
    • +

      @Maison_0770@Maison_0770 Жыл бұрын
  • Как всегда, все прекрасно! На высшем уровне! У меня есть такой вопрос. В процессе внесения данных было обнаружено, что, например, описание не правильное или пицца не та была внесена (короче, ошибся/поспешил при заполнении). Т.е., данные уже в словаре, но еще не БД (о которой в следующем уроке). Так вот, можно ли каким-то образом вернуться в начало заполнения всех данных (начать сначала - с добавления фото). И повторять заполнение ТОЛЬКО ТЕМИ данными, которые надо изменить. Если же поле правильное, то переходить к следующему состоянию без изменения старых данных (например там надо много писать). Разъясни, пожалуйста. Может быть получится добавить этот видосик о возможности редактирования при использовании машины состояний.

    @Tannya1925@Tannya19252 жыл бұрын
  • Повторюсь, ты лучший!

    @user-lo9fm6ct7k@user-lo9fm6ct7k2 жыл бұрын
  • Спасибо!

    @salatosik3125@salatosik31252 жыл бұрын
  • Спасибо!!!

    @AndriiTerets@AndriiTerets2 жыл бұрын
  • Ваще супер!

    @user-om4ws1em7g@user-om4ws1em7g2 жыл бұрын
  • Спасибо!!!!!!!!!!!!!!!!!!!!!!!

    @user-tn3vv8zt1f@user-tn3vv8zt1f2 жыл бұрын
  • ну за такого бота однозначный лайк от легендарного вебмастера СЕООНЛИ

    @seoonlyRU@seoonlyRU Жыл бұрын
  • Спасибо за уроки! Подскажите пожалуйста, если необходимо изменить информацию в меню (например, изменилась цена пиццы) как быть?

    @Koscorp@Koscorp2 жыл бұрын
  • 👍

    @dencelman@dencelman Жыл бұрын
  • Здравствуйте! Ваши уроки действительно кладезь, каюсь что не стал смотреть сразу (давно бы бота уже написал). Но есть одно "но" я бы, включил ID админа в атрибуты класса, это бы позволило отказаться от global.

    @vadimna6918@vadimna6918 Жыл бұрын
  • 1:30 ахахха, лучший

    @pant0krat0r@pant0krat0r Жыл бұрын
  • Круто! Доступно! Понятно! Спасибо 😃 Если сможете рассказать более подробно, как работать с многоуровневыми инлайновыми кнопками, а именно направлять их взамен ранее направленных - будет здорово! P.S. понимаю, что нужно редактировать либо удалять сообщение к которому они были направлены ранее, но у меня не получалось. Постоянно ловил ошибки... Еще будет здорово узнать про форматирование инлайновых кнопок: можно ли текст выравнивать по левую/правую сторону кнопки и/или экрана чата.

    @BorisEvdeev@BorisEvdeev2 жыл бұрын
    • Когда доберёмся до инлайна через несколько видео

      @PythonHubStudio@PythonHubStudio2 жыл бұрын
    • @@PythonHubStudio Буду ждать. Кстати, не знал, что в aiogram есть состояния. Очень полезно. До этого видео, методом тыка сделал нечто похожее через sqlite и кучу условий, а оказывается есть лаконичное решение

      @BorisEvdeev@BorisEvdeev2 жыл бұрын
  • В PyCharm, если что-то не подключил, например импорт, или сделал описку в названии уже созданной функции, то это дело подсветится, и подскажем в чем ошибка. И еще мне нравится, что там пишешь class FSMAdmin( и тебе сразу выдает список аргументов.

    @Amigo9876@Amigo98762 жыл бұрын
  • Хорошо объяснил . Лайк 👍. Хотел узнать будет возможность показать регистрацию пользователя . И как пример не зарегистрированный пользователь видео одно меню . А допустим у зарегистрированного появляется личный кабинет .

    @RaccoonHackerHaven@RaccoonHackerHaven2 жыл бұрын
  • Thnaks

    @yanuzay0520@yanuzay05202 жыл бұрын
  • лайк + коммент

    @cristianglodeanu2329@cristianglodeanu2329 Жыл бұрын
  • Супер уроки!!! Даже говорить ничего другого и не надо) Вот на счет проверки на модера это получатся есть от когда-то ввел команду "модер", то у него всегда есть админка в боте или же после каждого заполнения переменная ID какт-о должна чиститься но вроде в коде я этого не увидел.

    @user-st4xd9qy6t@user-st4xd9qy6t2 жыл бұрын
    • Значение в переменной Id очиститься после перезагрузки бота или перезапишется если другой модератор авторизуется

      @PythonHubStudio@PythonHubStudio2 жыл бұрын
  • Блеск!

    @farapovorotnikov1579@farapovorotnikov15792 жыл бұрын
  • И снова с благодарностью. А расскажи, пожалуйста, как в режиме машины состояний передавать в журнал полученные по апи данные (словари, картинки, аудио) и потом отправлять их сразу из оперативной памяти в чат без записи в базу данных? Спасибо!

    @user-us4di4xl4s@user-us4di4xl4s Жыл бұрын
  • Спасибо за урок! А как сделать одновременное добавление записей разными пользователями?

    @anonfreeman2057@anonfreeman2057 Жыл бұрын
  • Не будет ли лучше сделать ID = set()? Чтобы, если админов несколько, можно было менять меню одновременно нескольким админам. А ещё проверка на state.get_state() не работает, даже если не запускал машину состояний, все равно "отмена" запускает всю функцию.

    @gatchenko_as@gatchenko_as2 жыл бұрын
  • Добрый день, спасибо за уроки!) Подскажите, обнаружил такой баг: Команда "Отмена" работает корректно только на 1-ом состоянии, когда загружаем фото. В остальных случаях при вводе команды Отмена или текстом отмена, бот продолжает добавлять описание и название товара.

    @ZhuraHere@ZhuraHere2 жыл бұрын
    • Да, хендлер отмены нужно переместить под хендлер с командой"загрузить" в том что написано FSMAdmin.photo.set() И регистрацию соответственно тоже

      @PythonHubStudio@PythonHubStudio2 жыл бұрын
  • It works on my vegas pro 14) Tnx

    @Alona772@Alona772 Жыл бұрын
  • Спасибо большое за урок. А можно в первом set() не ждать ответ от пользователя, а вписать свои данные? Грубо говоря я хочу вписать данные из переменной.

    @Markelblch21043@Markelblch210432 жыл бұрын
  • учусь по вашим, прям золото, подскажите пожалуйста, где и как разместить логирование и еще возможно сделать цифровую клавиатуру, которая будет отправлять сообщение только когда длина ввода будет например 6 цифр? клавиатура устройства не подходит, огромное спасибо

    @puser-yh9lv7kl1h@puser-yh9lv7kl1h2 жыл бұрын
  • Лучше отлавливать ошибки через try catch. Бот не будет останавливаться, а ошибки можно будет выводить в консоль или сохранить в файл.

    @BaradaFreeman@BaradaFreeman2 жыл бұрын
  • все таки проверка на админа через фильтр как-то более правильно что-ли, я считаю (хотя если брать конкретно пример с пиццерией - то, что бы заказчик мозг не парил, через группу таки удобнее в плане обслуживания). Сам пересматриваю этот плейлист и еще большой плейлист курс от "физик симпл" уже не в первый раз(да, до меня доходит все не с первого раза :-) ), и наконец-то начинаю догонять что и откуда растет. Как говорится: терпение и труд - все перетрут.

    @VTagil@VTagil2 жыл бұрын
    • Вариантов много, но нужно иметь в виду, что пример из видео не авторитет!!! Видео для быстрого ознакомления с aiogram, чтоб было проще сориентироваться в документации к библиотеке.

      @PythonHubStudio@PythonHubStudio2 жыл бұрын
  • Добрый день! Спасибо большое за уроки! У меня вызывается функция " load_photo " , только если установлена галочка " Сжать изображение " , это правильная работа? Почему так происходит и как этого избежать? Спасибо!

    @user-hg6um7ss7r@user-hg6um7ss7r2 жыл бұрын
  • А будет урок по написанию админки с помощью Django? Чтобы получился сайт на котором пользователь может управлять своим ботом?

    @dolgorukdeveloper5361@dolgorukdeveloper5361 Жыл бұрын
  • Спасибо за уроки, но хотел уточнить при вводе "отмена" бот пишет "ок" но не выходит из состояния админки и если снова написать загрузить, то можно заново загрузить фото.

    @NocommentGames474@NocommentGames474 Жыл бұрын
  • Добрый день. Как я понимаю в машину состояний бот переходит после команды /загрузить, тогда вопрос: зачем прописывать проверку на модератора в каждом хэндлере машины состояний?

    @d.a.lyutyi@d.a.lyutyi Жыл бұрын
  • Огромная благодарность за материал и такую подачу!!! Есть небольшая проблемка, почему-то не удаляет сообщение moderator, кто с таким сталкивался?

    @user-rd8fy7gg4p@user-rd8fy7gg4p Жыл бұрын
  • А как реализовать кнопку "Назад"? То есть, чтобы сбрасывалось на предыдущее состояние. Например, админ вводил описание в сауне и экран залип и он в описании навводил всякой ерунды и чтобы опять заново не вводить все, начиная с фотки, он мог написать /назад и заново написать описание. Нужно в каждый хэндлер добавить иф с описанием, что делать если текст равен "назад", явно устанавливать состояние на предыдущее значение и присылать такое же сообщение как в нем?

    @filin-uh-uh@filin-uh-uh2 жыл бұрын
  • @Python Hub Studio очень рад Вашим курсам по Python и написанию бота. Раньше вообще не понимал и не мог ничего написать, с Вами же все пошло на ура. У меня только возник вопрос: если я хочу вести бота без группы, то что и где нужно поменять, чтобы идентификация по ID проходила в боте, а не в группе?

    @nikitakozhevnikov8185@nikitakozhevnikov81852 жыл бұрын
    • Просто отправьте боту сообщение от нужного аккаунта и возьмите его Id, потом пропишите его в коде

      @PythonHubStudio@PythonHubStudio2 жыл бұрын
    • @@PythonHubStudio Понял Вас, спасибо за ответ! Буду пробовать :)

      @nikitakozhevnikov8185@nikitakozhevnikov81852 жыл бұрын
    • Здравствуйте. Вам удалось разрешить этот вопрос?

      @r_kamalovich@r_kamalovich10 ай бұрын
  • А как сделать, чтобы вместо фото пользователь кидал любой файл (типа документ ворд или пдф) и точно также присваивался идентификатор для бд, а затем с бд в сообщение для юзера загружать этот файл, по аналогии с фото?

    @ilyasdadashov6564@ilyasdadashov65642 жыл бұрын
  • Добрый день, после отправки фото код не продолжает работу, с чем может быть связано? проверял десять раз код, все точно так же написано, при команде /загрузить , присылает сообщение (загрузи фото) загружаю фото и ничего не происходит

    @twelve-jl4eh@twelve-jl4eh Жыл бұрын
  • Использовать глобальную переменную будет разумно? Или в сочетании с FSM , переменная ID будет уникальная

    @tinton7709@tinton7709 Жыл бұрын
  • Привет! Спасибо за прекрасные уроки. Хотел спросить, почему не сделать так, чтоб при вызове FSM: 1. Это можно было сделать только в личке с ботом или 2. админа перекидывало в личку к боту?

    @lightemitt4103@lightemitt4103 Жыл бұрын
    • Нужно было просто видео досмотреть до конца, спасибо еще раз за уроки)))

      @lightemitt4103@lightemitt4103 Жыл бұрын
  • можете подсказать насколько безопасна реализация проверки на соответствие айди отправителя == айди администратора и, если нет, то происходит выход из машины состояний? и ничего если в функцию cm_start я добавил аргумент (state: FSMContext) для непосредственно реализации выхода из машины состояний?

    @uncodebaby7952@uncodebaby7952 Жыл бұрын
  • Здравствуйте, есть небольшая проблема. Когда отправляю команду боту для выполнения действий из видео , он её просто отправляет как эхо бот, но команды из раздела client он выполняет . Подскажите пожалуйста в чем может быть проблема

    @shrbk7614@shrbk76142 жыл бұрын
  • Здравствуйте, спасибо большое за такие понятные и полноценные уроки! У меня возник 1 вопрос, буду рад если вы на него ответите. Так как после команды /moderator изменяется глобальная переменная ID и она проверяется абсолютно в каждом хендлере состояний, то при попытке двух и более модераторов одновременно загрузить меню, первые не смогут завершить загрузку из-за того, что глобальный ID изменился на значение последнего модератора или все будет работать корректно?

    @skhcru6854@skhcru6854 Жыл бұрын
    • Не будет, пример работает для одного модера и при запрете добавлять бота в другие группы и то он очень простой и на деле нужно чуть посерьёзнее подходить к таким вещам

      @PythonHubStudio@PythonHubStudio Жыл бұрын
  • Для ограничения доступа я предлагаю использовать декоратор перед всеми админскими обработчиками. Мне кажется это более элегантный способ, чем перегружать функцию дополнительным функционалом, также не нарушается принцип “don’t repeat yourself'

    @xvostov_k@xvostov_k2 жыл бұрын
    • напиши пожалуйста как решил этот момент

      @evgeniiwjay6177@evgeniiwjay61772 жыл бұрын
    • @@evgeniiwjay6177 как я понял, он имеет в виду в файле handlers/admin не создавать функцию register_handlers_admin, а перед каждый обработчиком написать соответствующий декоратор

      @maxpro7135@maxpro71352 жыл бұрын
  • Доброго времени суток! Огромная благодарность вам за ваши уроки. Очень доходчиво объясняете без всякой воды. Столкнулся со следующей проблемой из функций client, other, admin в основном файле бота, работают при запуске через bat-файл только две первые. При смене порядка вызова также работают только две первые. Подскажите, в чем может быть дело? В интернете про это ничего не нашел, к сожалению.

    @user-zh7ww2fn1g@user-zh7ww2fn1g2 жыл бұрын
    • у самого не работала регистрация admin, поэтому поэксперементировав я начал ее регестрировать первой,а после client, other

      @myravey2115@myravey21152 жыл бұрын
  • А если я хочу админку использовать отправляя боту на прямую? Не в групповом чате вызывать, в в ЛС боту. То тут как?

    @user-nx6fu1dt6e@user-nx6fu1dt6e Жыл бұрын
  • Добрый день , а как после запроса url в машине состояний перидовать его в inline button ??

    @prosto_chel544@prosto_chel544 Жыл бұрын
  • Очень информативный и полезный урок, автору благодарность за проделанную работу! Возник вопрос, а есть ли необходимость проводить проверку на ID админа в каждом хэндлере при заполнении позиции (и в фото, и в названии и в описании)? Как я предполагаю, достаточно сделать данную проверку только в первом хэндлере по команде "Загрузить", ведь после него бот становится в отслеживание машины состоянии и производится заполнение, и, соответственно, если пользователь не пройдет проверку, то и бот не будет отслеживать состояния, а значит и заполнять будет нечего? Или не в том направлении думаю?

    @user-vn4er1nm9h@user-vn4er1nm9h Жыл бұрын
    • К такому же выводу пришел, что смысла нет везде писать проверки. В самом начале думаю было бы доставка

      @user-ur3mc6hb5d@user-ur3mc6hb5d11 ай бұрын
    • Достаточно*

      @user-ur3mc6hb5d@user-ur3mc6hb5d11 ай бұрын
  • я хочу загрузить pdf файл, что нужно вбить после content_types= ?

    @gftggfryh1446@gftggfryh14462 жыл бұрын
  • А как принимать аудио файл, если скидывает пользователь? data['photo'] = message.photo[0].file_id вот так фото принимаем, но если поставить аудио не срабатывает. как обработать его?

    @Chel1k7@Chel1k7 Жыл бұрын
  • хорошие видео, конечно, но гораздо нагляднее было, когда фрагменты кода не вставлялись, а набирались в реальном времени с попутным объяснением. Видео может и стало бы на 10% длиннее, но твк было бы кратно доходчивее

    @user-pr2xl9sg4v@user-pr2xl9sg4v2 жыл бұрын
  • Здравствуйте, как я могу сделать список state. Мне нужно хранить несколько переменных. Допустим если пользователь хочет заказать сразу несколько пицц.

    @d1stance879@d1stance879 Жыл бұрын
  • как сделать хэндлер на выход из состояний при помощи библиотеки telebot, непонятно какие там надо библиотеки импортировать и методы использовать

    @bestmusic4553@bestmusic4553 Жыл бұрын
KZhead