Не работает функция с встроенной кнопкой

Создаю чат-бота для учета финансов, у меня есть функция выведения траты за определенный месяц. Она работает в 2 шага: сначала пользователь нажимает на встроенную клавиатуру, ему выводит сообщение со встроенными кнопками, с помощью которых делается вывод суммы трат за определенный выбранный месяц .Также, при нажатии на встроенную клавиатуру выводит сообщение, что трат не было, хотя траты были внесены код, реагирующий на нажатие встроенной кнопки:

@dp.callback_query_handler(lambda c: c.data.startswith('mstats'))
async def choose_month_stats(callback_query: types.CallbackQuery):
    await bot.answer_callback_query(callback_query.id)
    year_month = str(callback_query.data[6:])
    user_id = callback_query.id
    stats_str = expenses.get_month_stats(user_id, year_month)
    month_name = expenses.month_name(year_month)
    await bot.send_message(callback_query.from_user.id,
                           text(bold("Расходы за выбранный месяц\n{0}\n\n"
                                     .format(month_name))) +
                           stats_str,
                           parse_mode=ParseMode.MARKDOWN)

def get_month_stats(user_id: int, year_month: str) -> str:
    print(user_id)
    cursor = db.get_cursor()
    cursor.execute(
        "SELECT SUM(amount)"
        "FROM expenses "
        "WHERE STRFTIME('%Y-%m', created) = ? AND user_id = ?",
        (year_month, user_id)
    )
    result = cursor.fetchone()
    print(result)
    if not result[0]:
        return "В этом месяце ещё не было расходов."
    all_month_expenses = result[0]
    cursor.execute(
        "SELECT DISTINCT user_id FROM expenses WHERE user_id = ?",
        (user_id,)
    )
    result = cursor.fetchall()
    print(user_id)
    return f"Всего потрачено: {all_month_expenses}\n" 

Суть в том, что выводит нет трат, хотя траты в базу данных были занесены. Делала принты, при нажатии на встроенную кнопку выводит 19 цифр, что очевидно не user_id пользователя, поэтому выводит 0 значений, так вот вопрос: откуда берутся эти 19 цифр? Из-за этого встроенная кнопка работает неверно. Надеюсь я понятно объяснила свою проблему. Заранее спасибо)

Где именно принты и что за цифры?

def get_month_stats(user_id: int, year_month: str) -> str:
    print(user_id)
    cursor = db.get_cursor()
    cursor.execute(
        "SELECT SUM(amount)"
        "FROM expenses "
        "WHERE STRFTIME('%Y-%m', created) = ? AND user_id = ?",
        (year_month, user_id)
    )
    result = cursor.fetchone()
    if not result[0]:
        return "В этом месяце ещё не было расходов."
    all_month_expenses = result[0]
    cursor.execute(
        "SELECT DISTINCT user_id FROM expenses WHERE user_id = ?",
        (user_id,)
    )
    result = cursor.fetchall()
    return f"Всего потрачено: {all_month_expenses}\n"

принт во 2 строчке, при нажатии на кнопку расходы выводит user_id, точнее 755276010,
при нажатии на встроенную кнопку выдает набор цифр 3243885762629617612

Так а где код этих кнопок?
Видимо что-то не так с параметрами передаваемыми в get_month_stats в одной из кнопок :man_shrugging:

Если это вторая кнопка, то

больше похоже на id запроса, а не пользователя.

В первой он где берется?

Спасибо! Как всегда все лежало на поверхности. Вместо callback_query.id, взяла callback_query.from_user.id и все заработало как надо