спасибо за видео, буду пробовать накатить на шаблон с другого урока базу sqlite. А по текущему уроку - было бы прикольно если сообщение бота перетиралось
Огонь.🔥 и два вопроса 1. Пагинация и регистрация и сумма всех товаров в след. видео? 2. Есть ли у вас скрипт, чтоб после перезагрузки сервера автоматически запускался screen и запускался бот?
24:09 - мне кажется, что дело не в том, что он не может записывать данные асинхронно, он их просто не записывает, а ставит в очередь на запись. Иначе зачем бы нужен был коммит?
Важен ли порядок аргументов в функциях? например: async def reg_end(state: FSMContext, callback: CallbackQuery) поменяв местами state и callback, функция выполнилась без ошибок
Здравствуй! По поводу облачного сервиса подскажи пожалуйста. Я хочу сделать телеграм бота, который будет периодически запускать скрипт, который парсит веб страницу с использованием Selenium. Чтоб selenium работал, мне нужно куча драйверов скачать, включая браузер firefox. Могу ли я управлять сервером не только через консоль, а например, получить доступ к рабочему столу, браузеру и тд?
Для колбэков было бы неплохо сразу показать использование через классы, а не прописывать startwith и вручную вытаскивать значения По поводу запуска в фоне есть дефолтный systemd в убунте, который запускает бота как сервис
подскажите пожалуйста, что можно сделать. пыталась вставить ssh в консоль, но получила это: connect to host port 22: Unknown error буду очень благодарна за помощь
Спасибо за материал, благодаря нему уже потестил своих ботов. Правда на этом этапе затык с БД она не создается при запуске main скрипта. В чем причина? Играет роль что создаю на Макбуке?
у меня проблема с импортами есть. У меня не получается импортировать: "app.module.file" или ".module.file", работает только "module.file", с чем это может быть связано?
Добрый день. Что то изменилось кажется. У вас публичный ip не требует дополнительных вложений. Сейчас же я перешел и зарегистрировался по вашей ссылке. 150р самый дешевый сервер и 150р внешний ip адрес. Без выделенного адреса нет доступа по фтп, по крайней мере справа имеются только данные по портам, адреса к серверу нет. Поясните пожалуйста что то изменилось, или я что то делаю не так?
Traceback (most recent call last): File "C:\пет проект\main.py", line 20, in asyncio.run(main()) ~~~~~~~~~~~^^^^^^^^ File "C:\Users\Home\AppData\Local\Programs\Python\Python313\Lib\asyncio unners.py", line 194, in run return runner.run(main) ~~~~~~~~~~^^^^^^ File "C:\Users\Home\AppData\Local\Programs\Python\Python313\Lib\asyncio unners.py", line 118, in run return self._loop.run_until_complete(task) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ File "C:\Users\Home\AppData\Local\Programs\Python\Python313\Lib\asyncio\base_events.py", line 721, in run_until_complete return future.result() ~~~~~~~~~~~~~^^ File "C:\пет проект\main.py", line 9, in main await async_main() File "C:\пет проект\app\database\models.py", line 40, in async_main async with engine.begin() as conn: ~~~~~~~~~~~~^^ File "C:\Users\Home\AppData\Local\Programs\Python\Python313\Lib\contextlib.py", line 214, in __aenter__ return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "C:\пет проект\.venv\Lib\site-packages\sqlalchemy\ext\asyncio\engine.py", line 1063, in begin async with conn: ^^^^ File "C:\пет проект\.venv\Lib\site-packages\sqlalchemy\ext\asyncio\base.py", line 121, in __aenter__ return await self.start(is_ctxmanager=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\пет проект\.venv\Lib\site-packages\sqlalchemy\ext\asyncio\engine.py", line 273, in start await greenlet_spawn(self.sync_engine.connect) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\пет проект\.venv\Lib\site-packages\sqlalchemy\util\concurrency.py", line 99, in greenlet_spawn _not_implemented() ~~~~~~~~~~~~~~~~^^ File "C:\пет проект\.venv\Lib\site-packages\sqlalchemy\util\concurrency.py", line 79, in _not_implemented raise ValueError( ...... ) ValueError: the greenlet library is required to use this function. No module named 'greenlet'
Добавь в следующий раз, как картинку достать из БД, понятное дело картинки в проекте хранятся, а в БД путь к ним. Как сделать, чтобы при выводе типа название , описание, ещё и фото товара было?
@@ekaterinavasilieva7667Правильный вариант без костылей: Необходимо записывать уникальное айди фото в базу данных, и при необходимости просто получать этот айди и передать пользователю через метод message.answer_photo. надеюсь понятно объяснил
Я делал всё как сказано в видео, но в моменте когда автор запускает код и после нажатия каталога выводит товары у меня в vs code выходит очень длинная ошибка в терминале. Можете подсказать как это исправить
В самом низу ошибки обычно пишет первоисточник причины. Обрати внимание на знакомые строчки кода в этой ошибке. Возле будет и файл в котором находится строчка кода и цифры позиции в строке. Просто проверь правильность написания этой строчки. Обычно бывает, что скобки не поставил, не переименовал переменную как положено, или не сослался на функцию. Но чаще если печатаешь без подсказок, то синтаксическая ошибка, проверь по буквам каждый аргумент.
Подскажите, пожалуйста, всё написано точно так же, перепроверил несколько раз, но при запуске бота получается вызвать только список категорий брендов, а при выборе бренда списков кроссовок уже не вызывается, только кнопка бренда мерцает. В чем может быть проблема?
Здравствуйте. После того как создал модели и на терминале прописал pyhton main.py у меня не сохраняется в виде БД. Когда открываю выдаёт ошибку: ''The file is not displayed in the text editor because it is either binary or uses an unsupported text encoding.'' Скажите пожалуйста как исправить?
Traceback (most recent call last): File "c:\pythone programs\main.py", line 7, in from models import async_main File "c:\pythone programs\models.py", line 24, in class Item(Base): File "c:\pythone programs\models.py", line 31, in Item category: mapped_column[int] = mapped_column(ForeignKey('categories.id')) ~~~~~~~~~~~~~^^^^^ TypeError: 'function' object is not subscriptable в чём причина?
Привет, была ошибка у меня на "tg_id: mapped_column(BigInteger)" - поменял на "tg_id: Mapped[int] = mapped_column(BigInteger)" и все заработало, это же не критично?
А если я коннекчусь с mysql базой, я могу не создавать таблицу программно? Или это удобно тем, что при изменении структуры оно не убьет базу при перезапуске бота и добавит новые столбцы?
Привет. Пишу код по твоему примеру. На 17 минуте ты делаешь первый запуск скрипта и у тебя все ок. У меня ошибка, хотя код идентичен с твоим, все модули установлены. [Running] python -u "d:\Bot2 un.py" Traceback (most recent call last): File "d:\Bot2 un.py", line 9, in from app.database.models import async_main File "d:\Bot2\app\database\models.py", line 1, in import sqlalchemy ModuleNotFoundError: No module named 'sqlalchemy' [Done] exited with code=1 in 2.684 seconds На stackoverflow пишут, что можно попробовать установить еще один пакет (pip install flask_sqlalchemy), но это не помогло. В чем может быть проблема?
File "C:\Users\YOLO\Desktop\votteleg\Самопис\Основа\app\keybords.py", line 28, in categories for category in all_categories: TypeError: 'Category' object is not iterable. Вот такая ошибка. Может кто-то помочь ?
Функция with выполняет разовое открытие файла и после чего его закрывает. Можешь в процессе подменить файл на уже отредактированный или с помощью DB SQL в режиме реального времени вносить изменения и сохранять. Однако заказчики вряд ли будут так заморачиваться. Для них можно создать Админ доступ и сделать интерфейс для удаления и записи новых данных.
Для того чтобы подключить MySQL или PostgreSQL нужно просто поменять ссылку в url при create_engine, можно найти шаблоны в доках. На след уроке поставим на MySQL
@@sudoteach Давай лучше на Postgre, сейчас во всех компаниях РФ используется. Подскажи а асинхронный postgre есть? Если нет, нормально обычный постгре будет работать с асинхронным кодом?
@@ДаниилОвчинников-у2д асинхронный у тебя орм и да бот может работать с postgre в январе были видео тут в тюбе от python hub studio = там все на postgre, очень советую глянуть уже после 2х видео у Тимура и да походу однозначно прикуплю его курс)
await callback.message.answer(f'Название: {item_data.name} Описание: {item_data.description} Цена: {item_data.price}р', ^^^^^^^^^^^^^^ AttributeError: 'ScalarResult' object has no attribute 'name' что значит и как исправить
Мой полный курс по Телеграм ботам: sudoteach.com/course/aiogram3
У этого Барсика такой приятный голос… аж питон захотелось изучать
К сожалению, ты его только придушить можешь кому-то
😂😂😂😂😂
@@Putu_pererenan почему?
Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?
Искал кто разжует грамотно тему ТГ ботов и БД и без воды, и наконец то нашёл, спасибо огромное за гайды)
Лучший, ты рассказываешь то, что многие не расскажут, продолжай в том же духе, ждём ещё видеоролики)
Вообще огонь! Жду продолжение, четко подаёшь информацию!
Добавь кошель для донатов, думаю благодарных много
Спасибо большое. Нашла у тебя то, что очень долго искала. Хочу на твой курс.
спасибо за видео, буду пробовать накатить на шаблон с другого урока базу sqlite. А по текущему уроку - было бы прикольно если сообщение бота перетиралось
Хотелось бы конечно услышать более глубокие объяснения, но и так сойдет. Благодарю
Спасибо за видео. Подскажите пожлалуйста где можно посмотреть про правила для таблиц типо каскад и т.д?
А будет продолжение чтоб заказы этих кроссовок приходили админу? и может быть оплата
Огонь.🔥 и два вопроса
1. Пагинация и регистрация и сумма всех товаров в след. видео?
2. Есть ли у вас скрипт, чтоб после перезагрузки сервера автоматически запускался screen и запускался бот?
Привет, нашел скрипт из 2 пункта? Или есть какой-то ролик/статья где запускают таким образом?
Если для Линукс,то поищите как создать сервис
Чувак ты машина💪, лучший ютубер-программист, рассказал про всё, даже учёл защиту от sql инъекций. Продолжай в том же духе, ты просто бомба🔥🔥🔥
Очень много полезной информации. Спасибо. Как можно сделать перезапуск бота на сервере автоматически в случае глюка либо перезапуска сервера?
Не совсем понял. Если залить таким образом бд она же может стереться или в тайм веб не нужно разделять статичные данные и скрипт?
Здравствуйте! А какой командой изменить допустим цену товара в базе данных?
Как всегда на высоте 🔥
Отличноое видео !
Ура наконец-то я так этого ждал
17:39 у меня после такого запуска завершается с кодом 0, в чём причина может быть?
у меня есть вопрос, если я закину бд в FileZilla, а потом захочу вручную добавить что-то в бд, я смогу это сделать?
24:09 - мне кажется, что дело не в том, что он не может записывать данные асинхронно, он их просто не записывает, а ставит в очередь на запись. Иначе зачем бы нужен был коммит?
Есть более подробные гайды по базе данных на айограм3.5??
Важен ли порядок аргументов в функциях?
например:
async def reg_end(state: FSMContext, callback: CallbackQuery)
поменяв местами state и callback, функция выполнилась без ошибок
Нет
@@pancar5051 а вот да
@@АхметшаШарипов ты прописал названия аргументов порядок не нужен по факту, а если названия не пишешь то надо
Как всегда лучший
Если кроме кроссовок добавить футболки, то такая взаимосвязь таблиц работать не будет?
Здравствуй! По поводу облачного сервиса подскажи пожалуйста. Я хочу сделать телеграм бота, который будет периодически запускать скрипт, который парсит веб страницу с использованием Selenium. Чтоб selenium работал, мне нужно куча драйверов скачать, включая браузер firefox. Могу ли я управлять сервером не только через консоль, а например, получить доступ к рабочему столу, браузеру и тд?
А как добавить фотку дополнительно к каждому товару?
Для колбэков было бы неплохо сразу показать использование через классы, а не прописывать startwith и вручную вытаскивать значения
По поводу запуска в фоне есть дефолтный systemd в убунте, который запускает бота как сервис
подскажите пожалуйста, что можно сделать. пыталась вставить ssh в консоль, но получила это:
connect to host port 22: Unknown error
буду очень благодарна за помощь
Сделай гайд по локализции бота + юкасса
Спасибо за материал, благодаря нему уже потестил своих ботов. Правда на этом этапе затык с БД она не создается при запуске main скрипта. В чем причина? Играет роль что создаю на Макбуке?
Тоже не создавалась, пока в main.py в функцию main не добавил """await async_main()""". Как пропустил, не понимаю)😂
Если папка венв уже есть в директории проэкта то можно не импортировать библиотеки при постановке на сервер
Делаю все как на видео, выдает ошибку Permission denied, после ввода пароля
у меня проблема с импортами есть. У меня не получается импортировать: "app.module.file" или ".module.file", работает только "module.file", с чем это может быть связано?
Добрый день. Что то изменилось кажется. У вас публичный ip не требует дополнительных вложений. Сейчас же я перешел и зарегистрировался по вашей ссылке. 150р самый дешевый сервер и 150р внешний ip адрес. Без выделенного адреса нет доступа по фтп, по крайней мере справа имеются только данные по портам, адреса к серверу нет. Поясните пожалуйста что то изменилось, или я что то делаю не так?
Сделай видос с подключением оплаты
Спасибо за видео
Кто может сказать, как сделать так чтобы при нажатии на инлайн кнопку переписывалась команда от лица пользователя?
Запишите как добавить поиск в бота?
при попытке запустить бота после подключения бд вылезает такая огромная ошибка, кто знает как решить?
Traceback (most recent call last):
File "C:\пет проект\main.py", line 20, in
asyncio.run(main())
~~~~~~~~~~~^^^^^^^^
File "C:\Users\Home\AppData\Local\Programs\Python\Python313\Lib\asyncio
unners.py", line 194, in run
return runner.run(main)
~~~~~~~~~~^^^^^^
File "C:\Users\Home\AppData\Local\Programs\Python\Python313\Lib\asyncio
unners.py", line 118, in run
return self._loop.run_until_complete(task)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "C:\Users\Home\AppData\Local\Programs\Python\Python313\Lib\asyncio\base_events.py", line 721, in run_until_complete
return future.result()
~~~~~~~~~~~~~^^
File "C:\пет проект\main.py", line 9, in main
await async_main()
File "C:\пет проект\app\database\models.py", line 40, in async_main
async with engine.begin() as conn:
~~~~~~~~~~~~^^
File "C:\Users\Home\AppData\Local\Programs\Python\Python313\Lib\contextlib.py", line 214, in __aenter__
return await anext(self.gen)
^^^^^^^^^^^^^^^^^^^^^
File "C:\пет проект\.venv\Lib\site-packages\sqlalchemy\ext\asyncio\engine.py", line 1063, in begin
async with conn:
^^^^
File "C:\пет проект\.venv\Lib\site-packages\sqlalchemy\ext\asyncio\base.py", line 121, in __aenter__
return await self.start(is_ctxmanager=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\пет проект\.venv\Lib\site-packages\sqlalchemy\ext\asyncio\engine.py", line 273, in start
await greenlet_spawn(self.sync_engine.connect)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\пет проект\.venv\Lib\site-packages\sqlalchemy\util\concurrency.py", line 99, in greenlet_spawn
_not_implemented()
~~~~~~~~~~~~~~~~^^
File "C:\пет проект\.venv\Lib\site-packages\sqlalchemy\util\concurrency.py", line 79, in _not_implemented
raise ValueError(
......
)
ValueError: the greenlet library is required to use this function. No module named 'greenlet'
что делать если при подключении к рут серверу пишет permission denied?
Привет, подскажи а как делать обновления?
Из БД бот отображает только одну категорию NIke и один товар Air Max. Помогите, пожалуйста, разобраться
скорее всего используешь scalar вместо scalars
@@Putu_pererenan к сожалению, это не помогло :c
Добавь в следующий раз, как картинку достать из БД, понятное дело картинки в проекте хранятся, а в БД путь к ним. Как сделать, чтобы при выводе типа название , описание, ещё и фото товара было?
Поддерживаю (если еще не сделали)
Тоже долго мучился, в итоге придумал костыль
можно картинки выгружать в сам тг и брать их айди
@@nvwrist подскажите пожалуйста костыль:) А то я картинки в базу данных в типе BLOB, а как их вытащить ума не приложу. Спасибо больщое заранее
@@ekaterinavasilieva7667Правильный вариант без костылей: Необходимо записывать уникальное айди фото в базу данных, и при необходимости просто получать этот айди и передать пользователю через метод message.answer_photo. надеюсь понятно объяснил
Я делал всё как сказано в видео, но в моменте когда автор запускает код и после нажатия каталога выводит товары у меня в vs code выходит очень длинная ошибка в терминале. Можете подсказать как это исправить
В самом низу ошибки обычно пишет первоисточник причины. Обрати внимание на знакомые строчки кода в этой ошибке. Возле будет и файл в котором находится строчка кода и цифры позиции в строке. Просто проверь правильность написания этой строчки. Обычно бывает, что скобки не поставил, не переименовал переменную как положено, или не сослался на функцию. Но чаще если печатаешь без подсказок, то синтаксическая ошибка, проверь по буквам каждый аргумент.
Подскажите, пожалуйста, всё написано точно так же, перепроверил несколько раз, но при запуске бота получается вызвать только список категорий брендов, а при выборе бренда списков кроссовок уже не вызывается, только кнопка бренда мерцает. В чем может быть проблема?
Может reply_markup не прописал?
Здравствуйте. После того как создал модели и на терминале прописал pyhton main.py у меня не сохраняется в виде БД.
Когда открываю выдаёт ошибку:
''The file is not displayed in the text editor because it is either binary or uses an unsupported text encoding.''
Скажите пожалуйста как исправить?
надо установить sqlite или плагин в той ide где работаешь
Посоветуйте кто-нибудь хороший курс по sqlalchemy, пож
Спасибо
Traceback (most recent call last):
File "c:\pythone programs\main.py", line 7, in
from models import async_main
File "c:\pythone programs\models.py", line 24, in
class Item(Base):
File "c:\pythone programs\models.py", line 31, in Item
category: mapped_column[int] = mapped_column(ForeignKey('categories.id'))
~~~~~~~~~~~~~^^^^^
TypeError: 'function' object is not subscriptable в чём причина?
у тебя подчёркнуто, что ты пишешь два раза mapped_column, внимательнее будь..
Спасибо большое
А как сделать так чтобы бот получал данные от пользователя и выгружал их в другой канал для сотрудников,которые будут обрабатывать заявки?
Очевидно, бот нужно добавить в админы канала
@@Putu_pererenan вот это действительно очевидно, а дальше что? Как его настроить?
где 3 часть?
лучший IT блогер на рутубе ❤❤
Привет, была ошибка у меня на "tg_id: mapped_column(BigInteger)" - поменял на "tg_id: Mapped[int] = mapped_column(BigInteger)" и все заработало, это же не критично?
У тебя проблема была в двоеточие, без дополнительного параметра в виде Mapped оно было не нужным.
А если я коннекчусь с mysql базой, я могу не создавать таблицу программно? Или это удобно тем, что при изменении структуры оно не убьет базу при перезапуске бота и добавит новые столбцы?
Тооооп
Привет. Пишу код по твоему примеру. На 17 минуте ты делаешь первый запуск скрипта и у тебя все ок. У меня ошибка, хотя код идентичен с твоим, все модули установлены.
[Running] python -u "d:\Bot2
un.py"
Traceback (most recent call last):
File "d:\Bot2
un.py", line 9, in
from app.database.models import async_main
File "d:\Bot2\app\database\models.py", line 1, in
import sqlalchemy
ModuleNotFoundError: No module named 'sqlalchemy'
[Done] exited with code=1 in 2.684 seconds
На stackoverflow пишут, что можно попробовать установить еще один пакет (pip install flask_sqlalchemy), но это не помогло. В чем может быть проблема?
Sqlalchemy не установлена. Если настраивали venv (Вирт окружение), то посмотрите куда именно Вы устанавливаете алхимию.
может еще из за версии питона
File "C:\Users\YOLO\Desktop\votteleg\Самопис\Основа\app\keybords.py", line 28, in categories
for category in all_categories:
TypeError: 'Category' object is not iterable. Вот такая ошибка. Может кто-то помочь ?
Ты видимо не сохранил данные в таблице.
Такая же проблема, удалось решить?
где видео про корзину((((
Я тоже хочу
Бот запустился на сервере, как его теперь остановить? Помогите пожалуйста
ахахахах, почему то дико смешно стало с твоего коммента
Твой бот захватит планету !
Его не остановить
Ctrl + C
А если нужно перезалить файл. Как остановить ?
Функция with выполняет разовое открытие файла и после чего его закрывает. Можешь в процессе подменить файл на уже отредактированный или с помощью DB SQL в режиме реального времени вносить изменения и сохранять. Однако заказчики вряд ли будут так заморачиваться.
Для них можно создать Админ доступ и сделать интерфейс для удаления и записи новых данных.
топчик
No module named 'aiosqlite'
Таймвеб подняли цены после твоего видео(
ты фронт?
34:24
го с mysql
Для того чтобы подключить MySQL или PostgreSQL нужно просто поменять ссылку в url при create_engine, можно найти шаблоны в доках. На след уроке поставим на MySQL
@@sudoteach имба друг! 🎉
@@sudoteach Давай лучше на Postgre, сейчас во всех компаниях РФ используется. Подскажи а асинхронный postgre есть? Если нет, нормально обычный постгре будет работать с асинхронным кодом?
@@ДаниилОвчинников-у2дpsycopg2 асинхронный
@@ДаниилОвчинников-у2д асинхронный у тебя орм и да бот может работать с postgre в январе были видео тут в тюбе от python hub studio = там все на postgre, очень советую глянуть уже после 2х видео у Тимура и да походу однозначно прикуплю его курс)
Просто разнос.
Автор не шарит за кроссовки
Отписка!!!
Что делать если возникает проблема:
ImportError: cannot import name 'DeclarativeBase' from 'sqlalchemy.orm'
А про миграции не рассказали... Не нужное барахло... :)
ы
await callback.message.answer(f'Название: {item_data.name}
Описание: {item_data.description}
Цена: {item_data.price}р',
^^^^^^^^^^^^^^
AttributeError: 'ScalarResult' object has no attribute 'name' что значит и как исправить
Нашел решение? такая же ошибка