 |

07.09.2021, 21:42
|
|
Участник форума
Регистрация: 17.04.2020
Сообщений: 184
С нами:
3197792
Репутация:
83
|
|
Господа, есть краткое как-нибудь объяснение, или понятие о том, как (и какую) подключить БД к телеграм боту, загрузить его на хостинг и смотреть БД которое находится на хостинге? Я если что в этом вообще полный ноль, я предполагаю что там есть phpmyadmin, mysql. Помогите.
|
|
|

07.09.2021, 22:07
|
|
Познающий
Регистрация: 06.09.2021
Сообщений: 51
С нами:
2466499
Репутация:
0
|
|
mongodb
|
|
|

07.09.2021, 22:09
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
Сообщение от shavuva3311
mongodb
Вряд ли конечно телеграм бот будет на нескольких инстансах запущен, но все же, у монго с этим проблемы
|
|
|

07.09.2021, 22:21
|
|
Постоянный
Регистрация: 24.02.2017
Сообщений: 369
С нами:
4849679
Репутация:
118
|
|
если бот на ноде - топай в sequelize и подключай постгрес, там дальше можешь на локалке поставить пгадмин4
если бот на питоне то земля бетоном
|
|
|

07.09.2021, 22:31
|
|
Участник форума
Регистрация: 17.04.2020
Сообщений: 184
С нами:
3197792
Репутация:
83
|
|
Сообщение от kin4stat
Вряд ли конечно телеграм бот будет на нескольких инстансах запущен, но все же, у монго с этим проблемы
Мне максимум что нужно: айди юзера, имя и фамилия, статус подписки на бота. Всё, больше не нужно что-то изменять или вправлять. Есть варианты?
|
|
|

09.09.2021, 17:23
|
|
Участник форума
Регистрация: 21.12.2013
Сообщений: 181
С нами:
6522707
Репутация:
83
|
|
Данный способ скорей рассчитан для новичков, потому-что я начинал с него, сейчас же перехожу на марину БД.
Суть такая: Ты создаешь локальную БД sqlite3 которая хранится в каталоге с ботом.
Все нужные данные сохраняются в нее при обращении пользователя.
Что-бы получить данные из бд:
Создаешь админ панель в боте, к которой будет доступ только у тебя "/admin"
и допустим когда ты ввел /admin 676767, то скрипт обращается к БД, ищет user_id 676767 и ответ выдает тебе полную инфу.
Аналогичным способом ты можешь редактировать данные в БД. /edit 6767
скрипт ищет в БД 6767 и обновляет данные
|
|
|

09.09.2021, 17:46
|
|
Флудер
Регистрация: 28.06.2019
Сообщений: 3,442
С нами:
3619995
Репутация:
168
|
|
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
(
'О, ты у нас новенький. Записал тебя в базу, теперь можешь спокойно использовать возможности бота!'
)
Возможно не самый удачный пример в плане реализации и оптимизации. Но вроде все понятно. На крайняк - гугл в помощь как работать с либой
|
|
|
|
 |
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|