• Как вывести баланс в телеграм боте?

    @helldess Автор вопроса
    Vindicar, я через sqlitestudio смотрю, в базу все записывается, а баланс не выводиться почему-то
  • Как вывести баланс в телеграм боте?

    @helldess Автор вопроса
    Vindicar, да, оказывается add_user() использовался
  • Как вывести баланс в телеграм боте?

    @helldess Автор вопроса
    Vindicar, вот остальная часть всего кода
    from aiogram import Bot, Dispatcher, executor, types
    from aiogram.types import ReplyKeyboardMarkup, KeyboardButton, ReplyKeyboardRemove
    from aiogram.contrib.fsm_storage.memory import MemoryStorage
    from aiogram.dispatcher import FSMContext
    from aiogram.dispatcher.filters.state import State, StatesGroup
    from aiogram.dispatcher.filters import Text
    import sqlite3
    from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton
    from db import BotDB
    
    BotDB = BotDB('hellshopdb.db')
    storage = MemoryStorage()
    bot = Bot(token="5706294916:AAEodg3PKIVwsAQVAwvtwcfC9VlepmM5c2I")
    dp = Dispatcher(bot, storage=storage)
    
    
    # ======================================Клиентская Часть======================================
    
    @dp.message_handler(commands=['start'])
    async def command_start(message: types.Message):
        if (not BotDB.user_exists(message.chat.id)):
            BotDB.add_user(message.chat.id)
        await message.answer('Приветствую в HellShop.\nУдачных покупок!', reply_markup=kb_client)
    
    
    @dp.message_handler(commands=['Товары'])
    @dp.message_handler(Text(equals='Товары', ignore_case=True))
    async def command_tovar(message: types.Message):
        await message.answer('Что вас интересует?', reply_markup=om)
    
    
    @dp.callback_query_handler(text='openmenu')
    async def openmenu_call(callback: types.CallbackQuery):
        await callback.answer()
    
    
    @dp.message_handler(commands=['Профиль'])
    @dp.message_handler(Text(equals='Профиль', ignore_case=True))
    async def command_prof(message: types.Message):
        chat_id = message.from_user.id
        balance = BotDB.get_balance(chat_id)
        await message.answer(f' Баланс: {balance}', reply_markup=op)
    
    
    @dp.callback_query_handler(text='openprof')
    async def openprof_call(callback: types.CallbackQuery):
        await callback.answer()
    
    
    @dp.message_handler(commands=['Правила'])
    @dp.message_handler(Text(equals='Правила', ignore_case=True))
    async def command_pravila(message: types.Message):
        await message.answer(
            '1.1 Вывод средств не осущетсвляется.\n1.2 На товары нет гарантий (замены и возвраты не осуществляются) и магазин не несет ответственности за ваше имущество.\n1.3 Срок выдачи стикеров до 2х минут, в ином случае обращаться в поддержку.\n1.4 Использование багов, а также за скам или попытку скама, оскорбление, за издёвку над админом (если админ посчитает это как унижение или ему будет неприятно) магазин может наказать вас.\n1.5 Тех поддержка отвечает в течение 24 часов, если много писать и навязываться то до 7дней.\n1.6 Незнание правил не освобождает от ответственности\n1.7 Администрация имеет право внести изменения в текст правил, не уведомляя об этом пользователям.')
    
    
    @dp.message_handler(commands=['Инфо'])
    @dp.message_handler(Text(equals='Инфо', ignore_case=True))
    async def command_info(message: types.Message):
        await message.answer('Выберите действие:', reply_markup=urlkb)
    
    
    # ======================================Админ Часть======================================
    # ======================================Кнопки======================================
    
    kb_client = ReplyKeyboardMarkup(resize_keyboard=True)
    
    b1 = KeyboardButton('Товары')
    b2 = KeyboardButton('Профиль')
    b3 = KeyboardButton('Правила')
    b4 = KeyboardButton('Инфо')
    
    kb_client.add(b1).insert(b2).add(b3).insert(b4)
    
    urlkb = InlineKeyboardMarkup(row_width=2, callback_data='openmenu')
    urlb1 = InlineKeyboardButton(text='⚙Админ/Реклама⚙', url='https://t.me/smurf00')
    urlb2 = InlineKeyboardButton(text='Тех.поддержка', url='https://t.me/smurf00')
    urlb3 = InlineKeyboardButton(text='❤Все проекты❤', url='https://t.me/testchathell')
    
    urlkb.add(urlb1).insert(urlb2).add(urlb3)
    
    om = InlineKeyboardMarkup(row_width=2)
    om1 = InlineKeyboardButton(text='Накрутка', callback_data='openmenu')
    om2 = InlineKeyboardButton(text='VPN', callback_data='openmenu')
    om3 = InlineKeyboardButton(text='Схемы', callback_data='openmenu')
    om4 = InlineKeyboardButton(text='✉Почты✉', callback_data='openmenu')
    
    om.add(om1).insert(om2).add(om3).insert(om4)
    
    op = InlineKeyboardMarkup(row_width=2)
    op1 = InlineKeyboardButton(text='Пополнить', callback_data='openprof')
    op2 = InlineKeyboardButton(text='История покупок', callback_data='openprof')
    
    op.add(op1).add(op2)
    
    
    # ======================================Другое======================================
    
    @dp.message_handler()
    async def empty(message: types.Message):
        await message.answer('Неправильная команда')
    
    
    if __name__ == "__main__":
        executor.start_polling(dp, skip_updates=True)
  • Как вывести баланс в телеграм боте?

    @helldess Автор вопроса
    Vindicar, не понял, можешь пожалуйста отредачить мой код? А то я уже 3 дня не могу разобраться
  • Как вывести баланс в телеграм боте?

    @helldess Автор вопроса
    Dream, да, там при старте бота он автоматически добавляется в бд
  • Как вывести баланс в телеграм боте?

    @helldess Автор вопроса
    если бы баланс был нулевой, то он должен выводить 0, я указал по дефолту в таблице
  • Как вывести баланс в телеграм боте?

    @helldess Автор вопроса
    ну посмотри код бд, там есть добавление юзера
  • Почему не удаётся вывести данные из базы?

    @helldess Автор вопроса
    Александр Нестеров, я сделал так
    balance = BotDB.get_balance(chat_id=message.chat.id)
    но теперь мне выдает ошибку:
    sqlite3.InterfaceError: Error binding parameter 0 - probably unsupported type
  • Почему не удаётся вывести данные из базы?

    @helldess Автор вопроса
    Александр Нестеров, спасибо, скорее всего второй вариант, сейчас попробую
  • Почему не удаётся вывести данные из базы?

    @helldess Автор вопроса
    Александр Нестеров, я уже весь интернет обшарил и не могу найти, как реализовать систему баланса, если и нахожу, то делаю все, как на видео или в посте, то все равно ничего не выходит
  • Почему не удаётся вывести данные из базы?

    @helldess Автор вопроса
    Александр Нестеров, я немного не понимаю, куда этот аргумент совать ,если опять же в функцию, то будет ошибка, что такого аргумента нет
  • Почему не удаётся вывести данные из базы?

    @helldess Автор вопроса
    Может тут нужно что-то в бд добавить?
  • Почему не удаётся вывести данные из базы?

    @helldess Автор вопроса
    если я добавляю скобки, то мне выдает ошибку:
    TypeError: BotDB.get_balance() missing 1 required positional argument: 'chat_id'