
    hj"                        S r SSKrSSKJrJr   SSKrSSK	r
 SSKJr  SSKJr  SS	KJrJr  SS
KJrJrJrJrJrJrJr  \" SS9S 5       r\" SS9S 5       r\" SS9S 5       r\" SS9S 5       r\" SS9S 5       r\" SS9S 5       rg! \ a    \R                  " \ S35         Nf = f! \ a    Sr\R                  " \ S35         Nf = f)u  
✘ Commands Available -

• `{i}border <reply to photo/sticker>`
    To create border around that media..
    Ex - `{i}border 12,22,23`
       - `{i}border 12,22,23 ; width (in number)`

• `{i}grey <reply to any media>`
    To make it black nd white.

• `{i}color <reply to any Black nd White media>`
    To make it Colorfull.

• `{i}toon <reply to any media>`
    To make it toon.

• `{i}danger <reply to any media>`
    To make it look Danger.

• `{i}negative <reply to any media>`
    To make negative image.

• `{i}blur <reply to any media>`
    To make it blurry.

• `{i}quad <reply to any media>`
    create a Vortex.

• `{i}mirror <reply to any media>`
    To create mirror pic.

• `{i}flip <reply to any media>`
    To make it flip.

• `{i}sketch <reply to any media>`
    To draw its sketch.

• `{i}blue <reply to any media>`
    just cool.

• `{i}csample <color name /color code>`
   example : `{i}csample red`
             `{i}csample #ffffff`

• `{i}pixelator <reply image>`
    Create a Pixelated Image..
    N   )LOGSconz: OpenCv not Installed.)Imagez: PIL  not Installed.)upload_file)ChatSendMediaForbiddenErrorMessageDeleteForbiddenError)Redisasync_searcherdownload_file
get_stringrequestsudBultroid_cmdzcolor$)patternc                   #    U R                  5       I S h  vN nU(       a  UR                  (       d  U R                  S5      I S h  vN $ U R                  S5      I S h  vN nUR                  5       I S h  vN n[        R
                  " U5      nUR                  5       u  pV[        R                  " SU5        [        R                  " S5      (       a  [        S5      nOSn[        R                  " SS[        SS5      0S	U0S
9n[        R                  " S5        [        R                  " U5        SUR!                  5       ;   a-  U R#                  UR!                  5       S   S-   5      I S h  vN $ UR!                  5       S   n	U R$                  R'                  U R(                  XS9I S h  vN   UR+                  5       I S h  vN   g  GN GN GNt GN_ Nh N+ N7f)Nz"`Reply To a Black and White Image`u   `Coloring image 🎨🖌️...`ult.jpgDEEP_APIz#quickstart-QUdJIGlzIGNvbWluZy4uLi4Kz$https://api.deepai.org/api/colorizerimagerbzapi-key)filesheadersstatusz'
Get api nd set `{i}setdb DEEP_API key`
output_url)reply_to)get_reply_messagemediaeordownload_mediacv2VideoCapturereadimwriter   get_keyr
   r   postopenosremovejsoneditclient	send_filechat_iddelete)
eventreplyxxr   imgretframekeyrr_jsons
             '/root/TeamUltroid/plugins/imagetools.py_r9   Y   sv    ))++EekkYYCDDDyy:;	;B&&((E


5
!CJCKK	5!
{{:J3.Y-.C 	A
 IIiIIe1668ZZFFHX!KK
 
 	
 VVXl#F
,,
 
 
 
GGG
))+3 ,D	;( 
 Hs|   G G0G GG  G!G 8G9C8G 1G2>G 0G1G G	G G G G G G G z9(grey|blur|negative|danger|mirror|quad|sketch|flip|toon)$c                 	  #    U R                   R                  S5      nU R                  5       I S h  vN nU(       a  UR                  (       d#  U R	                  [        S5      5      I S h  vN   g UR                  5       I S h  vN nU R	                  [        S5      5      I S h  vN nUR                  S5      (       a"  UR                  [        S5      5      I S h  vN n[        R                  " USSS9I S h  vN n[        R                  " U5      nUS	:X  a'  [        R                  " U[        R                  5      nGO-US
:X  a  [        R                  " USS5      nGOUS:X  a  [        R                   " U5      nGOUS:X  aL  [        R                  " U[        R"                  5      n[        R                  " U[        R$                  5      nGOUS:X  a0  [        R&                  " US5      n	[        R(                  " Xi/5      nGOgUS:X  aU  [        R&                  " US5      n
[        R*                  " U
[        R,                  5      n	[        R.                  " Xi/5      nGOUS:X  a  [        R                  " U5      n[        R&                  " US5      n[        R(                  " Xk/5      n[        R&                  " US5      n[        R*                  " U[        R,                  5      n
[        R.                  " X/5      nGOmUS:X  a_  [        R                  " U[        R                  5      nSU-
  n[        R                  " USS5      nSU-
  n[        R0                  " UUSS9nGOUS:X  Ga  UR2                  u  nnn[4        R6                  " UU-  S/[4        R8                  S9nSn[;        U5       H%  n[;        U5       H  nUU   U   UU'   US-  nM     M'     [        R<                  " USS [        R>                  [        R@                  -   SS4S[        RB                  5      u  nnn[4        RD                  " U5      nUURG                  5          n	U	RI                  UR2                  5      n[        RJ                  " SW5        URM                  SSS 9I S h  vN   URO                  5       I S h  vN   [P        RR                  " S5        [P        RR                  " U5        g  GN GN} GNg GNH GN GN N[ NE7f)!Nr   cvt_3com_1.tgssts_9pngult
convert_tooutnamegreyblur)#   rF   r   negativedangermirrorflipquadsketch   )   rN   g      p@)scaletoon   )dtype   i'  g-C6?   r   F)fileforce_document)*pattern_matchgroupr   r   r   r   r   endswithr*   r   convertr    imreadcvtColorCOLOR_BGR2GRAYGaussianBlurbitwise_notCOLOR_BGR2RGBCOLOR_HSV2BGRrJ   hconcatrotate
ROTATE_180vconcatdivideshapenpzerosfloat32rangekmeansTERM_CRITERIA_EPSTERM_CRITERIA_MAX_ITERKMEANS_PP_CENTERSuint8flattenreshaper#   r0   r.   r'   r(   )r/   matchureplyulttr1   rU   r@   ultroiddanishtrnroidmicifr
gray_imageinverted_gray_imageblurred_imginverted_blurred_imgheightwidthr9   samplescountxylabelscenterss                              r8   	ult_toolsr   w   s    %%a(E**,,Fii
7+,,,&&((DyyG,-	-B}}V77:g.//TeUCCD
**T
C,,sC$6$67	&""3!4	*	//#&	(	ll3 1 12,,sC$5$56	(	hhsA++sj)	&hhsAjjcnn-++sj)	&jjxxQ{{C;'XXdAjjS^^,++tk*	(	\\#s'9'9:
!J.&&':HaH"[0**Z)=UK	&99q((FUNA.bjjAvA5\!$Q
 "  !ZZ""S%?%??O!!
67 ((7#fnn&'++cii(KK	7#
,,     ))+IIiIIdOC -,(	-/Cf s   /S;S%9S;+S(,S;S+!S;&S.'7S;S1S;<S4=NS;S7S;3S942S;(S;+S;.S;1S;4S;7S;9S;zcsample (.*)c                   #    U R                   R                  S5      R                  5       =n(       aa  [        R                  " SSU 5      nUR                  S5          U R                  5       I S h  vN   U R                  SU S3SS9I S h  vN   g U R                  S	5      I S h  vN   g  N; N!! [         a     U R                  SU S3SS9I S h  vN     g f = f! [         a    U R                  S5      I S h  vN     g f = f N`7f)
Nr   RGB)   d   zcsample.pngzColour Sample for `z` !rU   z$Umm! Sending Media is disabled here!z$Wrong Color Name/Hex Code specified!)rW   rX   stripr   newsaver.   respondr	   r0   r   r   )r@   colorr2   s      r8   samplr      s     !!''*0022u2iizeW6	BVjjl""kk$7wc"BkWWW gg<=== #W. Vii"5eWC @}iUUUV* 	B''@AAA	B 	>s   ADB2 2B.3B2 B0B2 D(D	)D.B2 0B2 2!CCCC DCC D=D >DDDDzblue$c                 \  #    U R                  5       I S h  vN nU R                  S5      I S h  vN nU(       a  UR                  (       d#  UR                  [	        S5      5      I S h  vN   g UR                  5       I S h  vN nUR                  S5      (       a"  UR                  [	        S5      5      I S h  vN   [        R                  " USSS9I S h  vN n[        U5      n[        SU 3S	S
9I S h  vN nUR                  S5      nUS   (       d  UR                  U5      I S h  vN $ [        US5      I S h  vN   [        R                  " S5      R                  S5      nUR                  SS5        U R                   R#                  U R$                  SSU R&                  S9I S h  vN   UR)                  5       I S h  vN   [*        R,                  " S5        [*        R,                  " S5        [*        R,                  " U5        g  GN GN GN GN GNa GNF GN) N N Nx Nb7f)Nz`...`r;   r=   r>   r?   r@   rA   z5https://nekobot.xyz/api/imagegen?type=blurpify&image=T)re_jsonmessagesuccesszult.pngr   zult.webpwebpF)rV   r   )r   r   r   r*   r   r   rY   r   rZ   upfr   getr   r   r&   r   r+   r,   r-   reply_to_msg_idr.   r'   r(   )	r/   rt   r1   ru   rU   lnkr6   msr2   s	            r8   ultdr      s     **,,Fyy!	!Bggj)***&&((D}}Vggj)***TeUCCD
d)C
?uEt 	A 
y	BY<WWR[  
I
&&&
**Y

'
'
.CHHZ 
,,
 
 &&	 !    ))+IIiIIjIIdO9 -	!*(*C	
 !& s   H,HH,H9H,)H*H,H7H,:H;H,HH,8H!93H,,H$-H, H&A.H,/H(0H,H*AH,H,H,H,H,H,!H,$H,&H,(H,*H,zborder( (.*)|$)c           
      "  #    U R                  5       I S h  vN nU(       a"  UR                  (       d*  UR                  (       d  U R                  S5      I S h  vN $ U R                  R                  S5      R                  5       nSnU(       d  / SQnOW SU;   a#  UR                  SSS9n[        US   5      nUS   nUR                  S5      S S	 Vs/ s H  n[        U5      PM     snnUR                  5       I S h  vN n[        R                  " U5      n[        R                  " XcX3U[        R                  US9n[        R                  " SU5        U R                   R#                  U R$                  R&                  S5      I S h  vN   [(        R*                  " S5        [(        R*                  " U5        U R-                  5       I S h  vN   g  GN GN~s  snf ! [         a    U R                  S
5      I S h  vN  s $ f = f GN
 N N?7f)Nz`Reply to Sticker or Photo..`r      )rM   rM   rM   ;)maxsplitr   ,   z`Not a Valid Input...`)valuez
output.png)r   photostickerr   rW   rX   r   splitint
ValueErrorr   r    r[   copyMakeBorderBORDER_CONSTANTr#   r+   r,   chatidr'   r(   r.   )r/   hmcolwhcol_oklaimg1constants           r8   okr      s    &&(	(BBHH

YY>???



#
#A
&
,
,
.C	B	=czyyqy1a\1g'*yy~bq'9:'93s8'9:C ""$$D::dD!!$BB8K8KSVWHKKh'
,,
 
 
===IIlIIdO
,,./ 
)? ; 	=#;<<<<	=$ > s   HGAHG;H>G G(G +H>H?B
H	H
AHHHHG H<G?=HHHHHHzpixelator( (.*)|$)c                   #    U R                  5       I S h  vN nU(       a"  UR                  (       d*  UR                  (       d  U R                  S5      I S h  vN $ Sn [	        U R
                  R                  S5      R                  5       5      nU R                  [        S5      5      I S h  vN nUR                  5       I S h  vN n[        R                  " U5      nUR                  S S u  pgX"p[        R                  " XXU	4[        R                   S9n
[        R                  " XU4[        R"                  S9n[        R$                  " SU5        UR'                  SSS	9I S h  vN   UR)                  5       I S h  vN   [*        R,                  " S5        [*        R,                  " U5        g  GN GN^! [        [        4 a     GN:f = f GN! GN Nl NV7f)
Nz`Reply to a photo`2   r   r<   r   )interpolationz
output.jpgu   • Pixelated by Ultroidr   )r   r   r   r   r   rW   rX   r   r   	TypeErrorr   r   r    r[   rg   resizeINTER_LINEARINTER_NEARESTr#   r   r.   r'   r(   )r/   reply_messagehwmsgr   input_r   r   whtempoutputs               r8   	pixelatorr     sh    1133M}22m6K6KYY3444	B$$**1-3356 		*W-.
.C..00EZZFLL!$MFq::f!fC4D4DEDZZfoS=N=NOFKKf%
++0|+
DDD
**,IIlIIe' 44 	" 
.0 Es   GF3AGF6G 2F9 G/G0GGB!G)G*GG2G6G9G	GGGGGG) __doc__r'    r   r   r    ImportErrorerror__file__numpyrh   PILr   infor   r   telethon.errors.rpcerrorlistr   r	   r
   r   r   r   r   r   r   r9   r   r   r   r   r        r8   <module>r      s1  /` 
 5 2
 !
   X : PQC RCL ^$> %>" @ &' (6 )* +g  5JJ(2345  2EII
/012s"   B B) B&%B&)C	C	