• Как создать бота для добавления надписей на фото?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    Это самый простой код на 30 строчек в качестве примера!
    Скачиваете картинку 1.jpg Потом кидаете в папку со скриптом любой шрифт(желательно рукописный) "font.ttf"
    import telebot
    from PIL import Image
    from PIL import ImageDraw
    from PIL import ImageFont
    
    token = 'Здесь нужно вписать токен вашего бота'
    bot = telebot.TeleBot(token)
    
    def generate_doc(first_name, second_name):
    
    	img = Image.open('1.jpg')
    
    	font = ImageFont.truetype('font.ttf',30) # Загрузка шрифта и установка размера
    	font_color = (74,75,69) # Цвет шрифта
    	first_name_pos = (585,172) # Координаты первой буквы фамилии на картинке 1.jpg
    	second_name_pos = (505,205) # Координаты первой буквы имени
    
    	drawing = ImageDraw.Draw(img)
    	drawing.text(first_name_pos,first_name,font=font,fill=font_color)
    	drawing.text(second_name_pos,second_name,font=font,fill=font_color)
    
    	return img
    
    @bot.message_handler(content_types=['text'])
    def repeat_all_message(message):
    
    	string = message.text
    	s = string.split(' ')
    	if len(s) == 3:
    		image = generate_doc(s[0],s[1]+' '+s[2])
    		image.save('test.jpg')
    		bot.send_photo(message.chat.id,photo=open('test.jpg','rb'))
    	else:
    		bot.send_message(message.chat.id,'Ошибка! Введите имя, фамилию и отчество через пробел.')
    
    if __name__ == '__main__':
    	bot.polling(none_stop=True)

    5e5687658a1d7075945855.png
    Ответ написан
    5 комментариев