ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   БД на хостинг (https://forum.antichat.xyz/showthread.php?t=1401002)

pomidorq 07.09.2021 21:42

Господа, есть краткое как-нибудь объяснение, или понятие о том, как (и какую) подключить БД к телеграм боту, загрузить его на хостинг и смотреть БД которое находится на хостинге? Я если что в этом вообще полный ноль, я предполагаю что там есть phpmyadmin, mysql. Помогите.

shavuva3311 07.09.2021 22:07

mongodb

kin4stat 07.09.2021 22:09

Цитата:

Сообщение от shavuva3311

mongodb

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

livingflore 07.09.2021 22:21

если бот на ноде - топай в sequelize и подключай постгрес, там дальше можешь на локалке поставить пгадмин4

если бот на питоне то земля бетоном

pomidorq 07.09.2021 22:31

Цитата:

Сообщение от kin4stat

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

Мне максимум что нужно: айди юзера, имя и фамилия, статус подписки на бота. Всё, больше не нужно что-то изменять или вправлять. Есть варианты?

laiser 09.09.2021 17:23

Данный способ скорей рассчитан для новичков, потому-что я начинал с него, сейчас же перехожу на марину БД.

Суть такая: Ты создаешь локальную БД sqlite3 которая хранится в каталоге с ботом.

Все нужные данные сохраняются в нее при обращении пользователя.

Что-бы получить данные из бд:

Создаешь админ панель в боте, к которой будет доступ только у тебя "/admin"

и допустим когда ты ввел /admin 676767, то скрипт обращается к БД, ищет user_id 676767 и ответ выдает тебе полную инфу.

Аналогичным способом ты можешь редактировать данные в БД. /edit 6767

скрипт ищет в БД 6767 и обновляет данные

Fott 09.09.2021 17:46

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
(
'О, ты у нас новенький. Записал тебя в базу, теперь можешь спокойно использовать возможности бота!'
)



Возможно не самый удачный пример в плане реализации и оптимизации. Но вроде все понятно. На крайняк - гугл в помощь как работать с либой


Время: 16:36