mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2024-11-22 08:13:47 +00:00
commit
47135a1b65
11
CHANGELOG.md
11
CHANGELOG.md
@ -1,5 +1,16 @@
|
|||||||
# TelegramBotAPI changelog
|
# TelegramBotAPI changelog
|
||||||
|
|
||||||
|
## 0.35.6
|
||||||
|
|
||||||
|
* `Common`:
|
||||||
|
* `Version`:
|
||||||
|
* `Klock`: `2.3.1` -> `2.3.3`
|
||||||
|
* `MicroUtils`: `0.5.19` -> `0.5.21`
|
||||||
|
* `Core`:
|
||||||
|
* All `FlowsUpdatesFilter` flows have been renamed and updated
|
||||||
|
* `Utils`:
|
||||||
|
* Extensions `allSentMessagesFlow` and `allSentMediaGroupsFlow` have been deprecated
|
||||||
|
|
||||||
## 0.35.5
|
## 0.35.5
|
||||||
|
|
||||||
**MIME TYPES FOR REQUESTS HAVE BEEN DEPRECATED DUE TO REDUNDANCY OF MIME TYPES IN FILES SENDING**
|
**MIME TYPES FOR REQUESTS HAVE BEEN DEPRECATED DUE TO REDUNDANCY OF MIME TYPES IN FILES SENDING**
|
||||||
|
@ -2,6 +2,15 @@
|
|||||||
|
|
||||||
# TelegramBotAPI
|
# TelegramBotAPI
|
||||||
|
|
||||||
|
- [TelegramBotAPI](#telegrambotapi)
|
||||||
|
* [Examples](#examples)
|
||||||
|
+ [Most common example](#most-common-example)
|
||||||
|
+ [Handling only last messages](#handling-only-last-messages)
|
||||||
|
+ [Build a little bit more complex behaviour](#build-a-little-bit-more-complex-behaviour)
|
||||||
|
+ [More examples](#more-examples)
|
||||||
|
|
||||||
|
<small><i><a href='http://ecotrust-canada.github.io/markdown-toc/'>Table of contents generated with markdown-toc</a></i></small>
|
||||||
|
|
||||||
Hello! This is a set of libraries for working with Telegram Bot API.
|
Hello! This is a set of libraries for working with Telegram Bot API.
|
||||||
|
|
||||||
| Common info | [![Awesome Kotlin Badge](https://kotlin.link/awesome-kotlin.svg)](https://github.com/KotlinBy/awesome-kotlin) [![Build Status](https://github.com/InsanusMokrassar/TelegramBotAPI/workflows/Build/badge.svg)](https://github.com/InsanusMokrassar/TelegramBotAPI/actions) [Small survey](https://forms.gle/2Hex2ynbHWHhi1KY7)|
|
| Common info | [![Awesome Kotlin Badge](https://kotlin.link/awesome-kotlin.svg)](https://github.com/KotlinBy/awesome-kotlin) [![Build Status](https://github.com/InsanusMokrassar/TelegramBotAPI/workflows/Build/badge.svg)](https://github.com/InsanusMokrassar/TelegramBotAPI/actions) [Small survey](https://forms.gle/2Hex2ynbHWHhi1KY7)|
|
||||||
|
1
TelegramBotAPI.drawio
Normal file
1
TelegramBotAPI.drawio
Normal file
File diff suppressed because one or more lines are too long
@ -1,311 +0,0 @@
|
|||||||
<?xml version="1.0"?>
|
|
||||||
<minder version="1.11.3">
|
|
||||||
<theme name="default" label="Default" index="-1"/>
|
|
||||||
<styles>
|
|
||||||
<style level="0" isset="true" branchmargin="100" linktype="curved" linkwidth="5" linkarrow="true" linkdash="solid" nodeborder="bracket" nodewidth="200" nodeborderwidth="3" nodefill="false" nodemargin="11" nodepadding="5" nodefont="Roboto Mono 14" nodemarkup="true" connectiondash="dotted" connectionlwidth="2" connectionarrow="fromto" connectionpadding="3" connectionfont="Sans 10" connectiontwidth="100"/>
|
|
||||||
<style level="1" isset="true" branchmargin="100" linktype="curved" linkwidth="5" linkarrow="true" linkdash="solid" nodeborder="bracket" nodewidth="200" nodeborderwidth="3" nodefill="false" nodemargin="11" nodepadding="5" nodefont="Roboto Mono 14" nodemarkup="true" connectiondash="dotted" connectionlwidth="2" connectionarrow="fromto" connectionpadding="3" connectionfont="Sans 10" connectiontwidth="100"/>
|
|
||||||
<style level="2" isset="true" branchmargin="100" linktype="curved" linkwidth="5" linkarrow="true" linkdash="solid" nodeborder="bracket" nodewidth="200" nodeborderwidth="3" nodefill="false" nodemargin="11" nodepadding="5" nodefont="Roboto Mono 14" nodemarkup="true" connectiondash="dotted" connectionlwidth="2" connectionarrow="fromto" connectionpadding="3" connectionfont="Sans 10" connectiontwidth="100"/>
|
|
||||||
<style level="3" isset="true" branchmargin="100" linktype="curved" linkwidth="5" linkarrow="true" linkdash="solid" nodeborder="bracket" nodewidth="200" nodeborderwidth="3" nodefill="false" nodemargin="11" nodepadding="5" nodefont="Roboto Mono 14" nodemarkup="true" connectiondash="dotted" connectionlwidth="2" connectionarrow="fromto" connectionpadding="3" connectionfont="Sans 10" connectiontwidth="100"/>
|
|
||||||
<style level="4" isset="true" branchmargin="100" linktype="curved" linkwidth="5" linkarrow="true" linkdash="solid" nodeborder="bracket" nodewidth="200" nodeborderwidth="3" nodefill="false" nodemargin="11" nodepadding="5" nodefont="Roboto Mono 14" nodemarkup="true" connectiondash="dotted" connectionlwidth="2" connectionarrow="fromto" connectionpadding="3" connectionfont="Sans 10" connectiontwidth="100"/>
|
|
||||||
<style level="5" isset="true" branchmargin="100" linktype="curved" linkwidth="5" linkarrow="true" linkdash="solid" nodeborder="bracket" nodewidth="200" nodeborderwidth="3" nodefill="false" nodemargin="11" nodepadding="5" nodefont="Roboto Mono 14" nodemarkup="true" connectiondash="dotted" connectionlwidth="2" connectionarrow="fromto" connectionpadding="3" connectionfont="Sans 10" connectiontwidth="100"/>
|
|
||||||
<style level="6" isset="true" branchmargin="100" linktype="curved" linkwidth="5" linkarrow="true" linkdash="solid" nodeborder="bracket" nodewidth="200" nodeborderwidth="3" nodefill="false" nodemargin="11" nodepadding="5" nodefont="Roboto Mono 14" nodemarkup="true" connectiondash="dotted" connectionlwidth="2" connectionarrow="fromto" connectionpadding="3" connectionfont="Sans 10" connectiontwidth="100"/>
|
|
||||||
<style level="7" isset="true" branchmargin="100" linktype="curved" linkwidth="5" linkarrow="true" linkdash="solid" nodeborder="bracket" nodewidth="200" nodeborderwidth="3" nodefill="false" nodemargin="11" nodepadding="5" nodefont="Roboto Mono 14" nodemarkup="true" connectiondash="dotted" connectionlwidth="2" connectionarrow="fromto" connectionpadding="3" connectionfont="Sans 10" connectiontwidth="100"/>
|
|
||||||
<style level="8" isset="true" branchmargin="100" linktype="curved" linkwidth="5" linkarrow="true" linkdash="solid" nodeborder="bracket" nodewidth="200" nodeborderwidth="3" nodefill="false" nodemargin="11" nodepadding="5" nodefont="Roboto Mono 14" nodemarkup="true" connectiondash="dotted" connectionlwidth="2" connectionarrow="fromto" connectionpadding="3" connectionfont="Sans 10" connectiontwidth="100"/>
|
|
||||||
<style level="9" isset="true" branchmargin="100" linktype="curved" linkwidth="5" linkarrow="true" linkdash="solid" nodeborder="bracket" nodewidth="200" nodeborderwidth="3" nodefill="false" nodemargin="11" nodepadding="5" nodefont="Roboto Mono 14" nodemarkup="true" connectiondash="dotted" connectionlwidth="2" connectionarrow="fromto" connectionpadding="3" connectionfont="Sans 10" connectiontwidth="100"/>
|
|
||||||
<style level="10" isset="true" branchmargin="100" linktype="curved" linkwidth="5" linkarrow="true" linkdash="solid" nodeborder="bracket" nodewidth="200" nodeborderwidth="3" nodefill="false" nodemargin="11" nodepadding="5" nodefont="Roboto Mono 14" nodemarkup="true" connectiondash="dotted" connectionlwidth="2" connectionarrow="fromto" connectionpadding="3" connectionfont="Sans 10" connectiontwidth="100"/>
|
|
||||||
</styles>
|
|
||||||
<drawarea x="-950.47548925255796" y="-49.650554065281653" scale="0.5"/>
|
|
||||||
<images/>
|
|
||||||
<nodes>
|
|
||||||
<node id="0" posx="1378.798161778599" posy="159.04571601189673" width="472" height="168" side="top" fold="false" treesize="743" layout="Downwards" group="false">
|
|
||||||
<style branchmargin="100" linktype="curved" linkwidth="5" linkarrow="true" linkdash="solid" nodeborder="bracket" nodewidth="439" nodeborderwidth="3" nodefill="false" nodemargin="11" nodepadding="5" nodefont="Roboto Mono 14" nodemarkup="true"/>
|
|
||||||
<nodename posx="1394.798161778599" posy="175.04571601189673" maxwidth="488.96484375">
|
|
||||||
<text data="tgbotapi.core Root project with API. It is not recommended to use its requests directly and better to use at least tgbotapi.extensions.api"/>
|
|
||||||
</nodename>
|
|
||||||
<nodenote></nodenote>
|
|
||||||
<nodes>
|
|
||||||
<node id="1" posx="1411.798161778599" posy="427.04571601189673" width="406" height="145" side="bottom" fold="false" treesize="743" color="#68b723" colorroot="true" layout="Downwards" group="false">
|
|
||||||
<style branchmargin="100" linktype="curved" linkwidth="5" linkarrow="true" linkdash="solid" nodeborder="none" nodewidth="394" nodeborderwidth="3" nodefill="false" nodemargin="11" nodepadding="5" nodefont="Roboto Mono 14" nodemarkup="true"/>
|
|
||||||
<nodename posx="1427.798161778599" posy="443.04571601189673" maxwidth="419.451171875">
|
|
||||||
<text data="TelegramBotAPI extensions Family of projects which are fully based on TelegramBotAPI and extend its functionality"/>
|
|
||||||
</nodename>
|
|
||||||
<nodenote></nodenote>
|
|
||||||
<nodes>
|
|
||||||
<node id="2" posx="1247.298161778599" posy="672.04571601189673" width="296" height="191" side="bottom" fold="false" treesize="296" color="#68b723" colorroot="true" layout="Downwards" group="false">
|
|
||||||
<style branchmargin="100" linktype="curved" linkwidth="5" linkarrow="true" linkdash="solid" nodeborder="bracket" nodewidth="203" nodeborderwidth="3" nodefill="false" nodemargin="11" nodepadding="5" nodefont="Roboto Mono 14" nodemarkup="true"/>
|
|
||||||
<nodename posx="1263.298161778599" posy="688.04571601189673" maxwidth="295.90315755208337">
|
|
||||||
<text data="tgbotapi.extensions.api Extensions project for make requests more look like in the Telegram Bot API and give opportunity to use it's easier"/>
|
|
||||||
</nodename>
|
|
||||||
<nodenote></nodenote>
|
|
||||||
</node>
|
|
||||||
<node id="3" posx="1609.298161778599" posy="672.04571601189673" width="307" height="168" side="bottom" fold="false" treesize="439" color="#68b723" colorroot="true" layout="Downwards" group="false">
|
|
||||||
<style branchmargin="100" linktype="curved" linkwidth="5" linkarrow="true" linkdash="solid" nodeborder="bracket" nodewidth="286" nodeborderwidth="3" nodefill="false" nodemargin="11" nodepadding="5" nodefont="Roboto Mono 14" nodemarkup="true"/>
|
|
||||||
<nodename posx="1625.298161778599" posy="688.04571601189673" maxwidth="299.252197265625">
|
|
||||||
<text data="tgbotapi.extensions.utils Extensions project with utils things which will make easier different operations"/>
|
|
||||||
</nodename>
|
|
||||||
<nodenote></nodenote>
|
|
||||||
<nodes>
|
|
||||||
<node id="4" posx="1543.298161778599" posy="940.04571601189673" width="439" height="122" side="bottom" fold="false" treesize="439" color="#68b723" colorroot="false" layout="Downwards" group="false">
|
|
||||||
<style branchmargin="100" linktype="curved" linkwidth="5" linkarrow="true" linkdash="solid" nodeborder="bracket" nodewidth="387" nodeborderwidth="3" nodefill="false" nodemargin="11" nodepadding="5" nodefont="Roboto Mono 14" nodemarkup="true"/>
|
|
||||||
<nodename posx="1559.298161778599" posy="956.04571601189673" maxwidth="408.97932942708348">
|
|
||||||
<text data="tgbotapi.extensions.behaviour_builder Extension project for building bot behaviour via special dsl"/>
|
|
||||||
</nodename>
|
|
||||||
<nodenote></nodenote>
|
|
||||||
</node>
|
|
||||||
</nodes>
|
|
||||||
</node>
|
|
||||||
</nodes>
|
|
||||||
</node>
|
|
||||||
</nodes>
|
|
||||||
</node>
|
|
||||||
<node id="5" posx="1391.8445078072455" posy="1155.6062730594231" width="461" height="236" side="bottom" fold="false" treesize="461" layout="Downwards" group="false">
|
|
||||||
<style branchmargin="100" linktype="curved" linkwidth="5" linkarrow="true" linkdash="solid" nodeborder="bracket" nodewidth="430" nodeborderwidth="3" nodefill="false" nodemargin="11" nodepadding="5" nodefont="Roboto Mono 14" nodemarkup="true"/>
|
|
||||||
<nodename posx="1407.8445078072455" posy="1171.6062730594231" maxwidth="453.885498046875">
|
|
||||||
<text data="tgbotapi Here included all available TelegramBotAPI libraries: * tgbotapi.core * tgbotapi.extensions.api * tgbotapi.extensions.utils * tgbotapi.extensions.behaviour_builder">
|
|
||||||
<color>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="67" end="68" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="84" end="85" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="111" end="112" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
<range start="139" end="140" extra="rgb(255,0,0)"/>
|
|
||||||
</color>
|
|
||||||
</text>
|
|
||||||
</nodename>
|
|
||||||
<nodenote></nodenote>
|
|
||||||
</node>
|
|
||||||
</nodes>
|
|
||||||
<groups/>
|
|
||||||
<connections>
|
|
||||||
<connection from_id="2" to_id="5" drag_x="1475.8213347929195" drag_y="1014.8259945356604" color="#777777">
|
|
||||||
<style connectiondash="dotted" connectionlwidth="2" connectionarrow="fromto" connectionpadding="3" connectionfont="Sans 10" connectiontwidth="100"/>
|
|
||||||
<title></title>
|
|
||||||
<note></note>
|
|
||||||
</connection>
|
|
||||||
<connection from_id="4" to_id="5" drag_x="1691.5447998046875" drag_y="1107.00439453125" color="#777777">
|
|
||||||
<style connectiondash="dotted" connectionlwidth="2" connectionarrow="fromto" connectionpadding="3" connectionfont="Sans 10" connectiontwidth="100"/>
|
|
||||||
<title></title>
|
|
||||||
<note></note>
|
|
||||||
</connection>
|
|
||||||
<connection from_id="3" to_id="5" drag_x="1483.48876953125" drag_y="896.18115234375">
|
|
||||||
<style connectiondash="dotted" connectionlwidth="2" connectionarrow="fromto" connectionpadding="3" connectionfont="Sans 10" connectiontwidth="100"/>
|
|
||||||
<title></title>
|
|
||||||
<note></note>
|
|
||||||
</connection>
|
|
||||||
</connections>
|
|
||||||
<stickers/>
|
|
||||||
</minder>
|
|
@ -1,3 +1,3 @@
|
|||||||
dokka_version=1.4.32
|
dokka_version=1.5.0
|
||||||
|
|
||||||
org.gradle.jvmargs=-Xmx1024m
|
org.gradle.jvmargs=-Xmx1024m
|
||||||
|
@ -8,15 +8,15 @@ kotlin.incremental.js=true
|
|||||||
kotlin_version=1.5.21
|
kotlin_version=1.5.21
|
||||||
kotlin_coroutines_version=1.5.1
|
kotlin_coroutines_version=1.5.1
|
||||||
kotlin_serialisation_runtime_version=1.2.2
|
kotlin_serialisation_runtime_version=1.2.2
|
||||||
klock_version=2.3.1
|
klock_version=2.3.3
|
||||||
uuid_version=0.3.0
|
uuid_version=0.3.0
|
||||||
ktor_version=1.6.2
|
ktor_version=1.6.2
|
||||||
|
|
||||||
micro_utils_version=0.5.19
|
micro_utils_version=0.5.21
|
||||||
|
|
||||||
javax_activation_version=1.1.1
|
javax_activation_version=1.1.1
|
||||||
|
|
||||||
library_group=dev.inmo
|
library_group=dev.inmo
|
||||||
library_version=0.35.5
|
library_version=0.35.6
|
||||||
|
|
||||||
github_release_plugin_version=2.2.12
|
github_release_plugin_version=2.2.12
|
||||||
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
|
|||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
|
||||||
|
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 9.0 KiB |
@ -2,6 +2,20 @@
|
|||||||
|
|
||||||
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/dev.inmo/tgbotapi.core/badge.svg)](https://maven-badges.herokuapp.com/maven-central/dev.inmo/tgbotapi.core)
|
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/dev.inmo/tgbotapi.core/badge.svg)](https://maven-badges.herokuapp.com/maven-central/dev.inmo/tgbotapi.core)
|
||||||
|
|
||||||
|
- [TelegramBotAPI Core](#telegrambotapi-core)
|
||||||
|
* [What is it?](#what-is-it-)
|
||||||
|
* [Compatibility](#compatibility)
|
||||||
|
* [How to implement library?](#how-to-implement-library-)
|
||||||
|
+ [Maven](#maven)
|
||||||
|
+ [Gradle](#gradle)
|
||||||
|
* [How to work with library?](#how-to-work-with-library-)
|
||||||
|
+ [Types](#types)
|
||||||
|
+ [Requests](#requests)
|
||||||
|
+ [RequestsExecutor](#requestsexecutor)
|
||||||
|
+ [Passport](#passport)
|
||||||
|
|
||||||
|
<small><i><a href='http://ecotrust-canada.github.io/markdown-toc/'>Table of contents generated with markdown-toc</a></i></small>
|
||||||
|
|
||||||
## What is it?
|
## What is it?
|
||||||
|
|
||||||
Library for Object-Oriented and type-safe work with Telegram Bot API. Most part of some specific solves or unuseful
|
Library for Object-Oriented and type-safe work with Telegram Bot API. Most part of some specific solves or unuseful
|
||||||
|
@ -14,24 +14,79 @@ interface FlowsUpdatesFilter : UpdatesFilter {
|
|||||||
val allUpdatesFlow: Flow<Update>
|
val allUpdatesFlow: Flow<Update>
|
||||||
val allUpdatesWithoutMediaGroupsGroupingFlow: Flow<Update>
|
val allUpdatesWithoutMediaGroupsGroupingFlow: Flow<Update>
|
||||||
|
|
||||||
|
val messagesFlow: Flow<MessageUpdate>
|
||||||
|
val messageMediaGroupsFlow: Flow<MessageMediaGroupUpdate>
|
||||||
|
val editedMessagesFlow: Flow<EditMessageUpdate>
|
||||||
|
val editedMessageMediaGroupsFlow: Flow<EditMessageMediaGroupUpdate>
|
||||||
|
val channelPostsFlow: Flow<ChannelPostUpdate>
|
||||||
|
val channelPostMediaGroupsFlow: Flow<ChannelPostMediaGroupUpdate>
|
||||||
|
val editedChannelPostsFlow: Flow<EditChannelPostUpdate>
|
||||||
|
val editedChannelPostMediaGroupsFlow: Flow<EditChannelPostMediaGroupUpdate>
|
||||||
|
val chosenInlineResultsFlow: Flow<ChosenInlineResultUpdate>
|
||||||
|
val inlineQueriesFlow: Flow<InlineQueryUpdate>
|
||||||
|
val callbackQueriesFlow: Flow<CallbackQueryUpdate>
|
||||||
|
val shippingQueriesFlow: Flow<ShippingQueryUpdate>
|
||||||
|
val preCheckoutQueriesFlow: Flow<PreCheckoutQueryUpdate>
|
||||||
|
val pollsFlow: Flow<PollUpdate>
|
||||||
|
val pollAnswersFlow: Flow<PollAnswerUpdate>
|
||||||
|
val chatMemberUpdatesFlow: Flow<CommonChatMemberUpdatedUpdate>
|
||||||
|
val myChatMemberUpdatesFlow: Flow<MyChatMemberUpdatedUpdate>
|
||||||
|
val unknownUpdatesFlow: Flow<UnknownUpdate>
|
||||||
|
|
||||||
|
@Deprecated("Renamed", ReplaceWith("messagesFlow"))
|
||||||
val messageFlow: Flow<MessageUpdate>
|
val messageFlow: Flow<MessageUpdate>
|
||||||
|
get() = messagesFlow
|
||||||
|
@Deprecated("Renamed", ReplaceWith("messageMediaGroupsFlow"))
|
||||||
val messageMediaGroupFlow: Flow<MessageMediaGroupUpdate>
|
val messageMediaGroupFlow: Flow<MessageMediaGroupUpdate>
|
||||||
|
get() = messageMediaGroupsFlow
|
||||||
|
@Deprecated("Renamed", ReplaceWith("editedMessagesFlow"))
|
||||||
val editedMessageFlow: Flow<EditMessageUpdate>
|
val editedMessageFlow: Flow<EditMessageUpdate>
|
||||||
|
get() = editedMessagesFlow
|
||||||
|
@Deprecated("Renamed", ReplaceWith("editedMessageMediaGroupsFlow"))
|
||||||
val editedMessageMediaGroupFlow: Flow<EditMessageMediaGroupUpdate>
|
val editedMessageMediaGroupFlow: Flow<EditMessageMediaGroupUpdate>
|
||||||
|
get() = editedMessageMediaGroupsFlow
|
||||||
|
@Deprecated("Renamed", ReplaceWith("channelPostsFlow"))
|
||||||
val channelPostFlow: Flow<ChannelPostUpdate>
|
val channelPostFlow: Flow<ChannelPostUpdate>
|
||||||
|
get() = channelPostsFlow
|
||||||
|
@Deprecated("Renamed", ReplaceWith("channelPostMediaGroupsFlow"))
|
||||||
val channelPostMediaGroupFlow: Flow<ChannelPostMediaGroupUpdate>
|
val channelPostMediaGroupFlow: Flow<ChannelPostMediaGroupUpdate>
|
||||||
|
get() = channelPostMediaGroupsFlow
|
||||||
|
@Deprecated("Renamed", ReplaceWith("editedChannelPostsFlow"))
|
||||||
val editedChannelPostFlow: Flow<EditChannelPostUpdate>
|
val editedChannelPostFlow: Flow<EditChannelPostUpdate>
|
||||||
|
get() = editedChannelPostsFlow
|
||||||
|
@Deprecated("Renamed", ReplaceWith("editedChannelPostMediaGroupsFlow"))
|
||||||
val editedChannelPostMediaGroupFlow: Flow<EditChannelPostMediaGroupUpdate>
|
val editedChannelPostMediaGroupFlow: Flow<EditChannelPostMediaGroupUpdate>
|
||||||
|
get() = editedChannelPostMediaGroupsFlow
|
||||||
|
@Deprecated("Renamed", ReplaceWith("chosenInlineResultsFlow"))
|
||||||
val chosenInlineResultFlow: Flow<ChosenInlineResultUpdate>
|
val chosenInlineResultFlow: Flow<ChosenInlineResultUpdate>
|
||||||
|
get() = chosenInlineResultsFlow
|
||||||
|
@Deprecated("Renamed", ReplaceWith("inlineQueriesFlow"))
|
||||||
val inlineQueryFlow: Flow<InlineQueryUpdate>
|
val inlineQueryFlow: Flow<InlineQueryUpdate>
|
||||||
|
get() = inlineQueriesFlow
|
||||||
|
@Deprecated("Renamed", ReplaceWith("callbackQueriesFlow"))
|
||||||
val callbackQueryFlow: Flow<CallbackQueryUpdate>
|
val callbackQueryFlow: Flow<CallbackQueryUpdate>
|
||||||
|
get() = callbackQueriesFlow
|
||||||
|
@Deprecated("Renamed", ReplaceWith("shippingQueriesFlow"))
|
||||||
val shippingQueryFlow: Flow<ShippingQueryUpdate>
|
val shippingQueryFlow: Flow<ShippingQueryUpdate>
|
||||||
|
get() = shippingQueriesFlow
|
||||||
|
@Deprecated("Renamed", ReplaceWith("preCheckoutQueriesFlow"))
|
||||||
val preCheckoutQueryFlow: Flow<PreCheckoutQueryUpdate>
|
val preCheckoutQueryFlow: Flow<PreCheckoutQueryUpdate>
|
||||||
|
get() = preCheckoutQueriesFlow
|
||||||
|
@Deprecated("Renamed", ReplaceWith("pollsFlow"))
|
||||||
val pollFlow: Flow<PollUpdate>
|
val pollFlow: Flow<PollUpdate>
|
||||||
|
get() = pollsFlow
|
||||||
|
@Deprecated("Renamed", ReplaceWith("pollAnswersFlow"))
|
||||||
val pollAnswerFlow: Flow<PollAnswerUpdate>
|
val pollAnswerFlow: Flow<PollAnswerUpdate>
|
||||||
|
get() = pollAnswersFlow
|
||||||
|
@Deprecated("Renamed", ReplaceWith("chatMemberUpdatesFlow"))
|
||||||
val chatMemberUpdatedFlow: Flow<CommonChatMemberUpdatedUpdate>
|
val chatMemberUpdatedFlow: Flow<CommonChatMemberUpdatedUpdate>
|
||||||
|
get() = chatMemberUpdatesFlow
|
||||||
|
@Deprecated("Renamed", ReplaceWith("myChatMemberUpdatesFlow"))
|
||||||
val myChatMemberUpdatedFlow: Flow<MyChatMemberUpdatedUpdate>
|
val myChatMemberUpdatedFlow: Flow<MyChatMemberUpdatedUpdate>
|
||||||
|
get() = myChatMemberUpdatesFlow
|
||||||
|
@Deprecated("Renamed", ReplaceWith("unknownUpdatesFlow"))
|
||||||
val unknownUpdateTypeFlow: Flow<UnknownUpdate>
|
val unknownUpdateTypeFlow: Flow<UnknownUpdate>
|
||||||
|
get() = unknownUpdatesFlow
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -63,22 +118,22 @@ class DefaultFlowsUpdatesFilter(
|
|||||||
updatesSharedFlow.emit(it)
|
updatesSharedFlow.emit(it)
|
||||||
}
|
}
|
||||||
|
|
||||||
override val messageFlow: Flow<MessageUpdate> = allUpdatesFlow.filterIsInstance()
|
override val messagesFlow: Flow<MessageUpdate> = allUpdatesFlow.filterIsInstance()
|
||||||
override val messageMediaGroupFlow: Flow<MessageMediaGroupUpdate> = allUpdatesFlow.filterIsInstance()
|
override val messageMediaGroupsFlow: Flow<MessageMediaGroupUpdate> = allUpdatesFlow.filterIsInstance()
|
||||||
override val editedMessageFlow: Flow<EditMessageUpdate> = allUpdatesFlow.filterIsInstance()
|
override val editedMessagesFlow: Flow<EditMessageUpdate> = allUpdatesFlow.filterIsInstance()
|
||||||
override val editedMessageMediaGroupFlow: Flow<EditMessageMediaGroupUpdate> = allUpdatesFlow.filterIsInstance()
|
override val editedMessageMediaGroupsFlow: Flow<EditMessageMediaGroupUpdate> = allUpdatesFlow.filterIsInstance()
|
||||||
override val channelPostFlow: Flow<ChannelPostUpdate> = allUpdatesFlow.filterIsInstance()
|
override val channelPostsFlow: Flow<ChannelPostUpdate> = allUpdatesFlow.filterIsInstance()
|
||||||
override val channelPostMediaGroupFlow: Flow<ChannelPostMediaGroupUpdate> = allUpdatesFlow.filterIsInstance()
|
override val channelPostMediaGroupsFlow: Flow<ChannelPostMediaGroupUpdate> = allUpdatesFlow.filterIsInstance()
|
||||||
override val editedChannelPostFlow: Flow<EditChannelPostUpdate> = allUpdatesFlow.filterIsInstance()
|
override val editedChannelPostsFlow: Flow<EditChannelPostUpdate> = allUpdatesFlow.filterIsInstance()
|
||||||
override val editedChannelPostMediaGroupFlow: Flow<EditChannelPostMediaGroupUpdate> = allUpdatesFlow.filterIsInstance()
|
override val editedChannelPostMediaGroupsFlow: Flow<EditChannelPostMediaGroupUpdate> = allUpdatesFlow.filterIsInstance()
|
||||||
override val chosenInlineResultFlow: Flow<ChosenInlineResultUpdate> = allUpdatesFlow.filterIsInstance()
|
override val chosenInlineResultsFlow: Flow<ChosenInlineResultUpdate> = allUpdatesFlow.filterIsInstance()
|
||||||
override val inlineQueryFlow: Flow<InlineQueryUpdate> = allUpdatesFlow.filterIsInstance()
|
override val inlineQueriesFlow: Flow<InlineQueryUpdate> = allUpdatesFlow.filterIsInstance()
|
||||||
override val callbackQueryFlow: Flow<CallbackQueryUpdate> = allUpdatesFlow.filterIsInstance()
|
override val callbackQueriesFlow: Flow<CallbackQueryUpdate> = allUpdatesFlow.filterIsInstance()
|
||||||
override val shippingQueryFlow: Flow<ShippingQueryUpdate> = allUpdatesFlow.filterIsInstance()
|
override val shippingQueriesFlow: Flow<ShippingQueryUpdate> = allUpdatesFlow.filterIsInstance()
|
||||||
override val preCheckoutQueryFlow: Flow<PreCheckoutQueryUpdate> = allUpdatesFlow.filterIsInstance()
|
override val preCheckoutQueriesFlow: Flow<PreCheckoutQueryUpdate> = allUpdatesFlow.filterIsInstance()
|
||||||
override val pollFlow: Flow<PollUpdate> = allUpdatesFlow.filterIsInstance()
|
override val pollsFlow: Flow<PollUpdate> = allUpdatesFlow.filterIsInstance()
|
||||||
override val pollAnswerFlow: Flow<PollAnswerUpdate> = allUpdatesFlow.filterIsInstance()
|
override val pollAnswersFlow: Flow<PollAnswerUpdate> = allUpdatesFlow.filterIsInstance()
|
||||||
override val chatMemberUpdatedFlow: Flow<CommonChatMemberUpdatedUpdate> = allUpdatesFlow.filterIsInstance()
|
override val chatMemberUpdatesFlow: Flow<CommonChatMemberUpdatedUpdate> = allUpdatesFlow.filterIsInstance()
|
||||||
override val myChatMemberUpdatedFlow: Flow<MyChatMemberUpdatedUpdate> = allUpdatesFlow.filterIsInstance()
|
override val myChatMemberUpdatesFlow: Flow<MyChatMemberUpdatedUpdate> = allUpdatesFlow.filterIsInstance()
|
||||||
override val unknownUpdateTypeFlow: Flow<UnknownUpdate> = allUpdatesFlow.filterIsInstance()
|
override val unknownUpdatesFlow: Flow<UnknownUpdate> = allUpdatesFlow.filterIsInstance()
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,19 @@
|
|||||||
# TelegramBotAPI extensions
|
# TelegramBotAPI extensions
|
||||||
|
|
||||||
[![Download](https://api.bintray.com/packages/insanusmokrassar/TelegramBotAPI/tgbotapi.extensions.api/images/download.svg) ](https://bintray.com/insanusmokrassar/TelegramBotAPI/tgbotapi.extensions.api/_latestVersion)
|
|
||||||
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/dev.inmo/tgbotapi.extensions.api/badge.svg)](https://maven-badges.herokuapp.com/maven-central/dev.inmo/tgbotapi.extensions.api)
|
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/dev.inmo/tgbotapi.extensions.api/badge.svg)](https://maven-badges.herokuapp.com/maven-central/dev.inmo/tgbotapi.extensions.api)
|
||||||
|
|
||||||
|
- [TelegramBotAPI extensions](#telegrambotapi-extensions)
|
||||||
|
* [What is it?](#what-is-it)
|
||||||
|
* [Compatibility](#compatibility)
|
||||||
|
* [How to implement library?](#how-to-implement-library)
|
||||||
|
+ [Maven](#maven)
|
||||||
|
+ [Gradle](#gradle)
|
||||||
|
* [Example of usage and comparison with `TelegramBotAPI`](#example-of-usage-and-comparison-with-telegrambotapi)
|
||||||
|
* [Updates](#updates)
|
||||||
|
+ [Alternative way](#alternative-way)
|
||||||
|
|
||||||
|
<small><i><a href='http://ecotrust-canada.github.io/markdown-toc/'>Table of contents generated with markdown-toc</a></i></small>
|
||||||
|
|
||||||
## What is it?
|
## What is it?
|
||||||
|
|
||||||
It is wrapper library for [TelegramBotAPI Core](../tgbotapi.core/README.md). Here you can find extensions for
|
It is wrapper library for [TelegramBotAPI Core](../tgbotapi.core/README.md). Here you can find extensions for
|
||||||
|
@ -21,6 +21,10 @@ import kotlinx.coroutines.launch
|
|||||||
import kotlin.math.ceil
|
import kotlin.math.ceil
|
||||||
|
|
||||||
val defaultLivePeriodDelayMillis = (livePeriodLimit.last - 60L) * 1000L
|
val defaultLivePeriodDelayMillis = (livePeriodLimit.last - 60L) * 1000L
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see startLiveLocation
|
||||||
|
*/
|
||||||
class LiveLocationProvider internal constructor(
|
class LiveLocationProvider internal constructor(
|
||||||
private val requestsExecutor: TelegramBot,
|
private val requestsExecutor: TelegramBot,
|
||||||
scope: CoroutineScope,
|
scope: CoroutineScope,
|
||||||
|
@ -1,5 +1,16 @@
|
|||||||
# TelegramBotAPI Behaviour Builder Extensions
|
# TelegramBotAPI Behaviour Builder Extensions
|
||||||
|
|
||||||
|
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/dev.inmo/tgbotapi.extensions.behaviour_builder/badge.svg)](https://maven-badges.herokuapp.com/maven-central/dev.inmo/tgbotapi.extensions.behaviour_builder)
|
||||||
|
|
||||||
|
- [TelegramBotAPI Behaviour Builder Extensions](#telegrambotapi-behaviour-builder-extensions)
|
||||||
|
* [What is it?](#what-is-it)
|
||||||
|
* [Triggers](#triggers)
|
||||||
|
* [Waiters](#waiters)
|
||||||
|
|
||||||
|
<small><i><a href='http://ecotrust-canada.github.io/markdown-toc/'>Table of contents generated with markdown-toc</a></i></small>
|
||||||
|
|
||||||
|
## What is it?
|
||||||
|
|
||||||
This extension was created to make it more simple to build bot steps handling. Usually, you must use something like:
|
This extension was created to make it more simple to build bot steps handling. Usually, you must use something like:
|
||||||
|
|
||||||
```kotlin
|
```kotlin
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# TelegramBotAPI Util Extensions
|
# TelegramBotAPI Util Extensions
|
||||||
|
|
||||||
|
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/dev.inmo/tgbotapi.extensions.utils/badge.svg)](https://maven-badges.herokuapp.com/maven-central/dev.inmo/tgbotapi.extensions.utils)
|
||||||
|
|
||||||
- [TelegramBotAPI Util Extensions](#telegrambotapi-util-extensions)
|
- [TelegramBotAPI Util Extensions](#telegrambotapi-util-extensions)
|
||||||
* [What is it?](#what-is-it)
|
* [What is it?](#what-is-it)
|
||||||
@ -9,7 +10,7 @@
|
|||||||
* [How to use?](#how-to-use)
|
* [How to use?](#how-to-use)
|
||||||
+ [Updates](#updates)
|
+ [Updates](#updates)
|
||||||
- [Long polling](#long-polling)
|
- [Long polling](#long-polling)
|
||||||
- [WebHooks (currently JVM-only)](#webhooks--currently-jvm-only)
|
- [WebHooks (currently JVM-only)](#webhooks-currently-jvm-only)
|
||||||
+ [Filters](#filters)
|
+ [Filters](#filters)
|
||||||
- [Sent messages](#sent-messages)
|
- [Sent messages](#sent-messages)
|
||||||
* [Common messages](#common-messages)
|
* [Common messages](#common-messages)
|
||||||
@ -19,9 +20,6 @@
|
|||||||
|
|
||||||
<small><i><a href='http://ecotrust-canada.github.io/markdown-toc/'>Table of contents generated with markdown-toc</a></i></small>
|
<small><i><a href='http://ecotrust-canada.github.io/markdown-toc/'>Table of contents generated with markdown-toc</a></i></small>
|
||||||
|
|
||||||
[![Download](https://api.bintray.com/packages/insanusmokrassar/TelegramBotAPI/tgbotapi.extensions.utils/images/download.svg) ](https://bintray.com/insanusmokrassar/TelegramBotAPI/tgbotapi.extensions.utils/_latestVersion)
|
|
||||||
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/dev.inmo/tgbotapi.extensions.utils/badge.svg)](https://maven-badges.herokuapp.com/maven-central/dev.inmo/tgbotapi.extensions.utils)
|
|
||||||
|
|
||||||
## What is it?
|
## What is it?
|
||||||
|
|
||||||
It is wrapper library for [TelegramBotAPI Core](../tgbotapi.core/README.md). Currently, this library contains some usefull filters for commands, updates types and different others.
|
It is wrapper library for [TelegramBotAPI Core](../tgbotapi.core/README.md). Currently, this library contains some usefull filters for commands, updates types and different others.
|
||||||
|
@ -6,14 +6,16 @@ import dev.inmo.tgbotapi.updateshandlers.FlowsUpdatesFilter
|
|||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.merge
|
import kotlinx.coroutines.flow.merge
|
||||||
|
|
||||||
|
@Deprecated("Will be removed soon", ReplaceWith("messagesFlow + channelPostsFlow"))
|
||||||
val FlowsUpdatesFilter.allSentMessagesFlow: Flow<BaseSentMessageUpdate>
|
val FlowsUpdatesFilter.allSentMessagesFlow: Flow<BaseSentMessageUpdate>
|
||||||
get() = merge(
|
get() = merge(
|
||||||
messageFlow,
|
messagesFlow,
|
||||||
channelPostFlow
|
channelPostsFlow
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@Deprecated("Will be removed soon", ReplaceWith("messageMediaGroupsFlow + channelPostMediaGroupsFlow"))
|
||||||
val FlowsUpdatesFilter.allSentMediaGroupsFlow: Flow<SentMediaGroupUpdate>
|
val FlowsUpdatesFilter.allSentMediaGroupsFlow: Flow<SentMediaGroupUpdate>
|
||||||
get() = merge(
|
get() = merge(
|
||||||
messageMediaGroupFlow,
|
messageMediaGroupsFlow,
|
||||||
channelPostMediaGroupFlow
|
channelPostMediaGroupsFlow
|
||||||
)
|
)
|
||||||
|
@ -14,21 +14,21 @@ import kotlinx.coroutines.flow.mapNotNull
|
|||||||
|
|
||||||
@RiskFeature("Use with caution")
|
@RiskFeature("Use with caution")
|
||||||
inline fun FlowsUpdatesFilter.events(): Flow<ChatEventMessage<*>> {
|
inline fun FlowsUpdatesFilter.events(): Flow<ChatEventMessage<*>> {
|
||||||
return channelPostFlow.mapNotNull { it.data as? ChatEventMessage<*> } + messageFlow.mapNotNull { it.data as? ChatEventMessage<*> }
|
return channelPostsFlow.mapNotNull { it.data as? ChatEventMessage<*> } + messagesFlow.mapNotNull { it.data as? ChatEventMessage<*> }
|
||||||
}
|
}
|
||||||
|
|
||||||
@RiskFeature("Use with caution")
|
@RiskFeature("Use with caution")
|
||||||
inline fun FlowsUpdatesFilter.channelEvents(): Flow<ChannelEventMessage<*>> = channelPostFlow.mapNotNull {
|
inline fun FlowsUpdatesFilter.channelEvents(): Flow<ChannelEventMessage<*>> = channelPostsFlow.mapNotNull {
|
||||||
it.data as? ChannelEventMessage<*>
|
it.data as? ChannelEventMessage<*>
|
||||||
}
|
}
|
||||||
|
|
||||||
@RiskFeature("Use with caution")
|
@RiskFeature("Use with caution")
|
||||||
inline fun FlowsUpdatesFilter.groupEvents(): Flow<GroupEventMessage<*>> = messageFlow.mapNotNull {
|
inline fun FlowsUpdatesFilter.groupEvents(): Flow<GroupEventMessage<*>> = messagesFlow.mapNotNull {
|
||||||
it.data as? GroupEventMessage<*>
|
it.data as? GroupEventMessage<*>
|
||||||
}
|
}
|
||||||
|
|
||||||
@RiskFeature("Use with caution")
|
@RiskFeature("Use with caution")
|
||||||
inline fun FlowsUpdatesFilter.supergroupEvents(): Flow<SupergroupEventMessage<*>> = messageFlow.mapNotNull {
|
inline fun FlowsUpdatesFilter.supergroupEvents(): Flow<SupergroupEventMessage<*>> = messagesFlow.mapNotNull {
|
||||||
it.data as? SupergroupEventMessage<*>
|
it.data as? SupergroupEventMessage<*>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,8 +47,8 @@ inline fun <reified T : MediaGroupContent> Flow<SentMediaGroupUpdate>.filterMedi
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param scopeToIncludeChannels This parameter is required when you want to include [textMessages] for channels too.
|
* @param scopeToIncludeChannels This parameter is required when you want to include [textMessages] for channels too.
|
||||||
* In this case will be created new channel which will aggregate messages from [FlowsUpdatesFilter.messageFlow] and
|
* In this case will be created new channel which will aggregate messages from [FlowsUpdatesFilter.messagesFlow] and
|
||||||
* [FlowsUpdatesFilter.channelPostFlow]. In case it is null will be used [Flow]s mapping
|
* [FlowsUpdatesFilter.channelPostsFlow]. In case it is null will be used [Flow]s mapping
|
||||||
*/
|
*/
|
||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
@RiskFeature(lowLevelRiskFeatureMessage)
|
@RiskFeature(lowLevelRiskFeatureMessage)
|
||||||
@ -58,16 +58,16 @@ inline fun <reified T: MessageContent> FlowsUpdatesFilter.filterContentMessages(
|
|||||||
return (scopeToIncludeChannels ?.let { scope ->
|
return (scopeToIncludeChannels ?.let { scope ->
|
||||||
aggregateFlows(
|
aggregateFlows(
|
||||||
scope,
|
scope,
|
||||||
messageFlow,
|
messagesFlow,
|
||||||
channelPostFlow
|
channelPostsFlow
|
||||||
)
|
)
|
||||||
} ?: messageFlow).filterContentMessages()
|
} ?: messagesFlow).filterContentMessages()
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param scopeToIncludeChannels This parameter is required when you want to include [SentMediaGroupUpdate] for channels
|
* @param scopeToIncludeChannels This parameter is required when you want to include [SentMediaGroupUpdate] for channels
|
||||||
* too. In this case will be created new channel which will aggregate messages from [FlowsUpdatesFilter.messageFlow] and
|
* too. In this case will be created new channel which will aggregate messages from [FlowsUpdatesFilter.messagesFlow] and
|
||||||
* [FlowsUpdatesFilter.channelPostFlow]. In case it is null will be used [Flow]s mapping
|
* [FlowsUpdatesFilter.channelPostsFlow]. In case it is null will be used [Flow]s mapping
|
||||||
*/
|
*/
|
||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
@RiskFeature(lowLevelRiskFeatureMessage)
|
@RiskFeature(lowLevelRiskFeatureMessage)
|
||||||
@ -77,10 +77,10 @@ inline fun <reified T: MediaGroupContent> FlowsUpdatesFilter.filterMediaGroupMes
|
|||||||
return (scopeToIncludeChannels ?.let { scope ->
|
return (scopeToIncludeChannels ?.let { scope ->
|
||||||
aggregateFlows(
|
aggregateFlows(
|
||||||
scope,
|
scope,
|
||||||
messageMediaGroupFlow,
|
messageMediaGroupsFlow,
|
||||||
channelPostMediaGroupFlow
|
channelPostMediaGroupsFlow
|
||||||
)
|
)
|
||||||
} ?: messageMediaGroupFlow).filterMediaGroupMessages()
|
} ?: messageMediaGroupsFlow).filterMediaGroupMessages()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun FlowsUpdatesFilter.sentMessages(
|
fun FlowsUpdatesFilter.sentMessages(
|
||||||
|
Loading…
Reference in New Issue
Block a user