Просмотр полной версии : БД на хостинг
pomidorq
07.09.2021, 21:42
Господа, есть краткое как-нибудь объяснение, или понятие о том, как (и какую) подключить БД к телеграм боту, загрузить его на хостинг и смотреть БД которое находится на хостинге? Я если что в этом вообще полный ноль, я предполагаю что там есть phpmyadmin, mysql. Помогите.
shavuva3311
07.09.2021, 22:07
mongodb
kin4stat
07.09.2021, 22:09
mongodb
Вряд ли конечно телеграм бот будет на нескольких инстансах запущен, но все же, у монго с этим проблемы
livingflore
07.09.2021, 22:21
если бот на ноде - топай в sequelize и подключай постгрес, там дальше можешь на локалке поставить пгадмин4
если бот на питоне то земля бетоном
pomidorq
07.09.2021, 22:31
Вряд ли конечно телеграм бот будет на нескольких инстансах запущен, но все же, у монго с этим проблемы
Мне максимум что нужно: айди юзера, имя и фамилия, статус подписки на бота. Всё, больше не нужно что-то изменять или вправлять. Есть варианты?
Данный способ скорей рассчитан для новичков, потому-что я начинал с него, сейчас же перехожу на марину БД.
Суть такая: Ты создаешь локальную БД sqlite3 которая хранится в каталоге с ботом.
Все нужные данные сохраняются в нее при обращении пользователя.
Что-бы получить данные из бд:
Создаешь админ панель в боте, к которой будет доступ только у тебя "/admin"
и допустим когда ты ввел /admin 676767, то скрипт обращается к БД, ищет user_id 676767 и ответ выдает тебе полную инфу.
Аналогичным способом ты можешь редактировать данные в БД. /edit 6767
скрипт ищет в БД 6767 и обновляет данные
Python:
import
pymysql
connection
=
pymysql
.
connect
(
host
=
'host'
,
user
=
'username'
,
password
=
'password'
,
db
=
'db name'
,
cursorclass
=
pymysql
.
cursors
.
DictCursor
)
cursor
=
connection
.
cursor
(
)
Дальше просто строишь запрос и отправляешь. Вот тебе пример с моего старого не законченного проекта.
Python:
cursor
=
connection
.
cursor
(
)
param
=
'SELECT * FROM telegram WHERE userid = %s'
result
=
cursor
.
execute
(
param
,
message
.
chat
.
id
)
if
result
!=
0
:
sql
=
"SELECT * FROM telegram"
cursor
.
execute
(
sql
)
cursor
=
connection
.
cursor
(
)
sql
=
"UPDATE telegram SET userid=%s WHERE userid = %s"
data
=
(
message
.
chat
.
id
,
message
.
chat
.
id
)
cursor
.
execute
(
sql
,
data
)
connection
.
commit
(
)
print
(
'Ты же уже существуешь в базе, зачем ты опять написал старт?'
)
print
(
'Старый'
)
else
:
sql
=
"SELECT * FROM telegram"
cursor
.
execute
(
sql
)
cursor
=
connection
.
cursor
(
)
sql
=
'INSERT INTO telegram (userid, track)'
\
+
' values (%s, %s)'
cursor
.
execute
(
sql
,
(
message
.
chat
.
id
,
''
,
''
)
)
connection
.
commit
(
)
print
(
'О, ты у нас новенький. Записал тебя в базу, теперь можешь спокойно использовать возможности бота!'
)
Возможно не самый удачный пример в плане реализации и оптимизации. Но вроде все понятно. На крайняк - гугл в помощь как работать с либой
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot