Загрузка...

How to link a website to a telegram bot database?

Thread in Python created by STILLBORN_inactive3197700 Dec 21, 2020. 697 views

  1. STILLBORN_inactive3197700
    STILLBORN_inactive3197700 Topic starter Dec 21, 2020 @smsale_robot - СМС активации 14 Apr 21, 2020
    У меня есть Python Telegram бот с базой данных SQLite3, в которой хранятся товары.
    SQLite3(id, name, description, sale)


    Как связать сайт с базой данных Telegram бота? Или как сделать запрос с сайта в базу данных Telegram бота?

    Это должно работать так: я на сайте ввожу запрос мойсайт.ру/123123, где 123123 - это id товара из базы данных бота. И на сайт подгружается вся информация об этом товаре из базы!
     
  2. MrMystery
    Никак, SQLite не поддерживает параллельную работу.
     
    1. STILLBORN_inactive3197700 Topic starter
      MrMystery, параллельная и не нужна, т.к в боте сразу после каждого запроса в БД - запрос закрывается и база не используется.
    2. MrMystery
      STILLBORN_inactive3197700, ты закрываешь бд? Вот уж точно верх идиотизма, зачем каждый раз тратить время на открытие? Не проще юзать какую-то нормальную СУБД?
    3. MrMystery
      STILLBORN_inactive3197700, если ты не закрываешь бд, она считается как в работе, помни это, и ты не сможешь её юзать другим аппом
  3. STILLBORN_inactive3197700
    STILLBORN_inactive3197700 Topic starter Dec 21, 2020 @smsale_robot - СМС активации 14 Apr 21, 2020
    Проще было бы конечено хранить базу данных рядом с сайтом и обращаться к ней из бота, но бот уже дописан, переписывать лень :D

    А что если при каждом внесении изменений в db бота, передавать POST запрос на сайт и там уже добавлять товар в базу?
    Костыльно конечно, но....
     
    1. MrMystery
    2. MrMystery
    3. Morn1ngStar
      Возможно, но допустим упадет дедик или бот, а у тебя нет возможности запутстить сейчас его. Если бы база была на отдельном сервере и на MySQL, то можно и сайт прикрутить + отдельная независимая работа + относительно удобный веб интерфейс для работы :sloth:
  4. майнвлад067
    невозможно:BrainCosmic:
     
    1. STILLBORN_inactive3197700 Topic starter
      майнвлад067, невозможно штаны через голову надеть. А это вполне реально.
  5. lefall
    lefall Dec 21, 2020 Banned 298 Sep 26, 2019
    Подключаешь FLASK и оставляешь роут без значения. Получаешь ссылку в скрипте.с помощью split('/') записываешь в переменную циферки ети и отправляешь запрос в базу данных - SELECT * FROM `таблица` WHERE `id` = циферки ети , return курсор.fetchall()[0]. Чтобы все хоть как-то функционировало -
    import threading
    lock = threading.Lock()
    # и перед каждым запросом к бд пишешь
    with lock:
     
    1. MrMystery
      lefall, ииии, получаешь пиздюлей в виде SQL инъекции... про prepared statements ничего не слышал?
    2. lefall
      MrMystery, а он чо в паблик выльет сайтик с sqlite3 базой ну типа как API это использовать еще хоть как-то можно будет ))))))
Top
Loading...