Как вывести данные из базы данных в сообщение бота телеграм (aiogram)?

У меня есть база данных, в ней есть столбец "pnb" (в нём хранятся данные о балансе игрока)
61d1064a4e689111857150.png

Как сделать так что-бы бот вставил значение этого столбца в сообщение?
@dp.message_handler(commands = "spider")
async def start(message: types.Message):
    await message.bot.send_sticker(message.from_user.id, 'CAACAgIAAxkBAAEDl79h0AJfaj1elvgQiZxxI6PsUDUz5gACGAADfoTDCO9Dmo04A4frIwQ')
    await message.bot.send_message(message.from_user.id, ' 0 уровень\n (здесь нужно вставить значение из столбца "pnb") монет')
  • Вопрос задан
  • 4371 просмотр
Решения вопроса 1
Chegevara_kyc
@Chegevara_kyc
db_name и User_data - имя бд

user_id= id пользователя
@dp.message_handler(commands = "spider")
async def start(message: types.Message):
    await message.bot.send_sticker(message.from_user.id, 'CAACAgIAAxkBAAEDl79h0AJfaj1elvgQiZxxI6PsUDUz5gACGAADfoTDCO9Dmo04A4frIwQ')
    con = sqlite3.connect(db_name)
    c = con.cursor()
    select_sql="SELECT pnb FROM User_data WHERE user_id = ?" 
    # тут pnb -то что ищем, user_id - признак
    # знак вопроса не трогай
    c.execute(select_sql, (user_id,))
    results = c.fetchall()
    for row in results:

        balance= str(row[0])

    await message.bot.send_message(message.from_user.id, ' 0 уровень','\n',balance ,' монет')

А вообще тут всё просто вроде
https://pythonru.com/osnovy/sqlite-v-python
https://www.severcart.ru/blog/all/python_sqlite3/
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@kapp1
1. Асинхронно получаешь данные из базы данных, это можно вынести в отдельный модуль или в отдельную функцию (сразу сделай чтобы функция возвращала текст или число.
2. Переменную (или функцию, зависит от того как получил) подставляешь в отсылаемый текст, форматируешь, как тебе надо.
3. Отсылаешь на клиент.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы