Телеграм бот на Python / #4 - SQLite3. Подключение к базе данных

  Рет қаралды 170,403

Гоша Дударь

Гоша Дударь

Күн бұрын

Пікірлер: 285
@Markisi0
@Markisi0 Жыл бұрын
Чтобы не плодить лишний раз глобальные переменные, можно передавать третьим аргументом имя пользователя bot.register_next_step_handler(message, fill_user_pass, name) в этом случае функция fill_user_pass будет принимать не один аргумент - message, а два, например, user_name. def fill_user_pass(message, user_name): Так можно увеличивать их количество от функции к функции, но лучше эти объекты организовывать в список или словарь
@Uideas
@Uideas 6 ай бұрын
Да, это хорошее решение. Только в случае, когда у тебя много параметров, ты заколебешься их прописывать. В этом случае уже с глобальными можно
@cr_obito
@cr_obito 4 ай бұрын
Нельзя использовать глобальные переменные в проектах в которых есть несколько пользователей. Потому что если будет параллельно выполняться несколько запросов, нужные данные просто попадут в другой id !
@НикитаМечетин
@НикитаМечетин Жыл бұрын
Это лучший ютубер которого я видел ты очень круто объясняешь темы очень крутой курс смотрю каждое видео и повторяю ща тобой пытаюсь разобраться в каждой строчке очень долго искал такого и не мог найти но ты делаешь невероятное) спасибо большое,удачи в развитии канала
@chesnokov4132
@chesnokov4132 Жыл бұрын
Спасибо огромное за курс! После django и других работ, это кажется просто кайфом.Я очень жду продолжения!! Удачи
@daniilhalytskyi8562
@daniilhalytskyi8562 Жыл бұрын
Я думаю переменную name лучше делать не глобальной, а передавать из функции user_name в user_pass напрямую. Можно третьим аргументом в метод bot.register_next_step_handler(message, user_pass, name) добавить. Там бесконечное количество переменных можно передавать таким образом.
@alihansadulaev4351
@alihansadulaev4351 Жыл бұрын
без библиотеки не будет работать???
@zp4355
@zp4355 Жыл бұрын
@@alihansadulaev4351 Без какой? Зачем библиотека для этого?
@Markisi0
@Markisi0 Жыл бұрын
Чтобы избежать ошибки sqlite3.OperationalError: no such column: нужно было просто добавить кавычки f'INSERT INTO users (name, pass) VALUES ("{user_name}", "{password}")'
@ТттТ-г1щ
@ТттТ-г1щ Жыл бұрын
а ещё лучше вообще не использовать f-строки в SQL-запросах, поскольку это небезопасно и в целом является неприемлемой практикой
@Markisi0
@Markisi0 Жыл бұрын
@@ТттТ-г1щ а чем обычная строка безопаснее f-строки?
@ТттТ-г1щ
@ТттТ-г1щ Жыл бұрын
@@Markisi0, читал, что f-строки уязвимы перед SQL-инъекциями
@AlexGold
@AlexGold Жыл бұрын
вай брат спасибо как ты написал работает как он написал выдает sqlite3.OperationalError: 1 values for 2 columns, не знаешь что делать в таком случае?
@Markisi0
@Markisi0 Жыл бұрын
@@AlexGold пожалуйста! Судя по описанию ошибки, у тебя идёт попытка вставить одно значение в 2 колонки, то есть забыл где-то второе значение указать. Количество значений должно соответствовать количеству столбцов
@МарсельЗагитов-с8ж
@МарсельЗагитов-с8ж 7 ай бұрын
Ребята огромная вам благодарность что так круто преподаете все!!!! Спасибо большое отличный курс!
@anonymprog
@anonymprog 7 ай бұрын
курсы хорошие, но в этом видео большая путанница с базой данных, и автор усложнил заполнение полей
@JohnHarmRussia
@JohnHarmRussia 10 ай бұрын
ошибка на 15:25 была связана с синтаксисом SQL, можно было просто обрамить в двойные кавычки вот так (я так и исправил и сработало, а уже потом увидел ваше решение): cur.execute(f'INSERT INTO users (name, pass) VALUES ("{name}", "{password}")')
@artembezrukov9799
@artembezrukov9799 11 ай бұрын
Супер тема!!! Очень полезно для меня. Спасибо большое!
@kotlayn
@kotlayn Жыл бұрын
Спасибо за видео! У меня вопрос, как отчистить список пользователей?
@czdiejengco
@czdiejengco Жыл бұрын
У меня почему то не раскрашивается работа с sqlite3.Как исправить? CREATE TABLE IF NOT EXISTS users (id int auto_increment primary key, name varchar(50), pass varchar(50)) Вот это почему то пишется полностью зеленым а не так как на видео.
@standoff2_yt77
@standoff2_yt77 Жыл бұрын
Тоже самое. Смог решить проблему?
@czdiejengco
@czdiejengco Жыл бұрын
@@standoff2_yt77 не смог.Как я понял это из за того что это бесплатная версия и некоторые функции недоступны(
@РусланПетриченко-х4л
@РусланПетриченко-х4л Жыл бұрын
​@@czdiejengco нет, у меня тоже самое, оно должно работать. У меня тоже зелёное, но робгтает
@yuriismakota9574
@yuriismakota9574 Жыл бұрын
Нашли решение? У меня тоже самое...
@Абдул-АзизМахаматдинов
@Абдул-АзизМахаматдинов Жыл бұрын
'CREATE TABLE IF NOT EXISTS qarizdarlar (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(50))'
@AleksChessShow
@AleksChessShow 10 ай бұрын
Сперва начал проходить курс питону у одного блогера, не понравилось перешёл к Гоше и тут всё прекрасно. Начал проходить тут связанный с ботами и понял, что пора искать другой канал. Ощущение, что ты просто постарался сделать максимально ёмко эту работу. Просто напихал всего без особых объяснений. Курс по Питону был прекрасен, а здесь наскоряк что то слепленное. И пожалуйста, если ты пишешь код ,а он не работает - не показывай его. Ты просто издеваешься над нами. Мы переписываем, пытаемся разобраться как работает. Ты запускаешь и....оно просто не работает. Так вырежи это, зачем тратить время и силы Спасибо за курс по питону, но этот курс, я пожалуй, пройду в другом месте
@drekouli4291
@drekouli4291 4 ай бұрын
В sqlite нет varchar(50). Есть только text, а ограничение прописывается отдельно, иначе не будет работать
@andreimix
@andreimix Жыл бұрын
Надеюсь тут будет про хостинг бота и базы, а то у меня с этим постоянно проблемы
@alovian7541
@alovian7541 Жыл бұрын
Привет, у меня та же проблема. Ты нашёл решение?
@Asadabualek
@Asadabualek 11 ай бұрын
@@alovian7541привет за 2 месяца нашел решение?
@artemalferov4020
@artemalferov4020 Жыл бұрын
Я сейчас скажу возможно не самое популярное мнение, но все таки - sqlite3 не сработает по модели mysql, там есть свои моменты, например: id auto_increment p...k, - не будет вводить значения в таблицу, при выборке мы получим значение None, избежать этого можно так - id primary key, name varchar(50), ... либо так - id primary key autoincrement, name varchar(50), ... во втором случае знак "земля" в слове autoincrement не нужен, иначе будет ошибка синтаксиса.
@evgeniyo2560
@evgeniyo2560 Жыл бұрын
точнее id integer primary key autoincrement. другие варианты у меня не работали
@dmitrymakarenko8975
@dmitrymakarenko8975 8 ай бұрын
@@evgeniyo2560 4 часа изнасилования мозга и я пришел в комменты поделиться мудростью, чтобы обнаружить, что кто-то уже ответил Знаете, что находит гугл по запросу sqlite primary key Null? Нифига он не находит
@elezthemdev
@elezthemdev Жыл бұрын
А так курсы топ, спасибо Гоше!
@_Azimut
@_Azimut 10 ай бұрын
как сделать так, что б в кавычках тоже была подсветка синтаксиса, как на видео? У меня вся строка - 'CREATE TABLE IF...' зеленого цвета, ошибки не подсвечиваются(((
@kiso4974
@kiso4974 10 ай бұрын
такая же фигня
@kiso4974
@kiso4974 10 ай бұрын
короче я пишу в vs коде я просто скачал ультилиту SQlite и всё заработало
@stouneespring6051
@stouneespring6051 Жыл бұрын
если я хочу сделать допустим бота который будет хранить некие данные пользователя, как сделать так, чтобы каждому пользователю присваивалась своя бд?
@1NewUser1
@1NewUser1 Жыл бұрын
Тебе нужно просто создать таблицу с атрибутами id, user_name, user_id.... (И какие хочешь данные) и просто делаешь запросы на пример по user_id(т.к он уникален у каждого пользователя телеги) и с него берёшь всё данные которые тебе нужны
@solark7608
@solark7608 2 ай бұрын
А вот кстати вопрос. В каждом хэндлере вы заново подключаетесь к бд и дропаете подключение, это по идее сильно влияет на производительность? А если есть желание разделить проект на модули?
@ВикторБехтеев-ь7д
@ВикторБехтеев-ь7д 8 ай бұрын
почему у меня на 5:22 не поменялся цвет с зеленого на такой как в ролик?
@DegenerationTeam
@DegenerationTeam 7 ай бұрын
Скорее всего у него пользовательская тема, которая перекрашивает текст в разные цвета даже не смотря на кавычки, если это SQLite3 команда. У меня тоже так, так как я не устанавливал темы
@КуанышЖусупов-р1ю
@КуанышЖусупов-р1ю Жыл бұрын
Уроки супер, очень легко и понятно. Рахмет!
@Beik0
@Beik0 Жыл бұрын
"Рахмет" это спасибо? И если да, то на каком языке?
@КуанышЖусупов-р1ю
@КуанышЖусупов-р1ю Жыл бұрын
@@Beik0 Казахский язык 🇰🇿
@Beik0
@Beik0 Жыл бұрын
@@КуанышЖусупов-р1ю спасибо
@grigoriyivanov3741
@grigoriyivanov3741 Жыл бұрын
Гоша, привет. Очень круто.
@СергейКраснополов
@СергейКраснополов Жыл бұрын
Был интересен вот этот вопрос: coursor.execute("INSERT INTO users (name, pass) VALUES (?, ?)", (name, password)) почему здесь нельзя использовать форматированную строку по типпу f'{name, pass}' Вот что мне подсказали Эту штуку нельзя сделать т.к. пользователь мог бы ввести вот такую команду и дропнусть все базу SQL т.к. была бы воспринята как команда Это называется SQL инъекция вот ее пример: name = "John'; DROP TABLE users; --" sql = f"INSERT INTO users (name, pass) VALUES ('{name}', '{password}')" Да и как заметили вместо симоволов %s оказалось можно использовать ( ?, ?) что чуть чуть удобнее
@SahinIsmayilov-we2ok
@SahinIsmayilov-we2ok 8 күн бұрын
Ребята в том числе и автор помогите пожалуйста я хочу чтобы список пользователей был доступен только мне как это сделать?
@Qwex1992
@Qwex1992 Жыл бұрын
...в базе данных всё закодировано, поэтому открывать мы ее не будем а жаль, если бы открыли, то увидели, что у id значения NULL
@siarheiulas6969
@siarheiulas6969 Жыл бұрын
Спасибо за видео!
@theleliks4668
@theleliks4668 4 ай бұрын
ребят мой вам совет. зачастую все ваши проблемы в коде это из-за не внимательности. В 7:30 комманда cur.execute('CREATE TABLE IF NOT EXISTS users (id int auto_increment primary key, name varchar(50), pass varchar(50)') мне выдавало ошибку по типу: sqlite3.OperationalError: и тд так вот. у меня ошибка была в том что я просто забыл закрыть скобки в конце... Для вас задание где я ошибся в коде...
@АннаРоманова-щ3к
@АннаРоманова-щ3к Ай бұрын
Блин, я сначала когда прочла ваш комментарий, подумала, «ну конечно же я не забыла поставить скобку!» Потом еще внимательно посмотрела - забыла 🤦‍♀️
@theleliks4668
@theleliks4668 Ай бұрын
@@АннаРоманова-щ3к ахахах
@KrykkOff
@KrykkOff 6 ай бұрын
Если у вас на моменте 7:42 выдало ошибку: cur.execute(f'CREATE TABLE IF NOT EXISTS users (id int auto_increment primary key, name varchar(50), pass varchar(50)') sqlite3.OperationalError: incomplete input Решение: Надо просто использовать другой способ форматирования строки, например, конкатенацию строк: query = 'CREATE TABLE IF NOT EXISTS users (id int auto_increment primary key, name varchar(50), pass varchar(50))' cur.execute(query) Ответ мне помогла найти GPT, поэтому я сам не до конца догнал почему это так работает, а как Гоша написал не работает... GPT внятно не ответила... ГОША ПОМОГИ ПОЖАЛУЙСТА ПОНЯТЬ почему так?
@Hijohs
@Hijohs 5 ай бұрын
спасибо!
@BBallet123
@BBallet123 21 күн бұрын
Спасибо большое за комментарий. У меня тоже была такая же ошибка. Устранила вашим способом.
@ГригорійСтрамоус
@ГригорійСтрамоус 4 ай бұрын
Доброго вечера, а можно урок как в телеграм боте отправлять новости. ? К примеру создать простого бота который будет отправлять на Гугл диск для прайсов на товар. А если мы обновили прайсы то мы это как новость написала в боте, и всем кто использует бот в чат пришло уведомления
@BarBrain1
@BarBrain1 Жыл бұрын
У телеграма есть ограничения, например на кол-во сообщений в секунду, как будете обрабатывать тротл?
@TimQ2
@TimQ2 Жыл бұрын
отправится второе сообщение с тем, что не вместилось в первое
@lolikfas2614
@lolikfas2614 Жыл бұрын
почему при создании таблицы, в cure.execute весь текст внутри зеленый, int не воспринимает, как исправить, и почему нельзя сразу в видео показать, что нужно доп установить для работы в пайчарм
@MnlopLiolo-gd4me
@MnlopLiolo-gd4me Жыл бұрын
Нашёл ответа??
@cagletu
@cagletu 2 ай бұрын
cur.execute("INSERT INTO users (name, pass) VALUES (?, ?)", (name, password)) так будет правильнее с точки зрения синтаксиса sqlite
@soslantadtaev2627
@soslantadtaev2627 11 ай бұрын
Ребята, подскажите, почему callback_data у меня вообще не работает? всё сделал как в видео, но почему-то вообще не работает(кнопка показывается, но ничего не вызывается)
@maloy.8313
@maloy.8313 10 ай бұрын
нашел ответ?
@sedoy_dedushka
@sedoy_dedushka 29 күн бұрын
у меня была такая же проблема, я нашел 2 причины: 1) почему-то вариант написания как у автора у меня не работал видимо я что-то не так делал, пришлось использовать по совету комментаторов : cur.execute(f"INSERT INTO users (name, pass) VALUES ('{name}', '{password}')") 2) я не создавал проект с 0, а использовал файл бота с прошлого урока, причем сильно его сам переработал, дак вот там у меня была другая функция callback, после комментирования которой случилось чудо и все заработало. ЗЫ. я понимаю, что для вас прошел уже почти год, и может вы разобрались почему конфликтуют функции callback, если так, то поясните, гугление особых результатов не дало, а с учетом того, что эти функции у меня носят разные названия я не особо понимаю принцип их вызова, ведь в строке: markup.add(types.InlineKeyboardButton('Список пользователей', callback_data='users')) мы ссылаемся на переменную users и не понятно как интерпретатор понимает к какому callback обращаться. Заранее спасибо!
@orazovdidar
@orazovdidar 13 күн бұрын
Легенда
@maxgaming190
@maxgaming190 8 ай бұрын
Друг мой,привет.Полезнве знания,я начинаю свой путь с твоих уроков. Скажи пожалуйста,таблица со списком пользователей доступна только разработчику? А то будет не очень,если у пользователя будут выводиться ники и пароли других юзеров)
@anonymprog
@anonymprog 7 ай бұрын
привет, можно сделать такую функцию для админа, а у обычных пользотваелей убрать
@homeaccount4100
@homeaccount4100 5 ай бұрын
Подскажите пожалуйста, как можно подсвечивать SQL команды в PyCharm Community? Может плагин дополнительный нужен.
@oddww
@oddww Жыл бұрын
cur.execute('CREATE TABLE IF NOT EXISTS users (id int auto_increment primary key, name varchar(50), pass varchar(50)') sqlite3.OperationalError: incomplete input помогите пожалуйста, что не так?
@romanvishnyakov6835
@romanvishnyakov6835 Жыл бұрын
Закинь в чат GPT
@DadundddaD
@DadundddaD Жыл бұрын
Вот что мне ответил чат GPT: The code snippet is missing a closing parenthesis ')' for the CREATE TABLE statement. The correct code should be: cur.execute('CREATE TABLE IF NOT EXISTS users (id int auto_increment primary key, name varchar(50), pass varchar(50))') Note the closing parenthesis at the end of the statement. У нас с тобой не хватает еще одной скобки перед закрывающим апострофом '
@elezthemdev
@elezthemdev Жыл бұрын
@@DadundddaD се равно также
@elezthemdev
@elezthemdev Жыл бұрын
крч там еще 1 скобку напиши в конце
@elezthemdev
@elezthemdev Жыл бұрын
@@DadundddaD кстати заработало, но у меня оно зелёным подчеркнуто)
@АртёмБеленков-е5ш
@АртёмБеленков-е5ш Жыл бұрын
Что произошло на 4:04? 12 строка cur.execute() прописывается зеленым шрифтом и ничего не делает.
@SlouN01
@SlouN01 Жыл бұрын
тоже самое sqlite3.OperationalError: неполный ввод, вот такая вот ошибка может быть обновили модуль...
@kizuko4149
@kizuko4149 Жыл бұрын
Скорее всего вы используете бесплатную версию пайчарм, в которой не поддерживается база данных sql
@Bomboclyack
@Bomboclyack 7 ай бұрын
у меня |table users has no column named name | что делать?
@CrashRollers
@CrashRollers 7 ай бұрын
такая же проблема
@M1dn1ght_02
@M1dn1ght_02 3 ай бұрын
нашёл решение?
@ViralVideoEditions
@ViralVideoEditions Жыл бұрын
Гоша, почему у меня это поле с Execute просто зеленое внутри скобок, как обычный текст? А у тебя выделено как команды. При том, что всё равно работает. Что это?
@Гейбурашка
@Гейбурашка Жыл бұрын
привет, решил проблему? просто у меня такая же беда
@kizuko4149
@kizuko4149 Жыл бұрын
Скорее всего вы используете бесплатную версию пайчарм, в которой не поддерживается база данных sql
@ХасанЗоиров-с4о
@ХасанЗоиров-с4о Жыл бұрын
Привет👋 У него текст выделен как ошибка.
@ГлебТретников
@ГлебТретников Жыл бұрын
Это наверное просто плагин такой. Его можно скачать в пайчарме.
@s1m156
@s1m156 Жыл бұрын
Можно было не мудрить с %. Вот так все заработало cur.execute(f"INSERT INTO users (name, pass) VALUES('{name}', '{password}')")
@MrRados
@MrRados 10 ай бұрын
Почему у меня при создании таблицы, когда в кавычки ввожу команду, ничего не работает? Строка даже не подсвечивается
@nubarator
@nubarator 18 күн бұрын
Способ создания таблицы в видео не работает пришлось лезть в уроки по sqlt3
@nikitamorozov8065
@nikitamorozov8065 6 ай бұрын
Ребята, а подскажите как сделать, чтоб вот эта получившаяся база отправлялась мне в личку, а не отображалась в диалоге пользователя и бота? Можно допустим оставить кнопку скажем (отправить) и при нажатии база уходила бы сообщением на мой акк в телеге. И еще прикольно было бы, чтоб в базу записывалась дата и время. Но это я думаю сам сделаю )))
@qr2890
@qr2890 Ай бұрын
Вы не нашли как это реализовать? Я сейчас просто таким же вопросом задался и не могу найти ответ
@williwonka1747
@williwonka1747 Жыл бұрын
Почему то не работает. Строка, там где cur.execute('CREATE TABLE IF NOT EXISTS users (id int )'), она не становится желтой и не работает, она просто тупо зеленая
@fovir_fresh
@fovir_fresh Жыл бұрын
cur.execute('CREATE TABLE IF NOT EXISTS users(id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(50), password VARCHAR(50))')
@fovir_fresh
@fovir_fresh Жыл бұрын
Попробую это ввести должно заработать.
@slowpokeui7683
@slowpokeui7683 Жыл бұрын
@@fovir_fresh спасибо
@Sensation_or
@Sensation_or Жыл бұрын
ПОМОГИТЕ, что делать, если программа, после того как я ввожу старт в боте, не может найти атрибут коннект?
@maloy.8313
@maloy.8313 10 ай бұрын
++
@Roman1971ism
@Roman1971ism 6 ай бұрын
А нельзя было создать подключение к БД в шапке файла перед декораторами самого бота? Тогда в функциях не надо было переписывать кучу одинакового кода. Тогда with conn: cur.execute('SELECT.......') всего надо прописать ну и вернуть cur.execute('SELECT.......') естественно?
@Шахматы-б3ы
@Шахматы-б3ы 14 күн бұрын
Такое хорошее начало и такой плохой конец 😂
@em_pty_
@em_pty_ 4 ай бұрын
4:14 как переходит из строки в команду?
@DR-rs9ux
@DR-rs9ux 8 ай бұрын
Не получается. Пишет что нужен пайтон профессионал для использования sql
@AlekseevPavel77
@AlekseevPavel77 3 ай бұрын
Что делать если 'CREATE TABLE OF NOT EXISTS' остаётся зелёного цвета, а так же при запуске не создаётся папка с расширением sql как указано в видео
@igor_keler5954
@igor_keler5954 3 ай бұрын
У тебя ошибка, не OF а IF. У меня тоже команда остается зелёного цвета, но всё работает
@fovir_fresh
@fovir_fresh Жыл бұрын
В 35 линии неправильно написано вообще все, выдает сранную ошибку, вот исправленный вариант cur.execute('INSERT INTO users(name, password) VALUES (?, ?)', (name, password))
@Ze1myy
@Ze1myy Жыл бұрын
Спасибо уж.
@АндрейКасьянов-з8г
@АндрейКасьянов-з8г Жыл бұрын
Не помогает. Выдало вот что: cur.execute('INSERT INTO users(name, password) VALUES (?,?)', (name, password)) sqlite3.OperationalError: no such table: users
@semenosemenitel1046
@semenosemenitel1046 Жыл бұрын
Спасибо, лучший
@AMONRA_O
@AMONRA_O Жыл бұрын
Посмотри в conn = sqlite3.connect() возможно просто не правильно записал сам файл
@ЕвгенийАлександрович-ь5з
@ЕвгенийАлександрович-ь5з 10 ай бұрын
Пишу cur.execute('INSERT INTO pupils (p_name, p_sname) VALUES (?,?)', (user_name, user_sname )) выдает Error binding parameter 0 - probably unsupported type.
@valecr228
@valecr228 8 ай бұрын
появилась проблема в том что этот список не открывается даже если все правильно..
@ГригорийГерда
@ГригорийГерда 7 ай бұрын
у многих не поменялся цвет при создании таблицы и у меня в том числе, для тех кто не знает как решить эту проблему, на сколько я понял нужна платная версия пайчарма, у кого другая инфа, буду рад если поделитесь
@absolutecontrast1534
@absolutecontrast1534 3 ай бұрын
у меня одного файл тупо не создается вообще?
@alekseysivchik
@alekseysivchik 6 ай бұрын
не очень понял почему, но он все время пишет введите пароль
@SemyonBorodin
@SemyonBorodin 5 ай бұрын
В теле функции user_name внутри должно быть bot.register_next_step_handler(message, user_pass) У меня сначала было написано bot.register_next_step_handler(message, user_name) и выводило бесконечно "введите пароль", пока не заметил
@Ai_crearor
@Ai_crearor 10 ай бұрын
Почему нет описания функции?🕵️‍♂️
@nic-ori
@nic-ori Жыл бұрын
Thanks.
@Saint404www
@Saint404www 7 ай бұрын
объясняешь круто, но я бы просто передал name 2 значением.
@laum5645
@laum5645 6 ай бұрын
не показывает списка пользователей в телеграмме что делать?
@КоляИсаев-ы1е
@КоляИсаев-ы1е Жыл бұрын
Один моментик, я решил вывести не только имя и пароль, но и id. В сообщении во всех строках было написано ID: None
@reg1675
@reg1675 Жыл бұрын
+
@ДарьяФедорова-ш1е
@ДарьяФедорова-ш1е Жыл бұрын
то же самое
@ЕвгенийАлександрович-ь5з
@ЕвгенийАлександрович-ь5з 10 ай бұрын
нужно прописать id INTEGER PRIMARY KEY AUTOINCREMENT
@КоляИсаев-ы1е
@КоляИсаев-ы1е 10 ай бұрын
@@ЕвгенийАлександрович-ь5з спасибо, хоть и спустя 5 месяцев
@Volton00
@Volton00 8 ай бұрын
Почему может переменная name быть None а не то что пишу в тг бот
@Максим-к2ц2у
@Максим-к2ц2у 5 ай бұрын
У меня, после нажатия на список пользователей, выводит две одинаковые стоки с именем и паролем. из за чего может быть?
@kotik7493
@kotik7493 4 ай бұрын
из-за того, что при двух стартах бота вводил один тот же пароль и логин
@zaimoflyfe4222
@zaimoflyfe4222 Жыл бұрын
форматирование через f строку открывает возможность для sql инъекций!!!!!!!!!
@frixll
@frixll Жыл бұрын
У меня вопрос 8:24 почему когда вы снова ввели /start то сообщение не появилось, оно же вроде не должно обрабатывать в 1 раз вы вели старт или во 2 раз
@sverhusmotru2432
@sverhusmotru2432 Ай бұрын
Я думаю скорее всего бот мог воспринять "/start" как имя пользователя.
@opex51
@opex51 Жыл бұрын
16:30 у меня так не работает, я сделал так: cur.execute("""INSERT INTO users(name, pass) VALUES(?, ?)""", (name, password))
@КабаковЕвгений-з7ф
@КабаковЕвгений-з7ф Жыл бұрын
Самое первое что я вижу - это 4 кавычки. Ты нафига их 4 поставил? Ставь либо 1, либо двойные.
@skzoneloveee
@skzoneloveee Жыл бұрын
Гоша, здраствуйте! Я использую пайтон в Visual Studio (от Microsoft), но когда я ввожу "import telebot" выдает ошибку и соответственно дальше код не действителен, что делать в такой ситуации?
@skzoneloveee
@skzoneloveee Жыл бұрын
@@АлексейКупцов-о9м Спасибо большое
@alihansadulaev4351
@alihansadulaev4351 Жыл бұрын
​@@skzoneloveee чуваак, что он ответил? у меня такая же проблема
@skzoneloveee
@skzoneloveee Жыл бұрын
@@alihansadulaev4351 он написал "Напиши в консоли pip import telebot" если не ошибаюсь, я уже не помню😅
@ТимурСундуков-с1з
@ТимурСундуков-с1з Жыл бұрын
Ты его не установил
@SergeyLuchin
@SergeyLuchin Жыл бұрын
Почему когда я очищаю историю у меня нет кнопки Start
@alexmais9549
@alexmais9549 Жыл бұрын
В документации по psycopg2 написано что нельзя использовать конкатенацию строк(+) или интерполяцию строк(f-строка), возможно это относиться и к SQLite3
@ДенисКарянов
@ДенисКарянов Жыл бұрын
Да, в sqlite это тоже делать нельзя, так как это создаёт уязвимость для sql-инъекций. Для таких случаев нужно использовать параметризированный запрос в рамках метода execute
@АртёмГрушев-ш8я
@АртёмГрушев-ш8я 3 ай бұрын
не выводит список пользователей по какой то причине
@kerimovske
@kerimovske Жыл бұрын
Когда будет видео про новый обновленный движок годот 4?
@helenblossom4648
@helenblossom4648 7 ай бұрын
no such table: users чо делать подскажите пж
@whabeng
@whabeng 5 ай бұрын
Здравствуйте, подскажите пожалуйста. Я новичок, хочу написать программу небольшую и у меня возник вопрос. например 1: как тебя зовут? 2: Иван(а) 1: сколько тебе лет? 2; 12 лет(б). 1; Меня зовут (а) и мне (б). как это сделать? в питоне? чтобы быть в последнем сообщении отсылку делать на сообщения. могу код прислать,если надо. подскажите пожалуйста
@alexanderpetr5197
@alexanderpetr5197 4 ай бұрын
Это в телеграмм боте?
@se1dhe
@se1dhe Жыл бұрын
а что будем делать, когда пользователей будет больше, чем вместится в одно сообщение?)
@serpentlook
@serpentlook Жыл бұрын
Отправиться второе сообщение в котором будет то, что не вместилось в первое
@zp4355
@zp4355 Жыл бұрын
Зачем вообще отправлять пользователю список пользователей? Он же это просто для примера показал
@se1dhe
@se1dhe Жыл бұрын
@@zp4355 Это зависит от ТЗ. Иногда нужно, например, не влезая в интерфейс управления бд - назначить админа, или изменить его роль. Вариаций масса
@AIRECOVER
@AIRECOVER 10 ай бұрын
Как сделать чтобы человек 1 раз ввел регистрацию а потом не вводил?
@ХомкаПлатон
@ХомкаПлатон 9 ай бұрын
А как эту таблицу отчистить потом?
@fergus5013
@fergus5013 2 ай бұрын
как очистить базу данных?
@Dmitrijs.Skorohodovs
@Dmitrijs.Skorohodovs Жыл бұрын
Помогите ! После того как 1-ый пользователь был создан и добавлен в базу данных - если перезагружаю телеграмм бота, то он уже не предлагает регистрировать пользователя, а просто показывает список с 1-ым пользователем. Только после удаления базы данных, можно повторить процедуру. В чём может быть проблема?
@Lnx_Mint
@Lnx_Mint 7 ай бұрын
А это не проблема. Файл БД хранит данные независимо от перезагрузки бота. Надо тогда удалять юзера, напр. прописать в коде что при остановке бота БД очищается.
@dester6054
@dester6054 Ай бұрын
как хостить SQLite?
@volodymyrm5326
@volodymyrm5326 Жыл бұрын
Думаю на Ruby! вигляд малоб кращий. А так норм)
@w1ndyyy71
@w1ndyyy71 9 ай бұрын
а как очистить эту строку?
@Lepeha-py2gn
@Lepeha-py2gn 10 ай бұрын
Возможно ли как то открыть sql таблицу созданную в коде в приложении SQLiteStudio?
@МультНарезки-й4у
@МультНарезки-й4у 6 ай бұрын
Да
@elsakuray3733
@elsakuray3733 8 ай бұрын
cur.execute('CREATE TABLE IF NOT EXISTS users (id, ...') у меня все условия в скобках считываются как обычная строка, что мне делать?
@armanvoskanyan816
@armanvoskanyan816 8 ай бұрын
cur.execute("CREATE TABLE IF NOT EXISTS users (id int auto_increment primary key, name varchar(50), pass varchar(50))")
@armanvoskanyan816
@armanvoskanyan816 8 ай бұрын
вот рабочая строка
@elsakuray3733
@elsakuray3733 7 ай бұрын
@@armanvoskanyan816 нет, у меня всё равно строка обычная
@Narlit
@Narlit Жыл бұрын
Как включить подсветку внутри кавычек?
@MnlopLiolo-gd4me
@MnlopLiolo-gd4me Жыл бұрын
Нашёл ответ??
@likey_dikey235
@likey_dikey235 10 ай бұрын
@@MnlopLiolo-gd4meНашли ответи?
@DadundddaD
@DadundddaD Жыл бұрын
Пишет: sqlite3.OperationalError: database is locked
@topmazila8766
@topmazila8766 Жыл бұрын
Я уже в агонии пишу этот под каждым видео в надежде на помощь. Мой бот работает с геолокацией получаемой через location но у меня есть необходимость разграничить координаты полученные через геолокацию телефона и координаты полученные через кнопку телеграм "выбрать вручную", которая появляется если отключена геолокация на телефоне
@zhabitok
@zhabitok Жыл бұрын
К chat gpt обращался?
@topmazila8766
@topmazila8766 Жыл бұрын
@@zhabitok послал меня и сказал только обычная локация request_location
@АлексейМилютин-в2ы
@АлексейМилютин-в2ы 6 ай бұрын
Ничего не работает 😢
@МатвейМулуяров
@МатвейМулуяров 4 ай бұрын
Все работает
@ghosttt4299
@ghosttt4299 Жыл бұрын
Как сделать вечные кнопки? У меня они один раз нажимаются, а дальше не работают
@romanvishnyakov6835
@romanvishnyakov6835 Жыл бұрын
Там обработчик событий, срабатывает и на кнопки кидает. А в функции кнопок не прописано, что делать, после того как кнопка нажата
@Funto-zl6ly
@Funto-zl6ly 5 ай бұрын
Как зделать 5 конечную звезду как в видео 21:05 в 50 строке
@fit9009
@fit9009 Жыл бұрын
лучший
@yuliaorlova6918
@yuliaorlova6918 10 ай бұрын
TypeError: 'list' object is not callable, вот что мне даёт
@multyplicathion3485
@multyplicathion3485 8 ай бұрын
Ты используешь handlers а нужно handler
@markbackulin2737
@markbackulin2737 7 ай бұрын
не получилось создать таблицу с sql, кто знает решение проблемы?
@anonymprog
@anonymprog 7 ай бұрын
что не получилось?
@muscle7
@muscle7 7 ай бұрын
sqlite3.OperationalError: table users has no column named pass. Я решил эту проблему так : cur.execute(f"INSERT INTO users (name, password) VALUES ('{name}', '{password}')")
@Dinislam-i1n
@Dinislam-i1n Ай бұрын
Cur.execute(“INSERT INTO users (name, pass,) VALUES (%s, %s)” % (name, password)) почему не работать код и пишет No such table:users
@moydomsnylia
@moydomsnylia Жыл бұрын
Кто может помочь создать бота
@andrewv.7663
@andrewv.7663 8 ай бұрын
Можете подсказать - создатель бота получает IP пользователя телеграм?
@lolikfas2614
@lolikfas2614 Жыл бұрын
cur.execute(f"INSERT INTO users (name, pass) VALUES('{name}', '{password}')") sqlite3.OperationalError: no such table: users КАК ИСПРАВИТЬ ДАННУЮ ОШИБКУ?
@Murphy403
@Murphy403 Жыл бұрын
ты ролик досмотрел ? там все у него тоже ошибка была из за данной строки и он сменил ее
@xaker2832
@xaker2832 9 ай бұрын
cur.execute("INSERT INTO user (name, pass) VALUES (?, ?)", (name, password))
@РусланВалиев-ю3х
@РусланВалиев-ю3х 6 ай бұрын
Нужно посмотреть в самом начале, где обращается к cur.execute и найти что написано в этой строке. И исправить на users.
@АлексКоробков-с3э
@АлексКоробков-с3э Жыл бұрын
я не понимаю почему у меня после того как ввел пароль пишет опят ьвведите пароль и так до бесконечности
@7hsjshaba
@7hsjshaba Жыл бұрын
тоже самое ! как решил ?
@АлексКоробков-с3э
@АлексКоробков-с3э Жыл бұрын
@@7hsjshaba сорян, не помню, могу код скинуть
@7hsjshaba
@7hsjshaba Жыл бұрын
@@АлексКоробков-с3э было бы супер
@dantan7790
@dantan7790 Жыл бұрын
Что делать если не создается файл??????
@SerHHf
@SerHHf Жыл бұрын
Такой же вопрос ты тоже с pydroid работаешь
@elezthemdev
@elezthemdev Жыл бұрын
у меня почему-то ошибка на ( callback_data ) кто знает решение?
@elezthemdev
@elezthemdev Жыл бұрын
крч там нужно Button)
@shakursosihui9687
@shakursosihui9687 9 ай бұрын
Kai Angel feat 9mice - SPRAY
Win This Dodgeball Game or DIE…
00:36
Alan Chikin Chow
Рет қаралды 29 МЛН
Как подписать? 😂 #shorts
00:10
Денис Кукояка
Рет қаралды 6 МЛН
4. Телеграмм Бот. Подключаем базу данных SQLite. Telebot #telegram #bot #python #пайтон
17:03
ITMouse: международная школа программирования
Рет қаралды 2,1 М.
Пишем Telegram Bot на Python / Создание ботов для начинающих за 30 минут
23:52
Эльбрус Буткемп: школа программирования
Рет қаралды 328 М.
КАК ЗАРАБАТЫВАТЬ НА Чат БОТАХ В ТЕЛЕГРАМ +1480 Рублей В ЧАС! ЧАТ БОТ в ТЕЛЕГРАМ! Telegram
24:18
Обучение удаленным профессиям | Марк Николаев
Рет қаралды 169 М.
Win This Dodgeball Game or DIE…
00:36
Alan Chikin Chow
Рет қаралды 29 МЛН