Загрузка...

Как реализовать баланс в телеграм боте на python?

Тема в разделе Python создана пользователем dedonosec 31 янв 2020. 2662 просмотра

  1. dedonosec
    dedonosec Автор темы 31 янв 2020 16 29 дек 2018
    Хочу сделать мини игру с балансом, но не имею представления, как реализовать баланс. Подскажите кто знает или уже имел дело с подобным. Используемая библиотека для создания бота pyTelegramBotAPI
     
  2. sesu
    sesu 31 янв 2020 Ты не умеешь писать код 114 17 ноя 2019
    Юзай постгрес , сделай табличку юзера со всеми необходимыми полями, и обращайся к нему , напиши интерфейс для работы с бд, юзай орм как например sqlalchemy
     
  3. TrapKidd
    TrapKidd 31 янв 2020 nahui fame 8 29 янв 2020
    Через базу данных
     
  4. 4356654345678
    База данных, SQL
     
  5. Baty
    Baty 31 янв 2020 пофиолитевел 2632 15 янв 2018
    тегните, когда будет решение
     
  6. _Skill_
    _Skill_ 31 янв 2020 1015 25 июн 2018
  7. Delitel
    Delitel 3 фев 2020 198 4 фев 2018
    Код

    import telebot
    import sqlite3

    conn = sqlite3.connect("database.db",check_same_thread=False)
    c = conn.cursor()

    c.execute('''CREATE TABLE IF NOT EXISTS balance
    (user_id INTEGER,balance INTEGER)''')
    c.execute('''CREATE TABLE IF NOT EXISTS start
    (user_id INTEGER,num INTEGER)''')

    @config.bot.message_handler(content_types=["text"])
    def message_handler(message):

    if "/start":
    config.bot.send_message(id,"Привет",reply_markup=config.home)
    try:
    result_start = c.execute(f"SELECT * FROM start WHERE user_id={message.chat.id}").fetchone()
    start_result = result_start[1] #Сделал это чтобы если вдруг юзер захочет заного написать боту /start ,
    #данные в балансе не будут перезаписаны
    except:
    start_params = (id,1)
    c.execute("INSERT INTO start VALUES (?,?)",start_params)
    params = (id,"0")
    c.execute("INSERT INTO balance VALUES(?,?)",params)
    conn.commit()

    elif message.text == "Баланс":
    result = c.execute(f"SELECT * FROM balance WHERE user_id = {message.chat.id}").fetchone()
    balance = result[1] #Получаем данные о балансе юзера
    bot.send_message(message.chat.id,"На вашем балансе: *"+ str(balance)+" руб*!",parse_mode="Markdown")

    Остальное можешь найти здесь(Обновление,удаления данных):
    https://python-scripts.com/sqlite
    |
    https://docs.python.org/3/library/sqlite3.html
    --- Сообщение объединено с предыдущим 3 фев 2020
    Baty
     
  8. dedonosec
    dedonosec Автор темы 3 фев 2020 16 29 дек 2018
    Delitel, Спасибо за помощь. Я уже сам разобрался
     
  9. Emax_inactive448995
    Emax_inactive448995 3 фев 2020 Okay I pull up, hop out at the after party. 62 10 июн 2018
    С mongodb(БД) можешь поиграться
     
Загрузка...
Top