mirror of
https://github.com/teloxide/teloxide.git
synced 2024-12-22 22:46:39 +01:00
Fix the conflicts
This commit is contained in:
commit
5628f7111b
157 changed files with 886 additions and 209 deletions
405
logo.svg
Normal file
405
logo.svg
Normal file
|
@ -0,0 +1,405 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
id="svg8"
|
||||
version="1.1"
|
||||
viewBox="0 0 1000.1765 1000.1688"
|
||||
height="1000.1688mm"
|
||||
width="1000.1688mm">
|
||||
<defs
|
||||
id="defs2">
|
||||
<radialGradient
|
||||
id="radialGradient2098"
|
||||
cx="257.63312"
|
||||
cy="346.10947"
|
||||
r="1837.1556"
|
||||
fx="323.34329"
|
||||
fy="313.63162"
|
||||
gradientTransform="matrix(0.25369962,0,0,0.25369962,-147.14212,-160.64302)"
|
||||
gradientUnits="userSpaceOnUse">
|
||||
<stop
|
||||
offset="0"
|
||||
style="stop-color:#FF980E"
|
||||
id="stop2086" />
|
||||
<stop
|
||||
offset="0.295012"
|
||||
style="stop-color:#FF7139"
|
||||
id="stop2088" />
|
||||
<stop
|
||||
offset="0.4846462"
|
||||
style="stop-color:#FF5B51"
|
||||
id="stop2090" />
|
||||
<stop
|
||||
offset="0.6260016"
|
||||
style="stop-color:#FF4F5E"
|
||||
id="stop2092" />
|
||||
<stop
|
||||
offset="0.73652"
|
||||
style="stop-color:#f6374e;stop-opacity:0.97254902"
|
||||
id="stop2094" />
|
||||
<stop
|
||||
offset="0.8428285"
|
||||
style="stop-color:#f52d44;stop-opacity:1"
|
||||
id="stop2096" />
|
||||
</radialGradient>
|
||||
<radialGradient
|
||||
id="radialGradient7778"
|
||||
cx="624.28052"
|
||||
cy="138.58418"
|
||||
r="3105.1294"
|
||||
gradientTransform="matrix(0.9588647 0 0 0.9588647 1293.9r906006 17.7235451)"
|
||||
gradientUnits="userSpaceOnUse">
|
||||
<stop
|
||||
offset="0.0535657"
|
||||
style="stop-color:#FFF44F"
|
||||
id="stop7768" />
|
||||
<stop
|
||||
offset="0.4572717"
|
||||
style="stop-color:#FF980E"
|
||||
id="stop7770" />
|
||||
<stop
|
||||
offset="0.5210502"
|
||||
style="stop-color:#FF8424"
|
||||
id="stop7772" />
|
||||
<stop
|
||||
offset="0.5831793"
|
||||
style="stop-color:#FF7634"
|
||||
id="stop7774" />
|
||||
<stop
|
||||
offset="0.639343"
|
||||
style="stop-color:#FF7139"
|
||||
id="stop7776" />
|
||||
</radialGradient>
|
||||
<linearGradient
|
||||
y2="180"
|
||||
x2="100.008"
|
||||
y1="40.007999"
|
||||
x1="160.008"
|
||||
id="linearGradient7176"
|
||||
gradientUnits="userSpaceOnUse">
|
||||
<stop
|
||||
id="stop7172"
|
||||
offset="0"
|
||||
stop-color="#37aee2"
|
||||
style="stop-color:#ff3750;stop-opacity:0" />
|
||||
<stop
|
||||
id="stop7174"
|
||||
offset="1"
|
||||
stop-color="#1e96c8"
|
||||
style="stop-color:#ffd865;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="b"
|
||||
x1="160.008"
|
||||
y1="40.007999"
|
||||
x2="100.008"
|
||||
y2="180">
|
||||
<stop
|
||||
style="stop-color:#37aee2;stop-opacity:0"
|
||||
stop-color="#37aee2"
|
||||
offset="0"
|
||||
id="stop4892" />
|
||||
<stop
|
||||
style="stop-color:#1e96c8;stop-opacity:0"
|
||||
stop-color="#1e96c8"
|
||||
offset="1"
|
||||
id="stop4894" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="scale(1.0919081,0.91582798)"
|
||||
id="w"
|
||||
x1="140.86748"
|
||||
y1="147.14627"
|
||||
x2="88.524704"
|
||||
y2="112.05341">
|
||||
<stop
|
||||
style="stop-color:#a047bf;stop-opacity:1"
|
||||
stop-color="#eff7fc"
|
||||
offset="0"
|
||||
id="stop4897" />
|
||||
<stop
|
||||
style="stop-color:#ee7e40;stop-opacity:1"
|
||||
stop-color="#fff"
|
||||
offset="1"
|
||||
id="stop4899" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
y2="180"
|
||||
x2="100.008"
|
||||
y1="40.007999"
|
||||
x1="160.008"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient7166"
|
||||
xlink:href="#b" />
|
||||
<radialGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.25369962,0,0,0.25369962,116.95639,-406.02996)"
|
||||
r="3105.1294"
|
||||
cy="138.58418"
|
||||
cx="624.28052"
|
||||
id="SVGID_11_">
|
||||
<stop
|
||||
id="stop135"
|
||||
style="stop-color:#FFF44F"
|
||||
offset="0.0535657" />
|
||||
<stop
|
||||
id="stop137"
|
||||
style="stop-color:#FF980E"
|
||||
offset="0.4572717" />
|
||||
<stop
|
||||
id="stop139"
|
||||
style="stop-color:#FF8424"
|
||||
offset="0.5210502" />
|
||||
<stop
|
||||
id="stop141"
|
||||
style="stop-color:#FF7634"
|
||||
offset="0.587052" />
|
||||
<stop
|
||||
id="stop143"
|
||||
style="stop-color:#FF7139"
|
||||
offset="0.639343" />
|
||||
</radialGradient>
|
||||
<radialGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(4.4292543,-0.00937413,0.00863853,4.0816693,-654.99926,-176.9423)"
|
||||
r="65.246368"
|
||||
fy="60.625607"
|
||||
fx="198.56102"
|
||||
cy="60.625607"
|
||||
cx="198.56102"
|
||||
id="radialGradient1819"
|
||||
xlink:href="#SVGID_7_" />
|
||||
<radialGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.25369962,0,0,0.25369962,-147.14212,-160.64302)"
|
||||
fy="313.63162"
|
||||
fx="323.34329"
|
||||
r="1837.1556"
|
||||
cy="346.10947"
|
||||
cx="257.63312"
|
||||
id="SVGID_7_">
|
||||
<stop
|
||||
id="stop85"
|
||||
style="stop-color:#FF980E"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop87"
|
||||
style="stop-color:#FF7139"
|
||||
offset="0.295012" />
|
||||
<stop
|
||||
id="stop89"
|
||||
style="stop-color:#FF5B51"
|
||||
offset="0.4846462" />
|
||||
<stop
|
||||
id="stop91"
|
||||
style="stop-color:#FF4F5E"
|
||||
offset="0.6260016" />
|
||||
<stop
|
||||
id="stop93"
|
||||
style="stop-color:#FF4055"
|
||||
offset="0.73652" />
|
||||
<stop
|
||||
id="stop95"
|
||||
style="stop-color:#FF3750"
|
||||
offset="0.8428285" />
|
||||
</radialGradient>
|
||||
<radialGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.26458333,0,0,0.26458333,-232.53772,-527.76884)"
|
||||
fy="-153.06329"
|
||||
fx="389.09302"
|
||||
r="1876.7874"
|
||||
cy="-119.88482"
|
||||
cx="321.9653"
|
||||
id="SVGID_1_">
|
||||
<stop
|
||||
id="stop3"
|
||||
style="stop-color:#FFF44F"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop5"
|
||||
style="stop-color:#FF980E"
|
||||
offset="0.2948518" />
|
||||
<stop
|
||||
id="stop7"
|
||||
style="stop-color:#FF5D36"
|
||||
offset="0.4315208" />
|
||||
<stop
|
||||
id="stop9"
|
||||
style="stop-color:#FF3750"
|
||||
offset="0.5302083" />
|
||||
<stop
|
||||
id="stop11"
|
||||
style="stop-color:#F5156C"
|
||||
offset="0.7493189" />
|
||||
<stop
|
||||
id="stop13"
|
||||
style="stop-color:#F1136E"
|
||||
offset="0.7647903" />
|
||||
<stop
|
||||
id="stop15"
|
||||
style="stop-color:#DA057A"
|
||||
offset="0.8800957" />
|
||||
<stop
|
||||
id="stop17"
|
||||
style="stop-color:#D2007F"
|
||||
offset="0.9527844" />
|
||||
</radialGradient>
|
||||
<linearGradient
|
||||
gradientTransform="matrix(0.49700557,0,0,0.49700557,7.2354759,-1184.0654)"
|
||||
y2="1708.0002"
|
||||
x2="477.68073"
|
||||
y1="246.00212"
|
||||
x1="1321.7657"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="SVGID_12_">
|
||||
<stop
|
||||
id="stop2743"
|
||||
style="stop-color:#FFF44F;stop-opacity:0.8"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop2745"
|
||||
style="stop-color:#FFF44F;stop-opacity:0"
|
||||
offset="0.75" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.25369962,0,0,0.25369962,-147.14212,-160.64302)"
|
||||
fy="313.63162"
|
||||
fx="323.34329"
|
||||
r="1837.1556"
|
||||
cy="346.10947"
|
||||
cx="257.63312"
|
||||
id="SVGID_7_-2">
|
||||
<stop
|
||||
id="stop85-9"
|
||||
style="stop-color:#FF980E"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop87-1"
|
||||
style="stop-color:#FF7139"
|
||||
offset="0.295012" />
|
||||
<stop
|
||||
id="stop89-2"
|
||||
style="stop-color:#FF5B51"
|
||||
offset="0.4846462" />
|
||||
<stop
|
||||
id="stop91-7"
|
||||
style="stop-color:#FF4F5E"
|
||||
offset="0.6260016" />
|
||||
<stop
|
||||
id="stop93-0"
|
||||
style="stop-color:#FF4055"
|
||||
offset="0.73652" />
|
||||
<stop
|
||||
id="stop95-9"
|
||||
style="stop-color:#FF3750"
|
||||
offset="0.8428285" />
|
||||
</radialGradient>
|
||||
<linearGradient
|
||||
gradientTransform="translate(-290.96154,-5.268689)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
y2="220.18013"
|
||||
x2="24.136377"
|
||||
y1="-7.9157548"
|
||||
x1="238.16116"
|
||||
id="linearGradient1127"
|
||||
xlink:href="#SVGID_12_" />
|
||||
</defs>
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
style="display:inline"
|
||||
transform="translate(-25.485081,874.03927)"
|
||||
id="layer1">
|
||||
<rect
|
||||
ry="122.74884"
|
||||
y="-873.87427"
|
||||
x="25.485081"
|
||||
height="1000.0077"
|
||||
width="1000.0077"
|
||||
id="rect99"
|
||||
style="fill:#282828;fill-opacity:1;fill-rule:evenodd;stroke-width:0.24541904" />
|
||||
<g
|
||||
transform="matrix(3.4097882,0,0,3.4097882,-58.261564,-771.89541)"
|
||||
id="g4557">
|
||||
<path
|
||||
transform="scale(0.26458333)"
|
||||
style="fill:#f1f1f1;fill-opacity:1;stroke:#f1f1f1;stroke-width:10.54206085;stroke-opacity:1"
|
||||
d="m 647.14258,-57.232422 c -274.72614,0 -498.32227,223.703512 -498.32227,498.324222 0,274.6207 223.70155,498.32226 498.32227,498.32226 274.6207,0 498.32422,-223.70156 498.32422,-498.32226 0,-274.62071 -223.70352,-498.324222 -498.32422,-498.324222 z m -0.74219,44.277344 a 32.785812,32.785812 0 0 1 0.004,0 32.680391,32.785812 0 0 1 31.83789,32.785156 32.786135,32.786135 0 0 1 -65.57227,0 32.785812,32.785812 0 0 1 33.73047,-32.785156 z m -74.10547,53.974609 50.4961,52.921875 c 11.38541,11.912534 30.25542,12.440064 42.16796,0.949219 l 56.50586,-53.871094 a 403.44469,403.44469 0 0 1 66.1543,18.777344 c 1.97576,0.407587 3.93673,0.970989 5.87695,1.730469 13.99934,5.479892 27.61358,11.724081 40.80079,18.671875 a 403.44469,403.44469 0 0 1 2.36523,1.269531 c 10.36827,5.551273 20.46754,11.537743 30.26953,17.943359 a 403.44469,403.44469 0 0 1 6.39844,4.269531 c 8.32464,5.66907 16.42445,11.64272 24.28711,17.90234 a 403.44469,403.44469 0 0 1 9.8125,8.05664 c 6.45209,5.47512 12.72445,11.15359 18.81836,17.01758 a 403.44469,403.44469 0 0 1 11.94922,11.9668 c 5.13237,5.3678 10.11852,10.87734 14.95117,16.52148 a 403.44469,403.44469 0 0 1 12.51172,15.37696 c 3.37107,4.35061 6.66483,8.76435 9.85937,13.2539 0.23859,0.33532 0.45279,0.6794 0.67383,1.02149 a 403.44469,403.44469 0 0 1 21.47266,32.93555 l -38.68946,87.28906 c -6.6415,15.07515 0.21195,32.78628 15.18164,39.5332 l 74.4258,32.99609 a 403.44469,403.44469 0 0 1 0.8437,69.99805 h -0.5 c -5.7455,78.10094 -33.7008,150.02515 -77.59567,209.47266 h 0.7168 a 403.44469,403.44469 0 0 1 -37.31836,43.2207 l -69.26172,-14.86328 c -16.12936,-3.47887 -32.04848,6.85115 -35.52734,22.98047 l -16.44532,76.74805 a 403.44469,403.44469 0 0 1 -36.45312,14.36328 c -0.0902,0.0369 -0.18261,0.0712 -0.27344,0.10742 a 403.44469,403.44469 0 0 1 -1.01367,0.375 c -0.24074,0.087 -0.47392,0.18338 -0.71875,0.26562 -40.39438,13.56934 -83.64335,20.92188 -128.60938,20.92188 -40.73374,0 -80.05693,-6.03481 -117.12695,-17.25781 -2.64112,-0.79961 -5.08556,-1.88567 -7.35742,-3.22071 A 403.44469,403.44469 0 0 1 477.09961,803.52734 L 460.6543,726.78125 c -3.47891,-16.12936 -19.29252,-26.46129 -35.42188,-22.98242 l -67.78515,14.54883 a 403.44469,403.44469 0 0 1 -21.21289,-24.19141 c -1.98,-1.33851 -3.76227,-2.94462 -5.30469,-4.875 -55.15082,-69.02256 -88.12305,-156.54162 -88.12305,-251.76172 0,-2.92892 0.34165,-5.66443 0.98047,-8.23242 a 403.44469,403.44469 0 0 1 2.23047,-35.21289 l 70.63086,-31.41602 c 15.07515,-6.74692 21.92856,-24.35258 15.18164,-39.42773 l -14.54883,-32.78516 h 0.26563 c -13.3252,-23.74604 -27.38086,-44.84375 -27.38086,-44.84375 10.41967,-18.87574 21.81773,-35.1234 34.7871,-52.17773 51.04777,-67.12628 122.64108,-117.779826 205.4043,-142.587892 2.17055,-0.650615 4.32668,-0.947976 6.47266,-0.953126 a 403.44469,403.44469 0 0 1 35.46484,-8.863281 z M 255.5,283.69727 a 32.785812,32.785812 0 0 1 0.006,0 32.785812,32.785812 0 0 1 31.83594,32.78711 32.785812,32.785812 0 0 1 -65.57032,0 A 32.785812,32.785812 0 0 1 255.5,283.69727 Z m 781.6934,1.47656 a 32.785812,32.785812 0 0 1 0.01,0 32.785812,32.785812 0 0 1 31.8379,32.78515 32.78615,32.78615 0 0 1 -65.5723,0 32.785812,32.785812 0 0 1 33.7286,-32.78515 z M 403.61523,745.33398 a 32.785812,32.785812 0 0 1 0.006,0.002 32.785812,32.785812 0 0 1 31.83789,32.78515 32.78613,32.78613 0 0 1 -65.57226,0 32.785812,32.785812 0 0 1 33.72851,-32.78711 z m 485.46289,1.47657 a 32.785812,32.785812 0 0 1 0.006,0 32.785812,32.785812 0 0 1 31.83594,32.78711 32.78613,32.78613 0 0 1 -65.57226,0 32.785812,32.785812 0 0 1 33.73046,-32.78711 z"
|
||||
id="path4504" />
|
||||
<path
|
||||
style="fill:#f1f1f1;fill-opacity:1;fill-rule:evenodd;stroke:#f1f1f1;stroke-width:8.36776161;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 295.70761,116.70536 A 124.4844,124.4844 0 0 1 171.22322,241.18976 124.4844,124.4844 0 0 1 46.738819,116.70536 124.4844,124.4844 0 0 1 171.22322,-7.779039 124.4844,124.4844 0 0 1 295.70761,116.70536 Z m -2.34297,-12.02169 19.41321,12.02169 -19.41321,12.02168 16.67974,15.59193 -21.36569,8.00516 13.33264,18.54854 -22.56507,3.68181 9.48347,20.80784 -22.84399,-0.80889 5.2438,22.25825 -22.25825,-5.2438 0.80888,22.84399 -20.80783,-9.48346 -3.68181,22.56506 -18.54854,-13.33263 -8.00516,21.36568 -15.59193,-16.67974 -12.02168,19.41321 -12.02169,-19.41321 -15.59193,16.67974 -8.00515,-21.36568 -18.54854,13.33263 -3.68182,-22.56506 -20.807831,9.48346 0.808884,-22.84399 -22.258245,5.2438 5.243797,-22.25825 -22.843989,0.80889 9.483463,-20.80784 L 40.435106,170.87267 53.767739,152.32413 32.402055,144.31897 49.081793,128.72704 29.668586,116.70536 49.081793,104.68367 32.402055,89.091745 53.767739,81.086587 40.435106,62.538049 63.000169,58.856234 53.516706,38.048401 l 22.843989,0.808884 -5.243797,-22.258246 22.258245,5.243797 -0.808884,-22.8439882 20.807831,9.4834629 3.68182,-22.5650637 18.54854,13.33263359 8.00515,-21.36568459 15.59193,16.6797382 12.02169,-19.4132062 12.02168,19.4132062 15.59193,-16.6797382 8.00516,21.36568459 18.54854,-13.33263359 3.68181,22.5650637 20.80783,-9.4834629 -0.80888,22.8439882 22.25825,-5.243797 -5.2438,22.258246 22.84399,-0.808884 -9.48347,20.807833 22.56507,3.681815 -13.33264,18.548538 21.36569,8.005158 z"
|
||||
id="path4506" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(2.9858713,0,0,2.9858713,167.26874,-732.2594)"
|
||||
id="g4928">
|
||||
<circle
|
||||
style="fill:url(#linearGradient7166);fill-opacity:1"
|
||||
cx="120"
|
||||
cy="120"
|
||||
r="120"
|
||||
id="circle4904" />
|
||||
<path
|
||||
style="fill:#bf2543;fill-opacity:1"
|
||||
d="m 98,175 c -3.8876,0 -3.227,-1.4679 -4.5678,-5.1695 L 82,132.2059 170,80"
|
||||
id="path4906" />
|
||||
<path
|
||||
style="fill:#a92543;fill-opacity:1"
|
||||
d="m 98,175 c 3,0 4.3255,-1.372 6,-3 l 16,-15.558 -19.958,-12.035"
|
||||
id="path4908" />
|
||||
<path
|
||||
style="fill:url(#radialGradient1819);fill-opacity:1"
|
||||
d="m 100.04,144.41 48.36,35.729 c 5.5185,3.0449 9.5014,1.4684 10.876,-5.1235 l 19.685,-92.763 c 2.0154,-8.0802 -3.0801,-11.745 -8.3594,-9.3482 l -115.59,44.571 c -7.8901,3.1647 -7.8441,7.5666 -1.4382,9.528 l 29.663,9.2583 68.673,-43.325 c 3.2419,-1.9659 6.2173,-0.90899 3.7752,1.2584"
|
||||
id="path4910" />
|
||||
</g>
|
||||
<rect
|
||||
y="-44.385658"
|
||||
x="34.240719"
|
||||
height="159.17772"
|
||||
width="164.35423"
|
||||
id="rect2241"
|
||||
style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke-width:0.25622422" />
|
||||
<g
|
||||
transform="matrix(0.53235487,0,0,0.53235487,-27.283341,10.578064)"
|
||||
id="g4557-3"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:#282828;fill-opacity:1;stroke:#282828;stroke-width:2.78925347;stroke-opacity:1"
|
||||
d="m -136.20958,-18.218258 c -72.68796,0 -131.84776,59.18822 -131.84776,131.848288 0,72.66006 59.1877,131.84776 131.84776,131.84776 72.660061,0 131.8482833,-59.1877 131.8482833,-131.84776 0,-72.660068 -59.1882223,-131.848288 -131.8482833,-131.848288 z m -0.19637,11.7150471 a 8.6745793,8.6745793 0 0 1 10e-4,0 8.6466867,8.6745793 0 0 1 8.42377,8.6744058 8.674665,8.674665 0 0 1 -17.34933,0 8.6745793,8.6745793 0 0 1 8.92452,-8.6744058 z m -19.60707,14.2807817 13.36042,14.0022462 c 3.01239,3.151858 8.00508,3.291434 11.15694,0.251148 l 14.95051,-14.2533942 a 106.74474,106.74474 0 0 1 17.503328,4.9681722 c 0.522753,0.107841 1.041593,0.256908 1.554943,0.457854 3.703992,1.449888 7.306093,3.101996 10.795209,4.940266 a 106.74474,106.74474 0 0 1 0.6258,0.335897 c 2.743271,1.468774 5.41537,3.052695 8.008813,4.747514 a 106.74474,106.74474 0 0 1 1.692921,1.129647 c 2.202561,1.499941 4.345635,3.080469 6.425964,4.73666 a 106.74474,106.74474 0 0 1 2.596224,2.131653 c 1.707115,1.448625 3.366677,2.951054 4.979024,4.502568 a 106.74474,106.74474 0 0 1 3.161565,3.166216 c 1.357939,1.42023 2.677192,2.877963 3.95583,4.371308 a 106.74474,106.74474 0 0 1 3.310393,4.068487 c 0.891929,1.151099 1.763403,2.318901 2.608625,3.506761 0.06313,0.08872 0.1198,0.179758 0.178284,0.270269 a 106.74474,106.74474 0 0 1 5.681308,8.714198 l -10.236586,23.09523 c -1.757231,3.988633 0.05608,8.674703 4.016808,10.459826 l 19.691826,8.730223 a 106.74474,106.74474 0 0 1 0.223229,18.52031 h -0.132291 c -1.520164,20.66421 -8.91667,39.69416 -20.530521,55.42298 h 0.189653 a 106.74474,106.74474 0 0 1 -9.873816,11.43547 l -18.325496,-3.93257 c -4.26756,-0.92045 -8.479494,1.8127 -9.399942,6.08025 l -4.351158,20.30625 a 106.74474,106.74474 0 0 1 -9.644887,3.80029 c -0.0239,0.01 -0.0483,0.0188 -0.0724,0.0284 a 106.74474,106.74474 0 0 1 -0.2682,0.0992 c -0.0637,0.023 -0.12539,0.0485 -0.19017,0.0703 -10.68768,3.59023 -22.13063,5.53558 -34.0279,5.53558 -10.77746,0 -21.18172,-1.59671 -30.98983,-4.56612 -0.6988,-0.21157 -1.34556,-0.49892 -1.94665,-0.85215 a 106.74474,106.74474 0 0 1 -11.86491,-4.53409 l -4.35116,-20.30574 c -0.92046,-4.26756 -5.10448,-7.00121 -9.37204,-6.08076 l -17.93482,3.84938 a 106.74474,106.74474 0 0 1 -5.61258,-6.40065 c -0.52387,-0.35415 -0.99543,-0.7791 -1.40353,-1.28984 -14.59199,-18.26222 -23.31589,-41.4183 -23.31589,-66.61196 0,-0.77494 0.0904,-1.49871 0.25942,-2.17816 a 106.74474,106.74474 0 0 1 0.59014,-9.31674 l 18.68775,-8.312159 c 3.98863,-1.785122 5.80193,-6.443287 4.01681,-10.43192 l -3.84938,-8.674407 h 0.0703 c -3.52562,-6.282806 -7.24452,-11.864908 -7.24452,-11.864908 2.75688,-4.994207 5.77261,-9.293067 9.20409,-13.805358 13.50639,-17.760495 32.44879,-31.162579 54.34656,-37.726379 0.57429,-0.172142 1.14476,-0.250819 1.71255,-0.252181 a 106.74474,106.74474 0 0 1 9.38341,-2.3450772 z m -83.81866,64.2084842 a 8.6745793,8.6745793 0 0 1 0.002,0 8.6745793,8.6745793 0 0 1 8.42326,8.674923 8.6745793,8.6745793 0 0 1 -17.34881,0 8.6745793,8.6745793 0 0 1 8.92396,-8.674923 z m 206.823047,0.390674 a 8.6745793,8.6745793 0 0 1 0.0026,0 8.6745793,8.6745793 0 0 1 8.423778,8.674404 8.674669,8.674669 0 0 1 -17.349338,0 8.6745793,8.6745793 0 0 1 8.924026,-8.674404 z M -200.64286,194.12744 a 8.6745793,8.6745793 0 0 1 0.002,5.3e-4 8.6745793,8.6745793 0 0 1 8.42378,8.6744 8.674665,8.674665 0 0 1 -17.34933,0 8.6745793,8.6745793 0 0 1 8.924,-8.67492 z m 128.445393,0.39067 a 8.6745793,8.6745793 0 0 1 0.0016,0 8.6745793,8.6745793 0 0 1 8.423259,8.67492 8.6746635,8.6746635 0 0 1 -17.349327,0 8.6745793,8.6745793 0 0 1 8.924518,-8.67492 z"
|
||||
id="path4504-6" />
|
||||
<path
|
||||
style="fill:#282828;fill-opacity:1;fill-rule:evenodd;stroke:#282828;stroke-width:8.36776161;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="m -11.724928,113.62977 a 124.4844,124.4844 0 0 1 -124.484392,124.4844 124.4844,124.4844 0 0 1 -124.4844,-124.4844 124.4844,124.4844 0 0 1 124.4844,-124.484403 124.4844,124.4844 0 0 1 124.484392,124.484403 z m -2.34297,-12.02169 19.4132097,12.02169 -19.4132097,12.02168 16.6797397,15.59193 -21.3656897,8.00516 13.3326397,18.54854 -22.5650697,3.68181 9.48347,20.80784 -22.84399,-0.80889 5.2438,22.25825 -22.25825,-5.2438 0.80888,22.84399 -20.80783,-9.48346 -3.68181,22.56506 -18.548542,-13.33263 -8.00516,21.36568 -15.59193,-16.67974 -12.02168,19.41321 -12.02169,-19.41321 -15.59193,16.67974 -8.00515,-21.36568 -18.54854,13.33263 -3.68182,-22.56506 -20.80783,9.48346 0.80888,-22.84399 -22.25824,5.2438 5.2438,-22.25825 -22.84399,0.80889 9.48346,-20.80784 -22.56506,-3.68181 13.33263,-18.54854 -21.36568,-8.00516 16.67973,-15.59193 -19.4132,-12.02168 19.4132,-12.02169 -16.67973,-15.591929 21.36568,-8.005158 -13.33263,-18.548538 22.56506,-3.681815 -9.48346,-20.807833 22.84399,0.808884 -5.2438,-22.258246 22.25824,5.243797 -0.80888,-22.8439878 20.80783,9.4834629 3.68182,-22.5650641 18.54854,13.332634 8.00515,-21.365685 15.59193,16.6797386 12.02169,-19.4132066 12.02168,19.4132066 15.59193,-16.6797386 8.00516,21.365685 18.548542,-13.332634 3.68181,22.5650641 20.80783,-9.4834629 -0.80888,22.8439878 22.25825,-5.243797 -5.2438,22.258246 22.84399,-0.808884 -9.48347,20.807833 22.5650697,3.681815 -13.3326397,18.548538 21.3656897,8.005158 z"
|
||||
id="path4506-7" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(2.9858713,0,0,2.9858713,1047.9069,-718.22402)"
|
||||
id="g4928-3"
|
||||
style="display:inline">
|
||||
<path
|
||||
id="path4906-0"
|
||||
d="m -121.42796,67.483064 c -0.93128,0.03404 -1.91559,0.271144 -2.90546,0.720544 l -115.58979,44.570682 c -7.8901,3.1647 -7.84366,7.56642 -1.43777,9.52782 l 29.65763,9.25734 10.20069,33.56963 c 1.34081,3.70159 0.68066,5.17018 4.56826,5.17018 3,0 4.32487,-1.37279 5.99937,-3.00079 l 14.41311,-14.01404 29.98686,22.15398 c 5.51849,3.0449 9.5023,1.46827 10.87689,-5.12363 l 19.68418,-92.762936 c 1.63751,-6.565163 -1.41841,-10.216308 -5.45397,-10.06878 z"
|
||||
style="fill:url(#linearGradient1127);fill-opacity:1;stroke-width:1" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 22 KiB |
|
@ -1,4 +1,6 @@
|
|||
use derive_more::From;
|
||||
use reqwest::StatusCode;
|
||||
use thiserror::Error;
|
||||
|
||||
//<editor-fold desc="download">
|
||||
#[derive(Debug, Error, From)]
|
||||
|
|
12
src/lib.rs
12
src/lib.rs
|
@ -1,16 +1,8 @@
|
|||
#![allow(clippy::unit_arg)] // TODO
|
||||
#![allow(clippy::ptr_arg)] // TODO
|
||||
#![doc(
|
||||
html_logo_url = "https://github.com/teloxide/teloxide/raw/dev/ICON.png",
|
||||
html_logo_url = "https://github.com/teloxide/teloxide/raw/dev/logo.svg",
|
||||
html_favicon_url = "https://github.com/teloxide/teloxide/raw/dev/ICON.png"
|
||||
)]
|
||||
|
||||
#[macro_use]
|
||||
extern crate derive_more;
|
||||
#[macro_use]
|
||||
extern crate serde;
|
||||
#[macro_use]
|
||||
extern crate thiserror;
|
||||
#![allow(clippy::match_bool)]
|
||||
|
||||
pub use bot::Bot;
|
||||
pub use errors::{DownloadError, RequestError};
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
use reqwest::StatusCode;
|
||||
use serde::Deserialize;
|
||||
|
||||
use crate::{
|
||||
requests::ResponseResult,
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
use reqwest::multipart::Form;
|
||||
|
||||
use crate::{
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::True,
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::InlineQueryResult,
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::True,
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ShippingOption, True},
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
use reqwest::multipart::Form;
|
||||
|
||||
use crate::{
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, True},
|
||||
};
|
||||
use crate::types::{ChatId, True};
|
||||
|
||||
/// Use this method to delete a chat photo. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Returns True on success.
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, True},
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, True},
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::True,
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::True,
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, ParseMode, InlineKeyboardMarkup, Message},
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ParseMode, InlineKeyboardMarkup},
|
||||
types::{ParseMode, InlineKeyboardMarkup, Message},
|
||||
};
|
||||
use crate::types::Message;
|
||||
|
||||
/// Use this method to edit captions of messages. On success, if edited message is sent by the bot, the edited Message is returned, otherwise True is returned.
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, InlineKeyboardMarkup, Message},
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
use reqwest::multipart::Form;
|
||||
|
||||
use crate::{
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
use reqwest::multipart::Form;
|
||||
|
||||
use crate::{
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, InlineKeyboardMarkup, Message},
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, ParseMode, InlineKeyboardMarkup, Message},
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ParseMode, InlineKeyboardMarkup, Message},
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::ChatId,
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, Message},
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, Chat},
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, ChatMember},
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, ChatMember},
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::ChatId,
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::File,
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::GameHighScore,
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::GameHighScore,
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::User,
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::StickerSet,
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::Update,
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::UserProfilePhotos,
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::WebhookInfo,
|
||||
};
|
||||
use crate::types::WebhookInfo;
|
||||
|
||||
/// Use this method to get current webhook status. Requires no parameters. On success, returns a WebhookInfo object. If the bot is using getUpdates, will return an object with the url field empty.
|
||||
#[derive(Debug, PartialEq, Eq, Hash, Clone, Deserialize, Serialize, Default)]
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, True},
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, True},
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, True},
|
||||
};
|
||||
use crate::types::{ChatId, True};
|
||||
|
||||
/// Use this method to pin a message in a group, a supergroup, or a channel. The bot must be an administrator in the chat for this to work and must have the ‘can_pin_messages’ admin right in the supergroup or ‘can_edit_messages’ admin right in the channel. Returns True on success.
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, True},
|
||||
};
|
||||
use crate::types::{ChatId, True};
|
||||
|
||||
/// Use this method to promote or demote a user in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. Pass False for all boolean parameters to demote a user. Returns True on success.
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, ChatPermissions, True},
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
use reqwest::multipart::Form;
|
||||
|
||||
use crate::{
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
use reqwest::multipart::Form;
|
||||
|
||||
use crate::{
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, True},
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, ReplyMarkup, Message},
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
use reqwest::multipart::Form;
|
||||
|
||||
use crate::{
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{InlineKeyboardMarkup, Message},
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{LabeledPrice, InlineKeyboardMarkup, Message},
|
||||
};
|
||||
use crate::types::{LabeledPrice, InlineKeyboardMarkup, Message};
|
||||
|
||||
/// Use this method to send invoices. On success, the sent Message is returned.
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, ReplyMarkup, Message},
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
use reqwest::multipart::Form;
|
||||
|
||||
use crate::{
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, Message, ParseMode, ReplyMarkup},
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
use reqwest::multipart::Form;
|
||||
|
||||
use crate::{
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, ReplyMarkup, Message},
|
||||
};
|
||||
use crate::types::{ChatId, ReplyMarkup, Message};
|
||||
|
||||
/// Use this method to send a native poll. A native poll can't be sent to a private chat. On success, the sent Message is returned.
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
use reqwest::multipart::Form;
|
||||
|
||||
use crate::{
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, ReplyMarkup, Message},
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
use reqwest::multipart::Form;
|
||||
|
||||
use crate::{
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
use reqwest::multipart::Form;
|
||||
|
||||
use crate::{
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
use reqwest::multipart::Form;
|
||||
|
||||
use crate::{
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, True},
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, ChatPermissions, True},
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, InputFile, True},
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, True},
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, True},
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{Message, ChatId},
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::True,
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{InputFile, True},
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, InlineKeyboardMarkup, Message},
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, InlineKeyboardMarkup},
|
||||
types::{ChatId, InlineKeyboardMarkup, Poll},
|
||||
};
|
||||
use crate::types::Poll;
|
||||
|
||||
/// Use this method to stop a poll which was sent by the bot. On success, the stopped Poll with the final results is returned.
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, True},
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{ChatId, True},
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
requests::{dynamic, json, Method},
|
||||
types::{InputFile, File},
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::types::PhotoSize;
|
||||
|
||||
/// This object represents an animation file (GIF or H.264/MPEG-4 AVC video
|
||||
/// without sound).
|
||||
///
|
||||
/// [The official docs](https://core.telegram.org/bots/api#animation).
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
#[derive(Clone, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)]
|
||||
pub struct Animation {
|
||||
/// An identifier for this file.
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::types::PhotoSize;
|
||||
|
||||
/// This object represents an audio file to be treated as music by the Telegram
|
||||
/// clients.
|
||||
///
|
||||
/// [The official docs](https://core.telegram.org/bots/api#audio).
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
#[derive(Clone, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)]
|
||||
pub struct Audio {
|
||||
/// An identifier for this file.
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
/// A placeholder, currently holds no information. Use [@BotFather](https://t.me/botfather) to set up your game.
|
||||
///
|
||||
/// [The official docs](https://core.telegram.org/bots/api#callbackgame).
|
||||
// TODO: derives?
|
||||
pub struct CallbackGame;
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::types::{Message, User};
|
||||
|
||||
/// This object represents an incoming callback query from a callback button in
|
||||
|
@ -11,6 +13,7 @@ use crate::types::{Message, User};
|
|||
///
|
||||
/// [inline keyboard]: https://core.telegram.org/bots#inline-keyboards-and-on-the-fly-updating
|
||||
/// [inline mode]: https://core.telegram.org/bots/api#inline-mode
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
|
||||
pub struct CallbackQuery {
|
||||
/// An unique identifier for this query.
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::types::{ChatPermissions, ChatPhoto, Message};
|
||||
|
||||
/// This object represents a chat.
|
||||
///
|
||||
/// [The official docs](https://core.telegram.org/bots/api#chat).
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
|
||||
pub struct Chat {
|
||||
/// A unique identifier for this chat. This number may be greater than 32
|
||||
|
@ -21,6 +24,7 @@ pub struct Chat {
|
|||
pub photo: Option<ChatPhoto>,
|
||||
}
|
||||
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum ChatKind {
|
||||
|
@ -74,6 +78,7 @@ pub enum ChatKind {
|
|||
},
|
||||
}
|
||||
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
#[derive(Clone, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
#[serde(tag = "type")]
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum ChatAction {
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
use derive_more::{Display, From};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
/// A unique identifier for the target chat or username of the target channel
|
||||
/// (in the format `@channelusername`).
|
||||
#[derive(
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::types::User;
|
||||
|
||||
/// This object contains information about one member of the chat.
|
||||
|
|
|
@ -1,46 +1,41 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
/// Describes actions that a non-administrator user is allowed to take in a
|
||||
/// chat.
|
||||
///
|
||||
/// [The official docs](https://core.telegram.org/bots/api#chatpermissions).
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
#[derive(Clone, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)]
|
||||
pub struct ChatPermissions {
|
||||
/// `true`, if the user is allowed to send text messages, contacts,
|
||||
/// locations and venues.
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub can_send_messages: Option<bool>,
|
||||
|
||||
/// `true`, if the user is allowed to send audios, documents,
|
||||
/// photos, videos, video notes and voice notes, implies
|
||||
/// `can_send_messages`.
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub can_send_media_messages: Option<bool>,
|
||||
|
||||
/// `true`, if the user is allowed to send polls, implies
|
||||
/// `can_send_messages`.
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub can_send_polls: Option<bool>,
|
||||
|
||||
/// `true`, if the user is allowed to send animations, games, stickers and
|
||||
/// use inline bots, implies `can_send_media_messages`.
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub can_send_other_messages: Option<bool>,
|
||||
|
||||
/// `true`, if the user is allowed to add web page previews to
|
||||
/// their messages, implies `can_send_media_messages`.
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub can_add_web_page_previews: Option<bool>,
|
||||
|
||||
/// `true`, if the user is allowed to change the chat title, photo and
|
||||
/// other settings. Ignored in public supergroups.
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub can_change_info: Option<bool>,
|
||||
|
||||
/// `true`, if the user is allowed to invite new users to the chat.
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub can_invite_users: Option<bool>,
|
||||
|
||||
/// `true`, if the user is allowed to pin messages. Ignored in public
|
||||
/// supergroups.
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub can_pin_messages: Option<bool>,
|
||||
}
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
/// This object represents a chat photo.
|
||||
///
|
||||
/// [The official docs](https://core.telegram.org/bots/api#chatphoto).
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::types::{Location, User};
|
||||
|
||||
/// Represents a [result] of an inline query that was chosen by the user and
|
||||
|
@ -6,6 +8,7 @@ use crate::types::{Location, User};
|
|||
/// [The official docs](https://core.telegram.org/bots/api#choseninlineresult).
|
||||
///
|
||||
/// [result]: https://core.telegram.org/bots/api#inlinequeryresult
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
|
||||
pub struct ChosenInlineResult {
|
||||
/// The unique identifier for the result that was chosen.
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
/// This object represents a phone contact.
|
||||
///
|
||||
/// [The official docs](https://core.telegram.org/bots/api#contact).
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
#[derive(Clone, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)]
|
||||
pub struct Contact {
|
||||
/// A contact's phone number.
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::types::PhotoSize;
|
||||
|
||||
/// This object represents a general file (as opposed to [photos], [voice
|
||||
|
@ -8,6 +10,7 @@ use crate::types::PhotoSize;
|
|||
/// [photos]: https://core.telegram.org/bots/api#photosize
|
||||
/// [voice messages]: https://core.telegram.org/bots/api#voice
|
||||
/// [audio files]: https://core.telegram.org/bots/api#audio
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
#[derive(Clone, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)]
|
||||
pub struct Document {
|
||||
/// An identifier for this file.
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
/// Contains data required for decrypting and authenticating
|
||||
/// [`EncryptedPassportElement`]. See the [Telegram Passport Documentation] for
|
||||
/// a complete description of the data decryption and authentication processes.
|
||||
|
@ -7,6 +9,7 @@
|
|||
/// [`EncryptedPassportElement`]:
|
||||
/// crate::types::EncryptedPassportElement
|
||||
/// [Telegram Passport Documentation]: https://core.telegram.org/passport#receiving-information
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
#[derive(Clone, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)]
|
||||
pub struct EncryptedCredentials {
|
||||
/// Base64-encoded encrypted JSON-serialized data with unique user's
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use super::PassportFile;
|
||||
|
||||
/// Contains information about documents or other Telegram Passport elements
|
||||
|
@ -17,6 +19,7 @@ pub struct EncryptedPassportElement {
|
|||
pub kind: EncryptedPassportElementKind,
|
||||
}
|
||||
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
#[derive(Clone, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum EncryptedPassportElementKind {
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
/// This object represents a file ready to be downloaded. The file can be
|
||||
/// downloaded via the link `https://api.telegram.org/file/bot<token>/<file_path>`.
|
||||
/// It is guaranteed that the link will be valid for at least 1 hour. When the
|
||||
|
@ -14,6 +16,7 @@ pub struct File {
|
|||
/// File size, if known.
|
||||
pub file_size: u32,
|
||||
|
||||
// TODO: chacge "Use ..." to use bot.download...
|
||||
/// File path. Use `https://api.telegram.org/file/bot<token>/<file_path>`
|
||||
/// to get the file.
|
||||
pub file_path: String,
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::types::True;
|
||||
|
||||
/// Upon receiving a message with this object, Telegram clients will display a
|
||||
|
@ -9,6 +11,7 @@ use crate::types::True;
|
|||
/// [The official docs](https://core.telegram.org/bots/api#forcereply).
|
||||
///
|
||||
/// [privacy mode]: https://core.telegram.org/bots#privacy-mode
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
#[derive(Clone, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)]
|
||||
pub struct ForceReply {
|
||||
/// Shows reply interface to the user, as if they manually selected the
|
||||
|
@ -21,6 +24,5 @@ pub struct ForceReply {
|
|||
/// (has reply_to_message_id), sender of the original message.
|
||||
///
|
||||
/// [`Message`]: crate::types::Message
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub selective: Option<bool>,
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use serde::Deserialize;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::types::{Animation, MessageEntity, PhotoSize};
|
||||
|
||||
|
@ -6,6 +6,7 @@ use crate::types::{Animation, MessageEntity, PhotoSize};
|
|||
/// their short names will act as unique identifiers.
|
||||
///
|
||||
/// [@Botfather]: https://t.me/botfather
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
#[derive(Clone, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)]
|
||||
pub struct Game {
|
||||
/// Title of the game.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use serde::Deserialize;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::types::user::User;
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
/// This object represents one button of an inline keyboard.
|
||||
///
|
||||
/// [The official docs](https://core.telegram.org/bots/api#inlinekeyboardbutton).
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::types::InlineKeyboardButton;
|
||||
|
||||
/// This object represents an [inline keyboard] that appears right next to the
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::types::{Location, User};
|
||||
|
||||
/// This object represents an incoming inline query. When the user sends an
|
||||
/// empty query, your bot could return some default or trending results.
|
||||
///
|
||||
/// [The official docs](https://core.telegram.org/bots/api#inlinequery).
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
|
||||
pub struct InlineQuery {
|
||||
/// Unique identifier for this query.
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
#![allow(clippy::large_enum_variant)]
|
||||
|
||||
use derive_more::From;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::types::{
|
||||
InlineQueryResultArticle, InlineQueryResultAudio,
|
||||
InlineQueryResultCachedAudio, InlineQueryResultCachedDocument,
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::types::{InlineKeyboardMarkup, InputMessageContent};
|
||||
|
||||
/// Represents a link to an article or web page.
|
||||
///
|
||||
/// [The official docs](https://core.telegram.org/bots/api#inlinequeryresultarticle).
|
||||
#[serde_with_macros::skip_serializing_none]
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
|
||||
pub struct InlineQueryResultArticle {
|
||||
/// Unique identifier for this result, 1-64 Bytes.
|
||||
|
@ -15,31 +18,24 @@ pub struct InlineQueryResultArticle {
|
|||
pub input_message_content: InputMessageContent,
|
||||
|
||||
/// Inline keyboard attached to the message.
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub reply_markup: Option<InlineKeyboardMarkup>,
|
||||
|
||||
/// URL of the result.
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub url: Option<String>,
|
||||
|
||||
/// Pass `true`, if you don't want the URL to be shown in the
|
||||
/// message.
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub hide_url: Option<bool>,
|
||||
|
||||
/// Short description of the result.
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub description: Option<String>,
|
||||
|
||||
/// Url of the thumbnail for the result.
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub thumb_url: Option<String>,
|
||||
|
||||
/// Thumbnail width.
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub thumb_width: Option<i32>,
|
||||
|
||||
/// Thumbnail height.
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub thumb_height: Option<i32>,
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue