Привет мне нужна небольшая помощь от вас... у меня есть телеграм бот который просто подставляет текст в картинку ,картинка статичная , пользователь просто отправляет 2 сообщения и ему возвращается картинка . Проблема в том что при одновременном пользованием этим ботом данные смешиваются и ответ приходит со смешанными данными.Я весьма слабоват в Python Помогите пожалуйста..
import telebot
import config
import time
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
token = config.TOKEN
bot = telebot.TeleBot(token)
dateGiven = False
nameString = [];
def generate_doc(first_name, second_name, date):
img = Image.open('Perevod.png') # Грузим Картинку
nameFont = ImageFont.truetype('arial.ttf',22) # Загрузка шрифта и установка размера
pechatFont = ImageFont.truetype('CoreSansG.ttf',30) # Загрузка шрифта и установка размера
dateFont = ImageFont.truetype('CoreSansG.ttf',73)
namefont_color = '#414141' # Цвет шрифта
datefont_color = '#ffffff' # Цвет шрифта
name = first_name + ' ' + second_name # Соединяем имя и фамилию
name_pos = (23,453) # Координаты имени и фамилии
drawing = ImageDraw.Draw(img) # Создаем пикчу
drawing.text(name_pos,name,font=nameFont,fill=namefont_color) # Пишем текст
date_pos = (20,236) # Координаты даты
drawing.text(date_pos,date + " Т",font=dateFont,fill=datefont_color) # Пишем дату
textWidth = drawing.textsize(name,font=nameFont)
pechat_pos = (25 + textWidth[0] + 50,256) # Координаты
drawing.text(pechat_pos,'',font=dateFont,fill=datefont_color) # Пишем дату
dateGiven = False
return img
@bot.message_handler(content_types=['text']) # Ловим сообщение типа текст
def repeat_all_message(message): # Функция которая вызывается от хендлера
global dateGiven
global nameString
string = message.text # Текст
if dateGiven == False:
if string == '/start':
bot.send_message(message.from_user.id,'Введите имя и фамилию большой буквы.')
return
s = string.split(' ')
if len(s) == 2: # проверка на длину
bot.send_message(message.from_user.id,'Введите дату.')
dateGiven = True
nameString = s # Текст
else:
bot.send_message(message.from_user.id,'Ошибка! Введите имя и фамили через пробел (с большой буквы).')
else:
image = generate_doc(nameString[0], nameString[1], string) # дергаем нашу функцию
image.save(str(message.from_user.id) + ' completedCert.jpg') # сохраняем пикчу
bot.send_photo(message.from_user.id,photo=open(str(message.from_user.id) + ' completedCert.jpg','rb')) # отправляем пикчу
dateGiven = False;
bot.polling(none_stop=True)