Hello everybody :) I have created a small prompt note about exceptions handling and hope that it will help you to find your bugs or investigate some incorrect behaviour 🤞
Forwarded from inmo.dev
InsanusMokrassar/TelegramBotAPI: 0.35.8
•
•
•
•
•
•
filename
• New extension
•
• Fixes in
•
• New extensions
•
Common
:•
Version
:•
MicroUtils
: 0.5.24
-> 0.5.25
•
UUID
: 0.3.0
-> 0.3.1
•
Core
:•
MultipartRequestCallFactory
now will use file name as multipart filename
parameter instead of generatedfilename
• New extension
MPPFile#asMultipartFile
•
API
• Fixes in
TelegramBot#withAction
•
Behaviour Builder
:• New extensions
BehaviourContext#commandWithArgs
and BehaviourContext#onCommandWithArgs
GitHub
Release 0.35.8 · InsanusMokrassar/TelegramBotAPI
Common:
Version:
MicroUtils: 0.5.24 -> 0.5.25
UUID: 0.3.0 -> 0.3.1
Core:
MultipartRequestCallFactory now will use file name as multipart filename parameter instead of generated file id...
Version:
MicroUtils: 0.5.24 -> 0.5.25
UUID: 0.3.0 -> 0.3.1
Core:
MultipartRequestCallFactory now will use file name as multipart filename parameter instead of generated file id...
inmo.dev
InsanusMokrassar/TelegramBotAPI: 0.35.8 • Common: • Version: • MicroUtils: 0.5.24 -> 0.5.25 • UUID: 0.3.0 -> 0.3.1 • Core: • MultipartRequestCallFactory now will use file name as multipart filename parameter instead of generated …
I wished also to note that in context of 0.35.8 update I have changed RandomFileSender example bot - now it may react to arguments (you may pass number of files to send), use an action while sending files, and creating media groups for each chosen files collection (when files for than one 😊 )
GitHub
TelegramBotAPI-examples/RandomFileSenderBot.kt at master · InsanusMokrassar/TelegramBotAPI-examples
This repository contains several examples of simple bots which are using TelegramBotAPI - TelegramBotAPI-examples/RandomFileSenderBot.kt at master · InsanusMokrassar/TelegramBotAPI-examples
Hello :) I am preparing 0.35.9 for release and wished to know, what would you do with old versions of Behaviour Builder extensions. The difference between old and new methods related to using more powerful API in new methods. So, what should we do with old methods?
GitHub
0.35.9 by InsanusMokrassar · Pull Request #461 · InsanusMokrassar/TelegramBotAPI
Deprecate old methods of triggers in behaviour builder
Add KDocs for all new functionality
Done #464
Add KDocs for all new functionality
Done #464
What should we do?
Final Results
86%
Deprecate and remove in near major release
0%
Keep and support/improve
14%
Keep, but mark as potentially deprecated
Hello everybody :) Some time has past since 0.35.9 and it is time to plan 0.36.0. Currently next release should include dependencies updates, deprecations removing and improvements in BehaviourBuilder + FSM relations, but I will be glad to any suggestions 😊
Hello everybody :) our project plan to participate in hacktoberfest this year and you may suggest something that community may improve in library or even realize some improvements :)
Telegraph
# Kotlin Community + Hacktoberfest 2021
It's that time of the year again! Hacktoberfest 2021 is up and running! As a good tradition, we've decided to highlight the projects of our community members. Feel free to pick something interesting from the list, or get in touch via Kotlin Community Meta…
Which features do you use in your projects?
Final Results
50%
Entities DSL
90%
API extensions (like sendMessage)
50%
Behaviour Builder (Behaviour Context, etc.)
40%
Utils extensions (like ContentMessage.withContent)
70%
ClassCasts (like asContentMessage)
30%
Actions DSL (withTypingAction)
20%
LiveLocation DSL (startLiveLocation)
10%
Low level API (using of execute, overwriting of request factories, etc.)
40%
Serialization of tgbotapi types
Hello :) Currently in 0.36.0 I am preparing special version of BehaviourBuilder with FSM. How do you think, it would be better to include FSM in common BehaviourBuilder or create new extension with FSM?
Final Results
50%
New package with FSM - to avoid explicit things including if you want not to use FSM
50%
Including FSM in old BehaviourBuilder - to avoid new packages and enhance logic of standard builder
FromUser improvements · Issue #484 · InsanusMokrassar/TelegramBotAPI
https://github.com/InsanusMokrassar/TelegramBotAPI/issues/484
https://github.com/InsanusMokrassar/TelegramBotAPI/issues/484
GitHub
FromUser improvements · Issue #484 · InsanusMokrassar/TelegramBotAPI
Check that all types with users implement FromUser Possibly, create type WithUser for cases when user is stored in field user instead of from Update class casts
New version
• As always, all deprecations have been removed
• New packages for extensions 😊 now you may write
• New keyboard DSL: say goodbye to
• New type
Besides, I recommend you to read a small note about flows and changes of mechanisms inside of behaviour builder and full changelog if you want to know all news
0.36.0
has been released and it contains a lot of important changes:• As always, all deprecations have been removed
• New packages for extensions 😊 now you may write
tgbotapi.api
instead tgboatpi.extensions.api
and similarly for all other extensions. Old packages will be available until next major release• New keyboard DSL: say goodbye to
ReplyKeyboardMarkup(matrix { row { ... } })
and hello to replyKeyboard { row { simpleButton("") } }
• New integration of FSM into Behaviour Builder in new package tgbotapi.behaviour_builder.fsm
: in this realization taken attention for more closed work with FSM inside of telegram bots• New type
WithUser
. Now FromUser
is extending WithUser
and any tgbotapi type with user implements type WithUser
. It is imortant, that constructors of classes-implementors of FromUser
has changed their incoming parameters names from user
to from
due to renames inside of FromUser
, but you still may use user
field for FromUser
objectsBesides, I recommend you to read a small note about flows and changes of mechanisms inside of behaviour builder and full changelog if you want to know all news
Telegraph
Changes in BehaviourBuilder triggers and new FSM extension
First of all, lets meet: I am maintainer of TelegramBotAPI. It is a framework which allow you to use telegram bots almost everywhere where you are able to run Kotlin (currently excluding native, but I hope it will be changed with Kotlin Native release). Some…
Hello :) currently @djaler is preparing improvement for Entities Builder. This improvement will add
separator
TextSource
to EntitiesBuilder which will be automatically added between incoming text sources automatically. We faced with one important moment: we want to reuse separator in sub builders, BUT we are not sure how to make it good. There are several options we found:GitHub
Build entities separator by Djaler · Pull Request #486 · InsanusMokrassar/TelegramBotAPI
Option to specify a separator in buildEntities to insert between every entities
For some explanation:
buildEntities variant:
Should print "Some bold and italic and regular"
Second variant mostly about renaming
Of course, your solutions are welcome too
buildEntities variant:
buildEntities {
bold(
buildEntities { +"Some bold" + italic("and italic") }
)
+ "and regular"
}
Should print "Some bold and italic and regular"
Second variant mostly about renaming
buildEntities
extension in the example to make it more obvious (it is not very predictive on first try that the second buildEntities
will reuse its parent separator)Of course, your solutions are welcome too
Hello :) thanks to @djaler, we can meet 0.36.1 version with fixes in behaviour builder commands and new opportunity in entities builder - usage of separator and inheritage of it in subentities (like bold { })
GitHub
Release 0.36.1 · InsanusMokrassar/TelegramBotAPI
Common:
Version:
MicroUtils: 0.7.2 -> 0.7.3
API:
Fix getMyCommands overloads conflict when no arguments provided
Utils:
buildEntities DSL now have parameter separator to specify TextSo...
Version:
MicroUtils: 0.7.2 -> 0.7.3
API:
Fix getMyCommands overloads conflict when no arguments provided
Utils:
buildEntities DSL now have parameter separator to specify TextSo...
Hello :) as you know, Telegram Bot API 5.4 has been introduced and becides I had updated FSM in my microutils libs. Due to these updates it was solved to:
• Make new major version
• Make breaking changes in FSM subproject
• Of course, implement telegram bot api 5.4 😊
Due to changes in FSM, it is not recommended to start some project with that. I plan to release new version in one week (ideally, this monday), so, I hope that the delay will not be big :)
• Make new major version
• Make breaking changes in FSM subproject
• Of course, implement telegram bot api 5.4 😊
Due to changes in FSM, it is not recommended to start some project with that. I plan to release new version in one week (ideally, this monday), so, I hope that the delay will not be big :)
Which JVM do you use in your bots?
Anonymous Poll
25%
Android :)
25%
8 (1.8)
0%
9
6%
10
63%
11
44%
>11