Нужно написать Telegram бота с личным кабинетом в котором будет баланс пользователя и специально сгенерированная строка для реферальной ссылки. Можно использовать словарь, где ключем будет ID пользователя Telegram, а значениями его баланс и код для реферальной ссылки. Подойдет ли такое решение или нужно использовать БД, в которой вся эта информация будет храниться? Если нужно использовать БД, то какую вы посоветуете для бота написанного на Python?
Если объем данных не большой и нет желания заморачиваться с БД, можно использовать встроенный модуль shelve. Он создает встроенную базу, записывать и обращаться к данным в ней можно по принципу словаря
import shelve
db = shelve.open(filename) # создание/открытие базы
db['spam'] = 'foo' # запись в базу
spam = db['spam'] # чтение из базы
db.close() # закрытие базы
Ну, вообще, я считаю, если вы предполагаете использование бота широким кругом людей, то очевидным выбором была бы БД. А какая - это уже отдельный вопрос, который вы должны решить самостоятельно. Но я лично рекомендую вам SQLite. Мне она больше всего нравится.
Вам надо что-то хранить. Очевидный ответ: да, вам нужна база данных. Можно выкрутиться и без неё, но зачем выкручиваться :)
Выбор конкретной системы зависит от ваших предпочтений. Если их нет, то MySQL будет хорошим выбором, потому что очень распостранена.
Короче говоря, если нет особых условий — держитесь тренда.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости