В общем, нужно чтобы программа сохраняла переменную work1 в базу данных, после чего при вводе
/checkwork
брала значение из базы данных, и выводила сообщением, ибо после перезапуска переменные слетают.
import telebot
from telebot import types
#TOKEN
nick = ''
name = ''
age = 0
work1 = 0
bot = telebot.TeleBot("TOKEN")
@bot.message_handler(commands=['start', 'help'])
def send_welcome(message):
bot.reply_to(message, "Бот находится на стадии разработки, доступные на данный момент команды: /регистрация")
@bot.message_handler(func=lambda m: True)
def echo_all(message):
if message.text == 'Ты лох':
bot.reply_to(message, 'Нет!')
elif message.text == '/reg':
bot.send_message(message.from_user.id,"Какой твой ник?")
bot.register_next_step_handler(message, reg_nick)
elif message.text == '/work':
bot.send_message(message.from_user.id,"Вы заработали 1 монету.")
global work1
work1 = work1 + 1
elif message.text == '/checkwork':
work21 = 'Ваш баланс: ' + str(work1) + ' монет.'
bot.send_message(message.from_user.id, text = work21)
#bot.reply_to(message, message.text)
def reg_nick(message):
global nick
nick = message.text
bot.send_message(message.from_user.id,"Какое твоё имя?")
bot.register_next_step_handler(message, reg_name)
def reg_name(message):
global name
name = message.text
bot.send_message(message.from_user.id,"Ваш возраст?")
bot.register_next_step_handler(message, reg_age)
def reg_age(message):
global age
#age = message.text
while age == 0:
try:
age = int(message.text)
except Exception:
bot.send_message(message.from_user.id,"Вводите цифрами!")
break
keyboard = types.InlineKeyboardMarkup()
key_yes = types.InlineKeyboardButton(text = 'Да', callback_data='yes')
keyboard.add(key_yes)
key_no = types.InlineKeyboardButton(text = 'Нет', callback_data='no')
keyboard.add(key_no)
question = 'Вам ' + str(age) + ' лет? Ваш ник: ' + nick + ' ? Ваше имя: ' + name + ' ?'
bot.send_message(message.from_user.id, text = question, reply_markup=keyboard)
@bot.callback_query_handler(func=lambda call: True)
def callback_worker(call):
if call.data == "yes":
bot.send_message(call.message.chat.id, "Запишу вас в базу данных!")
elif call.data == "no":
bot.send_message(call.message.chat.id, "Попробуем ещё раз!")
bot.send_message(call.message.chat.id,"Какой твой ник?")
bot.register_next_step_handler(call.message, reg_nick)
bot.infinity_polling()