Как сделать систему регистрации для Telegram бота

Поделиться
HTML-код
  • Опубликовано: 10 фев 2025

Комментарии • 176

  • @5opo4ka
    @5opo4ka 3 года назад +47

    Жду следующий видос "Как сделать телеграм бота который будет снимать за вас видео на ютуб"

    • @bruhman_.
      @bruhman_. 3 года назад

      Так а за тебя разве не двойники снимают???

    • @qurad9255
      @qurad9255 3 года назад +3

      ЭТО ЧТО НАСТОЯЩИЙ ПЯТЁРКА??

    • @CodeWriter
      @CodeWriter  3 года назад +1

      Ага

    • @bruhman_.
      @bruhman_. 3 года назад +1

      @@qurad9255 нет

    • @Gider7
      @Gider7 3 года назад

      да

  • @uec_project
    @uec_project 2 года назад +8

    Ты не представляешь на сколько полезен твой ролик!!!

    • @blazeegor
      @blazeegor Год назад +1

      Ни в коем случае не повторяй код с его видео.

    • @dmitriybarvinko9171
      @dmitriybarvinko9171 Год назад

      @@blazeegor если чисто переписать логику то норм

  • @YuriiK-r4p
    @YuriiK-r4p 2 года назад +4

    Как же режит слух произношение слова - бота ))))
    Автору спасибо

  • @СергейСмирнов-ь8у
    @СергейСмирнов-ь8у 3 года назад +6

    Отличное видео. Спасибо.

  • @fsoky
    @fsoky 3 года назад +4

    прикольно

  • @uec_project
    @uec_project Год назад +2

    Чтобы научиться писать бота нужно быть максимально внимательным.

  • @000ZED
    @000ZED 3 года назад +1

    крута 😎😎😎👍👍👍🔥🔥🔥

  • @um_ed
    @um_ed 2 года назад +1

    Супер ещё ест такие ролики про эту тема скин мне

  • @onlymint2114
    @onlymint2114 2 года назад +1

    Лучший!

  • @burgershot777
    @burgershot777 3 года назад +1

    Ну спс)

  • @ravshanmustafoyev450
    @ravshanmustafoyev450 2 года назад +2

    Я почему-то не могу создать signup на default нет кнопка применить

  • @gp272
    @gp272 3 года назад +1

    топ

  • @muffinngames4122
    @muffinngames4122 2 года назад +1

    А эта БД будет локальной? Ну, в плане, дадите Вы Вашу папку с программой бота кому-то на другой компьютер, то разве БД не будет "пустой"?

    • @mobdeath8616
      @mobdeath8616 Год назад +1

      Нет, если он отправит БД, все данные будут у пользователя. Но отправлять базу данных на github считается дурным тоном. Так, что для отправки этого кода в github и дальнейшей работе с его исходниками, придется либо автору написать отдельный код, который будет отвечать за создание БД или тебе самому придется создавать. А как ты будешь создавать ее, решать тебе)
      P.S. надеюсь помог в вопросе

  • @teplodvij
    @teplodvij 2 года назад +1

    Подскажите , почему не используем self.connection.commit() ?

  • @tamskiy
    @tamskiy 2 года назад +1

    А можно такое же условие проверки пользователя в бд привязать к машине состояний ?

  • @АртёмЧальцев
    @АртёмЧальцев Год назад

    у меня все работает в телеграмме в коде нету ошибок. Но почему то не заполняется табличка в БД после регистрации. Как это исправить? Заранее спасибо

  • @qweasdzxc_1-q7i
    @qweasdzxc_1-q7i Год назад +3

    Помогите пожалуйста, в меня точно так же как на видео, только ошибка File "C:\Bot_on_Aiogram\main.py", line 17, in start
    if (not db.user_exists(message.from_user.id)):
    File "C:\Bot_on_Aiogram\db.py", line 14, in user_exists
    result = self.cursor.execute("SELECT * FROM 'users' WHERE 'user_id' = ?", (user_id,)).fetchall()
    sqlite3.OperationalError: no such table: users

    • @ПетрСмирнов-о1т
      @ПетрСмирнов-о1т Год назад

      брат скажи если нашел решение, я уже все что можно попробовал, и директорию менял, тыщу раз пересоздавал и вручную бд ставил, все равно он не видит эту чертову таблицу, скорее всего из-за того что файл не видит, даже прописывая фулл путь вручную, даже с помощью всяких библиотек, которые путь до файла определяют по названию

    • @AAA-io5my
      @AAA-io5my Год назад

      @@ПетрСмирнов-о1т скорее всего нет отступа

    • @ПетрСмирнов-о1т
      @ПетрСмирнов-о1т Год назад +1

      @@AAA-io5my да кучу раз перетыкал, переписал, даже без фулл пути, с одним только названием все открылось, заработало.

    • @alexey12342
      @alexey12342 5 месяцев назад

      Данная ошибка говорит о том что в sqllite нету таблицы users. Например, в DBeaver нужно делать синхронизацию бд т.к. изначально запись сохраняется локально, в temp. Или в коде где-то нету commit после создания таблицы.

    • @AntropovAI
      @AntropovAI 19 дней назад

      Всех приветствую!
      Скобки нужно убрать просто, по моему, вместо 'users' --> users

  • @mrak-e7w
    @mrak-e7w 10 месяцев назад

    Import "aiogram" could not be resolvedPylancereportMissingImports
    No quick fixes available не знаешь как это решить?

  • @uec_project
    @uec_project 2 года назад

    Я хз у меня почему-то при создании таблицы выскакивает ошибка - Невозможно подтвердить структуру таблицы. Сообщение об ошибке: Не открыта база данных для выполнения запросов.

  • @igri_bista
    @igri_bista 3 года назад +11

    Показывай в самом начале какие ты библиотеки импортируешь пж

    • @mammonth
      @mammonth 2 года назад +1

      отсылка на уенсдей?

    • @whymoki
      @whymoki Год назад

      по коду все видно даже чайнику...

  • @Dmitrijs.Skorohodovs
    @Dmitrijs.Skorohodovs Год назад

    А я могу использовать MyPHP Admin для этого? А то почему-то не видел мою таблицу, хотя я сделал её импорт в корневую папку.

  • @sm0ke349
    @sm0ke349 3 года назад +2

    найс, я уже потратил 50₽ на такого бота с бд)

  • @sobefree
    @sobefree 2 года назад +1

    SQLite objects created in a thread can only be used in that same thread. The object was created in thread id. Как решить эту проблему?

    • @tntram2834
      @tntram2834 2 года назад

      Добрый день нашли решение?

    • @tntram2834
      @tntram2834 2 года назад

      Помогите пожалуйста

    • @sadons777
      @sadons777 2 года назад +2

      @@tntram2834 db = sqlite3.connect('server.db', check_same_thread=False) . Но, хочу вас огорчить, что данный человек аля программист совместил асинхронный аиограм с синхронным фреймворком sqlite3 , для аиограм нужно использовать асинхронный фреймворк aiosqlite .

  • @replicatedublos
    @replicatedublos Год назад

    sqlite3.ProgrammingError: parameters are of unsupported type в чём проблема не могу понять

  • @improving4303
    @improving4303 2 года назад +2

    File "c:\Users\user\Documents\Myself\Programmer\Python\telegram\db.py", line 14, in user_exists
    result = self.cursor.execute("SELECT * FROM 'users' WHERE 'user_id' = ?", (user_id,)).fetchall
    Привет, что делать и в чем проблема? ПО моему просто не видет таблицу. Если не видет, что делать

  • @Abaddon_0
    @Abaddon_0 Год назад +1

    А если юзер введёт существующую команду, тем самым он не зарегистрируется в БД и будет использовать функционал бота

    • @ShotPLAY1
      @ShotPLAY1 Год назад

      Ты можешь сделать только чтоб конкретный айдишник имел доступ к функционалу команд, который проверялся бы с айди админа из бд

    • @helpatch
      @helpatch 2 месяца назад

      @@Tim24-j1sне надо так делать

  • @KyleWorthless2
    @KyleWorthless2 3 года назад +3

    Здравствуй, добрый человек!
    Подскажи пожалуйста, почему может вылетать ошибка: "UnboundLocalError: local variable 'signup' referenced before assignment"
    Бот работает до момента "Укажите ваш никнейм", а дальше эта ошибка, что же с ней делать?
    Спасибо.

    • @Dedir_group
      @Dedir_group 3 года назад +1

      Привет, друг!
      У меня аналогичная ситуация. Скажи, ты сумел её решить?
      Я гуглил, там говорится о том, что необходимо присвоить переменной глобальное значение, но это у меня не сработало..

    • @kolobanga3871
      @kolobanga3871 3 года назад +1

      @@Dedir_group Привет!
      Скажи пожалуйста, ты смог решить данную проблему? 2 день уже не могу её решить.

    • @Dedir_group
      @Dedir_group 3 года назад

      @@kolobanga3871 Привет! Я так и не нашёл решения. Пробовал ввести global, как объясняют в документации, но у меня это не сработало. ЕСли вдруг найдёшь решение, напиши сюда, плиз.

    • @kolobanga3871
      @kolobanga3871 3 года назад

      @@Dedir_group Привет у меня была проблема в том что функция /start не работала, следовательно, не создавала в БД пользователя и при выполнение в signup находится NULL чего по идее не должно быть. И именно из-за этого и была вся проблема у меня.

    • @fart3687
      @fart3687 3 года назад

      @@kolobanga3871 Как ты исправил?

  • @moHAXmoHAX
    @moHAXmoHAX 2 года назад +2

    а что если не зарегистрированный пользователь от руки введет "👥 ПРОФИЛЬ"?

    • @pajnkjller
      @pajnkjller 2 года назад

      То выполниться действие как и при нажатии кнопки, потому что для бота нет такого понятия как команды, а только сообщения

    • @moHAXmoHAX
      @moHAXmoHAX 2 года назад

      @@pajnkjller это был риторический вопрос. Будет ошибка!

  • @zelibobka2532
    @zelibobka2532 2 года назад

    помогите
    line 2, in
    from aiogram import Bot, Dispatcher, executor, types
    ModuleNotFoundError: No module named 'aiogram'

    • @wonrereo
      @wonrereo 2 года назад

      у тя модуль aiogram не скачан

    • @marcpeterson3137
      @marcpeterson3137 2 года назад

      terminal открываешь и пишешь 'pip install aiogram' если будет нужен пип напишет команду. Если не скачал качай пип

  • @kvantstudio
    @kvantstudio Год назад

    Видос отличный, но бот'ааа это капец режет слух, где вы все блогеры берете это произношение ))))

  • @evgenijivanovych9911
    @evgenijivanovych9911 Год назад

    Спасибо за видеогайд, только непонятна пока цель такого бота. Может поделитесь примером применения, ато пока не ясно зачем пользователям регистрироваться в нашем боте.

  • @sjbodyyy
    @sjbodyyy 2 года назад

    а как можно сделать добавление ника в базу другими способами ибо питон не работает в sqlite среде

  • @sserj_
    @sserj_ Год назад

    Мне нужно айди с 1win зарегистрировать в один телеграмм бот и получить индивидуальный пароль для своего айди, кто-нибудь может ?

  • @samatsultanov8307
    @samatsultanov8307 9 месяцев назад

    На счет б.д. user_id должен быть bigint

  • @rockybalboa24
    @rockybalboa24 3 года назад +1

    Почему когда я создаю столбец "time_sub" в (default) значение 0 нельзя применить? Хотя на видео у вас получается

    • @stasyason3438
      @stasyason3438 2 года назад +1

      в левом верхнем углу нужно нажать "connect to the database"

    • @ibrohimrasulov3942
      @ibrohimrasulov3942 2 года назад

      @@stasyason3438 его тоже немогу нажать

  • @Naumix_
    @Naumix_ 3 года назад +3

    У меня проблема. Помогите плс
    sqlite3.OperationalError: no such table: users
    users у меня есть

    • @madche5384
      @madche5384 3 года назад

      такая же проблема :(

    • @Naumix_
      @Naumix_ 3 года назад

      @@madche5384 я уже решил

    • @madche5384
      @madche5384 3 года назад

      @@Naumix_ а каким образом не подскажешь?
      Установка pysqlite3 не помогает

    • @CodeWriter
      @CodeWriter  3 года назад

      Sqlite идет в комплекте с python. А в ошибке написано что нет таблицы users. Научитесь читать ошибки. Ну хотя бы в переводчик вставлять

    • @madche5384
      @madche5384 3 года назад

      @@CodeWriter я прочитал, я сразу понял про что он говорит, сразу проверил название таблицы. И вычитал что лежит в библиотеке и устанавливать не нужно. Я сопоставляю коды и не понимаю в чем ошибка. Я не сразу полез в комментарии сообщать о проблеме.

  • @komfi8898
    @komfi8898 Год назад

    что делать, если выдает ошибку "не вижу таблицу users"

    • @AlmazKalykovv
      @AlmazKalykovv Год назад +1

      Попробуй переписать БД не через студию а через питон, мне помогло

    • @komfi8898
      @komfi8898 Год назад

      @@AlmazKalykovv спасибо!

  • @hardans5414
    @hardans5414 2 года назад +1

    Здравствуйте, такая ситуация делаю в pyCharm и при запуске ошибок нет но он выключается сразу после запуска.
    Спасибо заранее тому кто поможет.

    • @spi4caru950
      @spi4caru950 2 года назад

      Что именно за ошибка, через cmd запусти бота с корневой папки

    • @kostian.solarev
      @kostian.solarev 2 года назад

      Вы пробовали bot.polling(none_stop=True)?

    • @kostian.solarev
      @kostian.solarev 2 года назад

      без знака вопроса*
      Если же да, то Вам надо будет залить бота на сервер (когда я откл свой ноут, бот тоже перестает работать

    • @hardans5414
      @hardans5414 2 года назад

      @@kostian.solarev Здраствуйте спасибо за попытку но теперь вместо моментального выключения выдает следующее
      INFO:aiogram:Bot: ITroboCUBE [@roboCUBbot]
      WARNING:aiogram:Updates were skipped successfully.
      INFO:aiogram.dispatcher.dispatcher:Start polling.
      INFO:aiogram.dispatcher.dispatcher:Stop polling...
      WARNING:aiogram:Goodbye!

  • @marcpeterson3137
    @marcpeterson3137 2 года назад

    А каким образом бот добавляет в базу данных ник. Понятно что если там если нет пользователя то он просто отправляет сообщение введите ваш ник. Как реализовать что он задаст несколько вопросов и ответы запишет?

    • @solarx8103
      @solarx8103 2 года назад +4

      FSM, бро

    • @vitalymafter7572
      @vitalymafter7572 2 года назад

      @@solarx8103 код автора мог бы быть намного лучше, если бы он юзал машину состояний

  • @АлександрГромов-м1б

    TypeError: object sqlite3.Cursor can't be used in 'await' expression происходит после ввода одного поля в таблицу при помощи бота. Если кто-то сталкивался , обьясните проблему пожалуйста

    • @Santilka
      @Santilka 2 года назад +1

      Убери await в строчке, это не асинхронный подход

  • @ИванИванов-м4л6ц
    @ИванИванов-м4л6ц Год назад

    Подскажите пж! Каким образом setnickname попадает в signup?

  • @РустамХатибов
    @РустамХатибов 2 года назад

    а какой бот без подписки не сколким каналам не пускает

  • @MythicalAce
    @MythicalAce 3 года назад +1

    бро, переписал твой код из видео 1 в 1, все библиотеки установил. Сам бот при запуске не выдает ошибок никаких. Прописываю в телеге команду старт, он просит указать ник, после указания ника вылетает очень много ошибок, связанных с async как я понял, не знаю уже как фиксить, помоги

    • @Didelab
      @Didelab 2 года назад

      Да, та же фигня. Почему у тебя нет Git своего?

    • @СашаШкуренко-х3е
      @СашаШкуренко-х3е 2 года назад

      решил?

    • @MichaZakHuk
      @MichaZakHuk 2 года назад

      @@СашаШкуренко-х3е узнал?)

  • @cryprodzen
    @cryprodzen 3 года назад

    Можете написать кто нибудь какие надо библиотеки испортировать?

    • @mninxy
      @mninxy 2 года назад

      пересмотри видео мэн)

  • @abdullatoshtemirov6593
    @abdullatoshtemirov6593 3 года назад +1

    Traceback (most recent call last):
    File "c:\Users\AbdullA\Desktop\bot\main.py", line 13, in
    db = Database(database.db)
    NameError: name 'database' is not defined
    почему?

    • @abdullatoshtemirov6593
      @abdullatoshtemirov6593 3 года назад

      db.py
      import sqlite3
      class Database:
      def __init__(self, db_file):
      self.connection = sqlite3.connect(db_file)
      self.cursor = self.connection.cursor ....
      main.py
      import logging
      from aiogram import Bot, Dispatcher, executor, types
      import markups
      from db import Database
      API_TOKEN = '***'
      logging.basicConfig(level=logging.INFO)
      bot = Bot(token=API_TOKEN)
      dp = Dispatcher(bot)
      db = Database(database.db)
      @dp.message_handler(commands=['start']) .....

    • @z_cto4314
      @z_cto4314 3 года назад +1

      db = Database(''database.db') добавь кавычки и проверяй

    • @МатвейМехоношин-э8й
      @МатвейМехоношин-э8й 2 года назад

      ААААААААААА

  • @nekasparov
    @nekasparov 2 года назад

    А когда бот перезапускается база данных заново не создается? Ведь экземпляр класса по новой инициализируется

    • @mezgoodle
      @mezgoodle 2 года назад

      Ні. Там розумно дивиться, чи існує вже БД

  • @schura1973
    @schura1973 2 года назад

    бОта, а не ботА ;)))?
    Проверочное слово бОт!

  • @S.O.studio_production
    @S.O.studio_production Год назад

    Что делать ?
    Traceback (most recent call last):
    File "C:\Users\stasg\OneDrive\Рабочий стол\bottg\Code1.py", line 4, in
    from db import Database
    File "C:\Python\Python311\Lib\site-packages\db\__init__.py", line 336, in
    import drivers
    ModuleNotFoundError: No module named 'drivers'
    [Finished in 1.4s]

  • @tw1xteam690
    @tw1xteam690 2 года назад

    жду исходник бота=)

  • @lolkek1970
    @lolkek1970 2 года назад

    строчка кода:
    db = Database('database.db')
    ошибка:
    Database() takes no arguments
    File "D:\Python\main.py", line 13, in
    db = Database('database.db')
    помогите разобраться

    • @delakoka
      @delakoka 2 года назад

      ты создаёшь объект класса Database, проверь, чтобы название класса называлось Database, и проверь название файла с базой данных, она тоже должна называться database.db и находиться в той же директории где и сам бот

    • @zelibobka2532
      @zelibobka2532 2 года назад

      Получилось?

    • @Kairbekic
      @Kairbekic Год назад

      @@delakoka все проверил, все так как в видео, но ошибка осталась, не понятно в чем дело(

    • @Kairbekic
      @Kairbekic Год назад

      решил проблему, проблема синтаксическая была в методе init)

  • @kirosavaus6167
    @kirosavaus6167 2 года назад

    +

  • @yasakha2967
    @yasakha2967 2 года назад +2

    Пустая трата времени, без версии библиотек и самого питона

    • @iOSlike
      @iOSlike 2 года назад

      У меня из коробки сработало

  • @FILMANSPRO
    @FILMANSPRO 2 года назад

    if(not db.user_exists(message.from_user.id)):
    AttributeError: 'Database' object has no attribute 'user_exists'
    Что делать....

    • @CodeWriter
      @CodeWriter  2 года назад

      Научиться читать ошибки

    • @only1avetrill
      @only1avetrill 2 года назад

      та же ошибка, есть фикс?

    • @only1avetrill
      @only1avetrill 2 года назад +1

      @@CodeWriter читать умеем, всё переписано с видео, однако такая ошибка вылезает постоянно при попытке вызова этих самых user_exists, get_signup и т.д. помогите, пожалуйста

  • @apostol_fet
    @apostol_fet 2 года назад +3

    Зачем столько возни с ником, если мы можем взять его из телеграм, user_name вместо user_id

    • @peachivan
      @peachivan 2 года назад

      Потому что не все указывают user_name.

    • @uec_project
      @uec_project 2 года назад +1

      user_name это имя пользователя и оно может повторяться типо в таблице будут одни Кати и Оли. user_id это уникальное имя пользователя

  • @artemchutkov3566
    @artemchutkov3566 2 года назад

    if(not db1.user_exsits(message.from_user.id)):
    AttributeError: 'Database' object has no attribute 'user_exsits' В чем ошибка?

    • @only1avetrill
      @only1avetrill 2 года назад

      та же ошибка, есть фикс?

  • @Santilka
    @Santilka 2 года назад

    Уже целый день мучаюсь line 35 in get_signup
    Local variable 'signup' referenced before assignment
    Что делать?

    • @Santilka
      @Santilka 2 года назад

      Понял ошибку в запросах к бд нужно было убрать кавычки, видимо версия бд другая

    • @marcpeterson3137
      @marcpeterson3137 2 года назад

      @@Santilka Какие именно? Названия "переменных" или наружние?

    • @Santilka
      @Santilka 2 года назад

      @@marcpeterson3137 в строке запроса к БД, то есть на видео он берëт в кавычки названия столбцов, вот этого не надо делать. Я уже перешёл на другую БД так как синхронный подход в асинхронной программе не очень хорошо

    • @AnimeLang4302
      @AnimeLang4302 2 года назад

      raceback (most recent call last):
      File "", line 1, in
      File "/usr/lib/python2.7/py_compile.py", line 117, in compile
      raise py_exc
      py_compile.PyCompileError: File "prog.py", line 16
      async def start(message: types.message):
      ^
      та же х одну строку не могу исправить

  • @bektiyarberdenov9102
    @bektiyarberdenov9102 Год назад

    всем привет. попробовал, выдает ошибку импорта.
    import markups as nav
    и
    from aiogram.types import ReplyKeyboardMurkup, KeyboardButton
    ImportError: cannot import name 'ReplyKeyboardMurkup' from 'aiogram.types' (C:\bot_1103\venv\Lib\site-packages\aiogram\types\__init__.py)
    кто может подсказать, что не так делаю. не нашел развернутого ответа

    • @CodeWriter
      @CodeWriter  Год назад

      Так-то в тексте как раз и описывается где у тебя ошибка лол

  • @jupick148
    @jupick148 2 года назад

    SyntaxWarning: 'str' object is not callable; perhaps you missed a comma?
    result = self.cursor.execute("SELECT `signup` FROM `users` WHERE `user_id` = ?"(user_id,)).fetchall()
    ну что это бл такое

    • @Иван-б2ю9т
      @Иван-б2ю9т 2 года назад

      у тебя пробел не работает?

    • @Կառտոշկագզող
      @Կառտոշկագզող 2 года назад

      ты еще не разобрался? Дай знать а то я тоже мучаюсь

    • @Иван-б2ю9т
      @Иван-б2ю9т 2 года назад

      @@Կառտոշկագզող нужно запятую поставит перед (user_id,))

  • @АртёмЧальцев
    @АртёмЧальцев Год назад

    у меня все работает в телеграмме. в коде тоже нету ошибок. Но почему то не заполняется табличка в БД после регистрации. Как это исправить? Заранее спасибо

    • @Aydamir_07
      @Aydamir_07 Год назад

      попробуй нажать кнопку обновить старницу

  • @АртёмЧальцев
    @АртёмЧальцев Год назад +1

    у меня все работает в телеграмме. в коде тоже нету ошибок. Но почему то не заполняется табличка в БД после регистрации. Как это исправить? Заранее спасибо