Как реализовать одновременное использование Telegram бота несколькими пользователями?
Учусь писать ботов на Python. Для примера выбрал бот-обменник для биржи exmo. Когда обращаюсь к боту один, всё работает нормально, но когда с нескольких акков одновременно, бот путает переменные и выдаёт неверные данные, помогите, кто может)
'''
class MyBot:
def __init__(self, bot,keyboard1, keyboard2, keyboard3,summa_coda,summa_plati):
self.bot=bot
self.keyboard1=keyboard1
self.keyboard1.row('EXMO')
self.keyboard2=keyboard2
self.keyboard2.row('Да',' Нет')
self.keyboard3=keyboard3
self.keyboard3.row('Я ОПЛАТИЛ')
self.summa_coda=summa_coda
self.summa_plati=summa_plati
'''
'''
import config
import mail
import exmo_exchange
import telebot
from telebot import types
from random import randint
from class_bot import *
summa_coda=0
summa_plati=''
mybot_1=MyBot(telebot.TeleBot(config.token),telebot.types.ReplyKeyboardMarkup(True),telebot.types.ReplyKeyboardMarkup(True), telebot.types.ReplyKeyboardMarkup(True),summa_coda,summa_plati)
@mybot_1.bot.message_handler(commands=['start'])
def start_messages(message):
msg=mybot_1.bot.send_message(message.chat.id, 'Привет, что хотите обменять?: ',reply_markup=mybot_1.keyboard1)
@mybot_1.bot.message_handler(content_types=["text"])
def send_text(message):
try:
if message.text.lower()=='exmo':
msg=mybot_1.bot.send_message(message.chat.id,'Введите сумму в EXMO')
elif message.text.lower()=='btc':
msg=mybot_1.bot.send_message(message.chat.id,'Введите сумму в BTC')
mybot_1.bot.register_next_step_handler(msg, send_digit)
except Exception as e:
mybot_1.bot.reply_to(message,'Чтобы начать сначала нажмите "/start"')
def send_digit (message):
summ=message.text
if summ.isdigit():
mybot_1.summa_coda=int(summ)
summ2=int(summ)*1.10
summ3=int(summ2)+randint(-3,+9)
mybot_1.summa_plati=str(summ3)
otvet=str(summ3)+' рублей на карту'
msg=mybot_1.bot.send_message(message.chat.id,otvet)
msg=mybot_1.bot.send_message(message.chat.id,' Готов?',reply_markup=mybot_1.keyboard2)
mybot_1.bot.register_next_step_handler(msg, send_number)
else:
msg=mybot_1.bot.send_message(message.chat.id,'Вы ввели некорректные данные. Чтобы начать сначала, нажмите "/start"')
mybot_1.bot.register_next_step_handler(msg, start_messages)
def send_number (message):
if message.text.lower()=='да':
number='5555 5555 5555 5555'
otvet='Переведите на номер карты "Тинькофф ": '+number+''' указанную выше сумму.
После оплаты нажмите ОДИН РАЗ "Я ОПЛАТИЛ" и ждите получения кода.
Как только средства поступят, бот выдаст код. Не нужно жать кнопку несколько раз.
ПЕРЕВОДИТЕ ТОЧНО ТУ СУММУ, ЧТО УКАЗАНА БОТОМ, ИНАЧЕ ВОЗНИКНУТ СЛОЖНОСТИ С ВЫДАЧЕЙ КОДА'''
msg=mybot_1.bot.send_message(message.chat.id, otvet,reply_markup=mybot_1.keyboard3 )
mybot_1.bot.register_next_step_handler(msg, send_code)
else:
msg=mybot_1.bot.send_message(message.chat.id, 'Чтобы начать сначала нажмите "/start" ')
mybot_1.bot.register_next_step_handler(msg, start_messages)
def send_code(message):
if message.text.lower()=='я оплатил':
user_id=message.from_user.id
name_of_user=message.from_user.username
excode_to_send=mail.email_check(mybot_1.summa_coda,mybot_1.summa_plati)
msg=mybot_1.bot.send_message(message.chat.id,excode_to_send)
mybot_1.bot.polling()
'''