Нужна ли БД для Telegram бота? [закрыт]

48
12 июня 2018, 20:50

Нужно написать Telegram бота с личным кабинетом в котором будет баланс пользователя и специально сгенерированная строка для реферальной ссылки. Можно использовать словарь, где ключем будет ID пользователя Telegram, а значениями его баланс и код для реферальной ссылки. Подойдет ли такое решение или нужно использовать БД, в которой вся эта информация будет храниться? Если нужно использовать БД, то какую вы посоветуете для бота написанного на Python?

Answer 1

Если объем данных не большой и нет желания заморачиваться с БД, можно использовать встроенный модуль shelve. Он создает встроенную базу, записывать и обращаться к данным в ней можно по принципу словаря
import shelve db = shelve.open(filename) # создание/открытие базы db['spam'] = 'foo' # запись в базу spam = db['spam'] # чтение из базы db.close() # закрытие базы

Answer 2

Ну, вообще, я считаю, если вы предполагаете использование бота широким кругом людей, то очевидным выбором была бы БД. А какая - это уже отдельный вопрос, который вы должны решить самостоятельно. Но я лично рекомендую вам SQLite. Мне она больше всего нравится.

Answer 3

Вам надо что-то хранить. Очевидный ответ: да, вам нужна база данных. Можно выкрутиться и без неё, но зачем выкручиваться :)

Выбор конкретной системы зависит от ваших предпочтений. Если их нет, то MySQL будет хорошим выбором, потому что очень распостранена.

Короче говоря, если нет особых условий — держитесь тренда.

READ ALSO
Большая нагрузка при работе с БД

Большая нагрузка при работе с БД

Написал класс для работы с БД от SQL, однако в ходе работы создаётся дочерний процесс от SQL, который нагружает процессор на 20%, и потребляет 170 мб оперативы...

43
Обновление данных в таблице MySql

Обновление данных в таблице MySql

Помогите разобраться с ошибкой Notice: Undefined index: image в переменной $post_image и $post_image_tmp Что не так?

40
Безопасность через websocket

Безопасность через websocket

В интернете много статей про websocket, какой он быстрый и замечательный, но нигде не нашёл информации как сделать соединение безопасным

80
Вывести данные из БД поменяв местами

Вывести данные из БД поменяв местами

Имеется SQL запрос который отдает:

65